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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x43f8f8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x58
mov eax, dword [0x458e40]
push ebx
push esi
push edi
mov edi, ecx
movzx ecx, word [edi + 0x18]
mov dword [esp + 0x5c], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0xc], eax
mov dword [esp + 0x18], ecx
call fcn.00404a40
mov edx, dword [eax + 0x28]
mov dword [esp + 0x28], edx
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x1c]
or ecx, 0xffffffff
dec eax
mov dword [edi + 0x14], ecx
je 0x4172fd
dec eax
je 0x4172eb
mov dword [esp + 0x24], 0x19
mov dword [esp + 0x14], ecx
jmp 0x41730d
mov dword [esp + 0x24], 0xd
mov dword [esp + 0x14], 0x19
jmp 0x41730d
mov dword [esp + 0x24], 0
mov dword [esp + 0x14], 0xe
mov eax, 0x3f
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov edi, edi
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov dword [esp + 0x10], ecx
mov esi, 0xd
nop
cmp ecx, 0x18
jge 0x41737c
mov dword [esp + 0x34], eax
add eax, 0x5a
lea edx, [esp + 0x30]
mov dword [esp + 0x3c], eax
push edx
lea eax, [esp + 0x2c]
lea ecx, [esi + 0x78]
push eax
mov dword [esp + 0x38], esi
mov dword [esp + 0x40], ecx
call fcn.00401000
add esp, 8
test eax, eax
je 0x417378
mov ecx, dword [esp + 0x20]
lea eax, [ecx + ebx + 1]
cmp eax, dword [esp + 0x24]
jle 0x417378
cmp eax, dword [esp + 0x14]
jge 0x417378
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
inc ebx
inc ecx
add esi, 0x69
cmp esi, 0x21a
mov dword [esp + 0x10], ecx
jl 0x417330
add eax, 0x60
cmp eax, 0x21f
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], eax
jl 0x417320
push 0x249
push 0x30c
push 0x21f
push 0x2e1
lea edx, [esp + 0x40]
push edx
call dword [sym.imp.USER32.dll_SetRect]
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x2c]
push ecx
call fcn.00401000
add esp, 8
test eax, eax
je 0x4173e3
mov dword [edi + 0x14], 0x1d
mov eax, dword [edi + 0x14]
cmp eax, 0xffffffff
jle 0x41742f
cmp dword [esp + 0xc], eax
je 0x41742f
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x28], esp
xor ebx, ebx
push 0x11
mov esi, 0xf
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push 0x441454
mov byte [ecx + 4], bl
call fcn.00403270
mov dword [esp + 0x88], 0xffffffff
call fcn.00421230
mov ecx, eax
call fcn.00421480
jmp 0x417436
xor ebx, ebx
mov esi, 0xf
call fcn.00404a40
mov eax, dword [eax + 4]
cmp eax, ebx
je 0x4176bb
push 0x6a
push 0x31f
push 0x45
push 0x248
lea edx, [esp + 0x40]
push edx
call dword [sym.imp.USER32.dll_SetRect]
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x2c]
push ecx
call fcn.00401000
add esp, 8
test eax, eax
je 0x41747c
mov dword [edi + 0x1c], 1
push 0x95
push 0x31f
push 0x70
push 0x248
lea edx, [esp + 0x40]
push edx
call dword [sym.imp.USER32.dll_SetRect]
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x2c]
push ecx
call fcn.00401000
add esp, 8
test eax, eax
je 0x4174b5
mov dword [edi + 0x1c], 2
mov eax, dword [edi + 0x14]
cmp eax, 0xffffffff
jle 0x4176bb
cmp eax, 0x1d
jne 0x417508
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x28], esp
mov dword [edi + 4], 0x15
push 0x11
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push 0x441468
mov byte [ecx + 4], 0
call fcn.00403270
mov dword [esp + 0x88], 0xffffffff
call fcn.00421230
mov ecx, eax
call fcn.00421480
jmp 0x4176bb
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], 0
lea edx, [esp + 0x44]
push edx
mov eax, edx
push eax
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x78], 2
call fcn.004026f0
mov eax, dword [edi + 0x14]
dec eax
cmp eax, 0x17
ja case.default.0x417540
jmp dword [eax*4 + 0x417738]
push 0x441df8
jmp 0x4175fc
push 0x441dec
jmp 0x4175fc
push 0x441de0
jmp 0x4175fc
push 0x441dd4
jmp 0x4175fc
push 0x441dc8
jmp 0x4175fc
push 0x441dbc
jmp 0x4175fc
push 0x441db0
jmp 0x4175fc
push 0x441da4
jmp 0x4175fc
push 0x441d98
jmp 0x4175fc
push 0x441d8c
jmp 0x4175fc
push 0x441d80
jmp 0x4175fc
push 0x441d74
jmp 0x4175fc
push 0x441d68
jmp 0x4175fc
push 0x441d5c
jmp 0x4175fc
push 0x441d50
jmp 0x4175fc
push 0x441d44
jmp 0x4175fc
push 0x441d38
jmp 0x4175fc
push 0x441d2c
jmp 0x4175fc
push 0x441d20
jmp 0x4175fc
push 0x441d14
jmp 0x4175fc
push 0x441d08
jmp 0x4175fc
push 0x441cfc
jmp 0x4175fc
push 0x441cf0
jmp 0x4175fc
push 0x441ce4
lea ecx, [esp + 0x44]
call fcn.004033e0
movzx eax, word [edi + 0x18]
lea edx, [eax + eax*2]
mov esi, dword [edi + edx*4 + 0x13e114]
lea ecx, [edi + edx*4 + 0x13e110]
lea eax, [esp + 0x40]
push eax
lea edx, [esp + 0x14]
push edx
call fcn.00408e40
cmp dword [eax], esi
je 0x417689
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x11
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push 0x441468
mov byte [ecx + 4], 0
call fcn.00403270
mov byte [esp + 0x88], 2
call fcn.00421230
mov ecx, eax
call fcn.00421480
cmp dword [esp + 0x58], 0x10
mov dword [edi + 4], 0x13
jb 0x41767f
mov eax, dword [esp + 0x44]
push eax
call fcn.00433080
add esp, 4
mov eax, 1
jmp 0x41771c
cmp dword [esp + 0x58], 0x10
mov dword [esp + 0x6c], 0xffffffff
jb 0x4176a5
mov ecx, dword [esp + 0x44]
push ecx
call fcn.00433080
add esp, 4
mov dword [esp + 0x58], 0xf
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], 0
mov esi, 0xf
movzx edx, word [edi + 0x18]
cmp edx, dword [esp + 0x18]
je 0x4176fb
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x11
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push 0x441468
mov byte [ecx + 4], 0
call fcn.00403270
mov dword [esp + 0x88], 0xffffffff
call fcn.00421230
mov ecx, eax
call fcn.00421480
call fcn.00404a40
cmp dword [eax + 8], ebx
je 0x41771a
mov dword [edi + 4], 0x15
mov dword [edi + 0x14], 0x1d
mov eax, 1
jmp 0x41771c
xor eax, eax
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x5c]
call fcn.004332fd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret