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

Disassembly:
sub esp, 0x260
mov eax, dword [esp + 0x264]
mov ecx, dword [eax + 0x10]
push ebx
push ebp
push esi
push edi
push 0x3e9
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
xor ebp, ebp
push ebp
push ebp
mov esi, eax
push 0x1009
push esi
mov dword [esp + 0x24], esi
call ebx
push 0x26
push ebp
push 0x1036
push esi
call ebx
push ebp
push ebp
push 0x101c
push esi
call ebx
test eax, eax
jne 0x479943
push ebp
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
push 0x5a
push edi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push edi
push ebp
mov esi, eax
call dword [sym.imp.USER32.dll_ReleaseDC]
imul esi, esi, 0xc8
mov eax, 0xaaaaaaab
mul esi
mov esi, dword [esp + 0x14]
shr edx, 6
mov dword [esp + 0x58], edx
lea edx, [esp + 0x50]
push edx
push ebp
push 0x1061
push esi
mov dword [esp + 0x60], 6
mov dword [esp + 0x64], ebp
mov dword [esp + 0x6c], 0x47c518
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], ebp
call ebx
mov eax, dword [esp + 0x274]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + 4]
cmp ecx, ebp
mov edi, dword [eax]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], ebp
jle 0x479b2a
xor esi, esi
mov dword [esp + 0x1c], ebp
jmp 0x4799f4
mov edi, dword [esp + 0x20]
xor esi, esi
mov dword [esp + 0x1c], ebp
jmp 0x4799f4
mov edi, dword [esp + 0x20]
movsx ecx, word [edi + esi*4 + 2]
cmp ecx, dword [esp + 0x18]
jne 0x479aff
push 0x1fe
lea edx, [esp + 0x76]
push ebp
push edx
mov word [esp + 0x7c], bp
call sub.msvcrt.dll_memset
mov eax, dword [esp + 0x280]
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx + 8]
add esp, 0xc
lea ecx, [esp + 0x50]
push ecx
push esi
push 0x105f
lea edx, [esp + 0x7c]
push eax
mov dword [esp + 0x60], 4
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], 0xff
call ebx
test eax, eax
je 0x479aff
lea edx, [esp + 0x70]
mov eax, edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x28], 5
mov dword [esp + 0x2c], 0xffff
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x479a80
mov ecx, dword [esp + 0x14]
sub eax, edx
sar eax, 1
mov dword [esp + 0x40], eax
lea eax, [esp + 0x28]
push eax
push ebp
push 0x104d
push ecx
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], ebp
call ebx
movsx edi, word [edi + esi*4]
xor edx, edx
cmp edi, ebp
setg dl
lea ecx, [esp + 0x28]
push ecx
push eax
push 0x102b
mov dword [esp + 0x44], 0xf000
add edx, 1
shl edx, 0xc
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x20]
push edx
call ebx
cmp edi, ebp
jne 0x479aff
mov eax, dword [esp + 0x274]
mov ecx, dword [eax + 0x44]
mov edx, dword [esp + 0x1c]
mov ax, word [ecx + edx + 0xc]
mov ecx, dword [esp + 0x20]
mov word [ecx + esi*4], ax
mov eax, dword [esp + 0x24]
add dword [esp + 0x1c], 0x14
add esi, 1
cmp esi, eax
jl 0x4799f0
mov ecx, dword [esp + 0x18]
add ecx, 1
cmp ecx, eax
mov dword [esp + 0x18], ecx
jl 0x4799e2
mov esi, dword [esp + 0x14]
lea edx, [esp + 0x28]
push edx
push ebp
mov eax, 2
push 0x102b
push esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], eax
call ebx
push esi
call dword [sym.imp.USER32.dll_SetFocus]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x260
ret 4