Function at 0x47d7c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xd4
mov ebp, dword [esp + 0xec]
mov eax, dword [0x8e4a3c]
xor eax, esp
mov dword [esp + 0xd0], eax
cmp byte [ebp + 0x1a], 3
jb 0x47d896
mov eax, dword [ebp]
mov dword [esp], eax
test eax, eax
je 0x47d86d
mov eax, dword [esp + 0xe8]
cmp dword [eax + 0x1c], 0
je 0x47d87b
mov ebx, dword [esp + 0xf4]
movups xmm0, xmmword [ebp]
movups xmm1, xmmword [ebp + 0x10]
movups xmmword [esp + 0x88], xmm1
movups xmmword [esp + 0x78], xmm0
test ebx, ebx
je 0x47d896
cmp byte [ebx], 0
je 0x47d896
mov esi, dword [esp + 0xf0]
lea eax, [esp + 0x70]
mov ecx, dword [esp + 0xe8]
push dword [ecx + 8]
push esi
push eax
call fcn.004ad190
add esp, 0xc
test al, al
je 0x47d896
mov eax, dword [ebp + 0x1c]
test al, al
mov ecx, 1
cmovne ecx, eax
mov dword [esp + 0x2c], ecx
movzx eax, byte [ebp + 0x1d]
test al, 2
jne 0x47d8af
movzx eax, word [esi + 4]
movzx ecx, word [esi]
sub eax, ecx
inc eax
jmp 0x47d8e8
push str.dsc__font__NULL
push str.lv_draw_label
push 0x52
jmp 0x47d887
push str.draw__draw_letter__NULL__there_is_no_function_to_draw_letters_
push str.lv_draw_label
push 0x57
push str.....lvgl_srcdrawlv_draw_label.c
push 2
call fcn.004ae560
add esp, 0x14
mov ecx, dword [esp + 0xd0]
xor ecx, esp
call fcn.004c0e60
add esp, 0xd4
pop esi
pop edi
pop ebx
pop ebp
ret
movsx ecx, word [ebp + 0x12]
movsx edx, word [ebp + 0x14]
movzx eax, al
lea esi, [esp + 0x98]
push eax
push 0x1fff
push ecx
push edx
push dword [ebp]
push ebx
push esi
mov esi, dword [esp + 0x10c]
call fcn.004b1fa0
add esp, 0x1c
movzx eax, word [esp + 0x98]
movzx ecx, word [esi]
mov edx, dword [esp]
movsx edi, word [edx + 8]
movsx edx, word [ebp + 0x12]
mov dword [esp + 0x18], edi
add edx, edi
mov dword [esp + 0x20], edx
mov word [esp + 0x6c], cx
movzx edx, word [esi + 2]
movzx ecx, word [ebp + 0x16]
mov dword [esp + 0x40], ecx
mov esi, dword [ebp + 0x18]
lea ecx, [esi + edx]
mov word [esp + 0x6e], cx
xor edi, edi
mov ebx, dword [esp + 0xf8]
test ebx, ebx
je 0x47d969
test si, si
jne 0x47d969
test dx, dx
jns 0x47d969
movsx edx, dx
mov esi, dword [ebx + 8]
sub esi, edx
mov edx, esi
neg edx
cmovs edx, esi
mov esi, dword [esp + 0x20]
add esi, esi
mov ebp, 0x400
sub ebp, esi
cmp edx, ebp
jle 0x47d958
mov dword [ebx], 0xffffffff
jmp 0x47d969
mov edx, dword [ebx]
test edx, edx
js 0x47d969
add cx, word [ebx + 4]
mov word [esp + 0x6e], cx
mov edi, edx
mov edx, dword [esp + 0xec]
movzx ecx, byte [edx + 0x1d]
movsx edx, word [edx + 0x14]
mov esi, dword [esp + 0xf4]
add esi, edi
cwde
push ecx
push 0
mov dword [esp + 0x38], eax
push eax
push edx
push dword [esp + 0x10]
push esi
call fcn.004b20e0
add esp, 0x18
mov esi, eax
add esi, edi
movsx eax, word [esp + 0x6e]
nop word cs:[eax + eax]
add eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xe8]
mov ecx, dword [ecx + 8]
movsx ecx, word [ecx + 2]
cmp eax, ecx
jge 0x47da61
mov edi, esi
mov ecx, dword [esp + 0xec]
movzx eax, byte [ecx + 0x1d]
movsx ecx, word [ecx + 0x14]
mov edx, dword [esp + 0xf4]
lea ebp, [edx + esi]
push eax
push 0
push dword [esp + 0x38]
push ecx
push dword [esp + 0x10]
push ebp
call fcn.004b20e0
add esp, 0x18
mov esi, eax
movzx eax, word [esp + 0x6e]
add ax, word [esp + 0x20]
mov word [esp + 0x6e], ax
cwde
test ebx, ebx
je 0x47da50
cmp eax, 0xfffffc00
jl 0x47da50
cmp dword [ebx], 0
jns 0x47da50
mov dword [ebx], edi
mov ebx, dword [esp + 0xf0]
movsx ecx, word [ebx + 2]
mov edx, eax
sub edx, ecx
mov ecx, dword [esp + 0xf8]
mov dword [ecx + 4], edx
movsx ecx, word [ebx + 2]
mov ebx, dword [esp + 0xf8]
mov dword [ebx + 8], ecx
nop word cs:[eax + eax]
cmp byte [ebp], 0
je 0x47d896
add esi, edi
jmp 0x47d9b0
mov eax, dword [esp + 0x2c]
movzx ecx, al
cmp al, 3
mov dword [esp + 0x14], edi
mov dword [esp + 0x3c], ecx
je 0x47dad9
cmp ecx, 2
mov edi, dword [esp + 0xec]
mov ebx, dword [esp + 0xf4]
jne 0x47db24
movzx eax, byte [edi + 0x1d]
movsx ecx, word [edi + 0x14]
mov edx, esi
mov edi, dword [esp + 0x14]
sub edx, edi
add edi, ebx
push eax
push ecx
push dword [esp + 8]
push edx
push edi
mov edi, dword [esp + 0x100]
call fcn.004b24b0
add esp, 0x14
cwde
mov edx, dword [esp + 0xf0]
movzx ecx, word [edx + 4]
sub cx, word [edx]
inc ecx
movsx ecx, cx
sub ecx, eax
mov eax, ecx
shr eax, 0x1f
add eax, ecx
shr eax, 1
add word [esp + 0x6c], ax
jmp 0x47db24
mov ebp, dword [esp + 0xec]
movzx ecx, byte [ebp + 0x1d]
movsx ebx, word [ebp + 0x14]
mov edx, esi
sub edx, edi
mov eax, edi
mov edi, dword [esp + 0xf4]
add edi, eax
push ecx
push ebx
push dword [esp + 8]
push edx
push edi
mov edi, ebp
call fcn.004b24b0
add esp, 0x14
mov edx, dword [esp + 0xf0]
movzx ecx, word [edx + 4]
add ax, word [edx]
sub ecx, eax
add cx, word [esp + 0x6c]
inc ecx
mov word [esp + 0x6c], cx
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
cmp eax, ecx
mov edx, ecx
cmova edx, eax
mov dword [esp + 0x34], edx
cmovb ecx, eax
mov dword [esp + 0x38], ecx
test byte [edi + 0x1e], 3
je 0x47db90
lea eax, [esp + 0x60]
push eax
call fcn.0047e2e0
add esp, 4
movzx eax, word [edi + 0xc]
mov word [esp + 0x60], ax
mov eax, dword [esp]
movzx eax, byte [eax + 0xe]
test al, al
mov ecx, 1
cmovne ecx, eax
movsx eax, cl
mov word [esp + 0x62], ax
movzx eax, byte [edi + 0x1a]
mov byte [esp + 0x68], al
movzx eax, byte [edi + 0x1e]
shr al, 3
movzx ecx, byte [esp + 0x69]
and al, 3
and cl, 0xfc
or cl, al
mov byte [esp + 0x69], cl
lea eax, [esp + 0x98]
push eax
call fcn.00480110
add esp, 4
movzx eax, word [edi + 0x10]
mov word [esp + 0x9c], ax
movzx ecx, word [esp + 0x6c]
cmp dword [esp + 0x38], 0xffff
setne al
cmp dword [esp + 0x34], 0xffff
setne dl
and dl, al
mov byte [esp + 0x18], dl
mov eax, dword [esp + 0x20]
dec eax
mov dword [esp + 0x44], eax
mov dword [esp + 4], 0
mov word [esp + 0x1e], cx
mov dword [esp + 8], 0
xor ebp, ebp
mov ebx, dword [esp + 0x14]
jmp 0x47dc5d
mov ecx, dword [esp + 0xec]
movzx eax, byte [ecx + 0x1d]
movsx ecx, word [ecx + 0x14]
push eax
push ecx
push dword [esp + 8]
push esi
push edi
call fcn.004b24b0
add esp, 0x14
mov edx, dword [esp + 0xf0]
movzx ecx, word [edx + 4]
add ax, word [edx]
sub ecx, eax
add cx, word [esp + 0x6c]
inc ecx
mov word [esp + 0x6c], cx
mov ebx, dword [esp + 0x14]
add esi, ebx
movzx eax, word [esp + 0x6e]
add ax, word [esp + 0x20]
mov word [esp + 0x6e], ax
mov edx, dword [esp + 0xe8]
mov edx, dword [edx + 8]
cmp ax, word [edx + 6]
mov edi, dword [esp + 0xec]
jg 0x47d896
mov eax, dword [esp + 0xf4]
cmp byte [eax + ebx], 0
je 0x47d896
add ecx, dword [esp + 0x40]
mov word [esp + 0x6c], cx
mov dword [esp + 0x5c], 0
mov eax, esi
mov dword [esp + 0x14], esi
sub esi, ebx
jne 0x47de00
movzx eax, byte [edi + 0x1e]
test al, 2
je 0x47dd04
movzx eax, word [esp + 0x1e]
mov word [esp + 0x4c], ax
mov eax, dword [edi]
movzx eax, word [eax + 8]
mov ecx, eax
shr ecx, 0xf
add ecx, eax
movsx eax, cx
shr eax, 1
add ax, word [esp + 0x6e]
movzx ecx, word [esp + 0x62]
mov edx, ecx
shr edx, 0xf
add edx, ecx
movsx ecx, dx
sar ecx, 1
add ecx, eax
mov word [esp + 0x4e], cx
movzx eax, word [esp + 0x6c]
mov word [esp + 0x58], ax
mov word [esp + 0x5a], cx
mov word [esp + 0x60], bp
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x68]
push eax
push dword [esp + 0xf4]
call fcn.0047e300
add esp, 0x10
movzx eax, byte [edi + 0x1e]
test al, 1
mov ebx, dword [esp + 0xf4]
je 0x47dd68
movzx eax, word [esp + 0x1e]
mov word [esp + 0x4c], ax
mov ecx, dword [edi]
movzx eax, word [ecx + 8]
mov edx, dword [esp]
movsx edx, byte [edx + 0xd]
add ax, word [esp + 0x6e]
add dx, word [ecx + 0xa]
sub eax, edx
mov word [esp + 0x4e], ax
movzx ecx, word [esp + 0x6c]
mov word [esp + 0x58], cx
mov word [esp + 0x5a], ax
mov word [esp + 0x60], bp
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x68]
push eax
push dword [esp + 0xf4]
call fcn.0047e300
add esp, 0x10
movzx eax, byte [edi + 0x1d]
movsx ecx, word [edi + 0x14]
mov edx, dword [esp + 0x14]
lea edi, [ebx + edx]
push eax
push 0
push dword [esp + 0x38]
push ecx
push dword [esp + 0x10]
push edi
call fcn.004b20e0
add esp, 0x18
mov esi, eax
mov eax, dword [esp + 0xf0]
movzx ecx, word [eax]
mov word [esp + 0x6c], cx
cmp byte [esp + 0x2c], 3
je 0x47dbf3
cmp dword [esp + 0x3c], 2
jne 0x47dc2d
mov ecx, dword [esp + 0xec]
movzx eax, byte [ecx + 0x1d]
movsx ecx, word [ecx + 0x14]
push eax
push ecx
push dword [esp + 8]
push esi
push edi
call fcn.004b24b0
add esp, 0x14
cwde
mov edx, dword [esp + 0xf0]
movzx ecx, word [edx + 4]
sub cx, word [edx]
inc ecx
movsx edx, cx
sub edx, eax
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
shr ecx, 1
add cx, word [esp + 0x6c]
jmp 0x47dc28
mov dword [esp + 0x48], ebx
mov eax, dword [esp + 0xf4]
add eax, ebx
mov dword [esp + 0xc], eax
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x10], esi
jmp 0x47de42
mov eax, dword [esp + 0xec]
add di, word [eax + 0x14]
add word [esp + 0x6c], di
mov edi, eax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x5c]
cmp eax, esi
jae 0x47dc8d
mov esi, 0
cmp byte [esp + 0x18], 0
je 0x47de65
add eax, dword [esp + 0x48]
push eax
push dword [esp + 0xf8]
call dword [0x664a10]
add esp, 8
mov esi, eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x18]
call fcn.004b2600
add esp, 0x10
test byte [edi + 0x1d], 1
mov eax, dword [esp + 0x58]
je 0x47df30
cmp eax, 0x23
jne 0x47ded0
xor ecx, ecx
cmp bl, 2
je 0x47e003
movzx eax, bl
cmp eax, 1
je 0x47df3f
mov ecx, ebx
test eax, eax
jne 0x47df3f
mov bl, 1
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
jmp 0x47de32
cmp bl, 1
jne 0x47df30
mov bl, 1
cmp eax, 0x20
jne 0x47de32
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 4]
sub eax, edx
cmp eax, 7
jne 0x47e00a
mov esi, dword [esp + 0xc]
movzx eax, byte [esi + edx]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
jb 0x47e015
mov ecx, eax
add cl, 0xe0
cmp al, 0x61
movzx eax, al
movzx ecx, cl
cmovl ecx, eax
movsx ecx, cl
add ecx, 0xffffffbf
cmp ecx, 5
ja 0x47e013
add cl, 0xa
jmp 0x47e015
mov ebp, dword [esp + 8]
cmp bl, 2
je 0x47df50
movzx ebp, word [edi + 0xc]
jmp 0x47df50
movzx ebp, word [edi + 0xc]
mov eax, 0x23
mov ebx, ecx
nop word [eax + eax]
push dword [esp + 0x54]
push eax
push dword [esp + 8]
call fcn.004ab140
add esp, 0xc
mov edi, eax
cmp esi, dword [esp + 0x38]
setae al
and al, byte [esp + 0x18]
cmp al, 1
jne 0x47dfc7
cmp esi, dword [esp + 0x34]
jae 0x47dfc7
mov ecx, dword [esp + 0x6c]
mov word [esp + 0x4c], cx
movzx eax, word [esp + 0x6e]
mov word [esp + 0x4e], ax
add ecx, edi
mov esi, dword [esp + 0xec]
add cx, word [esi + 0x14]
dec ecx
mov word [esp + 0x50], cx
add eax, dword [esp + 0x44]
mov word [esp + 0x52], ax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x9c]
push eax
push dword [esp + 0xf0]
call fcn.00480170
add esp, 0xc
movzx ebp, word [esi + 0xe]
mov word [esp + 0x84], bp
push dword [esp + 0x58]
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x80]
push eax
mov eax, dword [esp + 0xf4]
push eax
call dword [eax + 0x1c]
add esp, 0x10
test di, di
jne 0x47de20
mov edi, dword [esp + 0xec]
jmp 0x47de32
xor ebx, ebx
jmp 0x47de32
movzx eax, word [edi + 0xc]
jmp 0x47e182
xor ecx, ecx
mov dword [esp + 0x24], ecx
movzx eax, byte [esi + edx + 1]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
jb 0x47e04a
mov ecx, eax
add cl, 0xe0
cmp al, 0x61
movzx eax, al
movzx ecx, cl
cmovl ecx, eax
movsx ecx, cl
add ecx, 0xffffffbf
cmp ecx, 5
ja 0x47e048
add cl, 0xa
jmp 0x47e04a
xor ecx, ecx
mov dword [esp + 0x28], ecx
movzx eax, byte [esi + edx + 2]
mov ebx, edx
mov edx, eax
add dl, 0xd0
cmp dl, 0xa
jb 0x47e089
mov ecx, eax
add cl, 0xe0
cmp al, 0x61
movzx eax, al
movzx ecx, cl
cmovl ecx, eax
movsx edx, cl
add edx, 0xffffffbf
cmp edx, 5
ja 0x47e07f
add dl, 0xa
jmp 0x47e081
xor edx, edx
mov ebx, dword [esp + 4]
mov esi, dword [esp + 0xc]
movzx eax, byte [esi + ebx + 3]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
jb 0x47e0c2
mov ecx, eax
add cl, 0xe0
cmp al, 0x61
movzx eax, al
movzx ecx, cl
cmovl ecx, eax
movsx ecx, cl
add ecx, 0xffffffbf
cmp ecx, 5
ja 0x47e0b8
add cl, 0xa
jmp 0x47e0ba
xor ecx, ecx
mov ebx, dword [esp + 4]
mov esi, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov eax, ebx
mov ebx, dword [esp + 0x24]
shl bl, 4
shl dl, 4
mov dword [esp + 4], eax
movzx eax, byte [esi + eax + 4]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
mov dword [esp + 0x24], edx
jb 0x47e10f
mov ecx, eax
add cl, 0xe0
cmp al, 0x61
movzx eax, al
movzx ecx, cl
cmovl ecx, eax
movsx ecx, cl
add ecx, 0xffffffbf
cmp ecx, 5
ja 0x47e109
add cl, 0xa
jmp 0x47e10b
xor ecx, ecx
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x28]
or dl, bl
mov eax, dword [esp + 4]
movzx ebx, byte [esi + eax + 5]
mov eax, dword [esp + 8]
or al, byte [esp + 0x24]
shl cl, 4
mov byte [esp + 0x28], bl
add bl, 0xd0
cmp bl, 0xa
jb 0x47e164
mov dword [esp + 8], eax
movzx eax, byte [esp + 0x28]
mov ah, al
add ah, 0xe0
cmp al, 0x61
movzx esi, al
movzx eax, ah
cmovl eax, esi
movsx ebx, al
add ebx, 0xffffffbf
cmp ebx, 5
ja 0x47e15e
add bl, 0xa
jmp 0x47e160
xor ebx, ebx
mov eax, dword [esp + 8]
or bl, cl
shr bl, 3
movzx esi, bl
shr al, 2
movzx ecx, al
shl ecx, 5
or ecx, esi
shr dl, 3
movzx eax, dl
shl eax, 0xb
or eax, ecx
mov dword [esp + 8], eax
mov bl, 2
jmp 0x47de32