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

Disassembly:
sub esp, 0x88
push ebx
push ebp
mov ebp, dword [esp + 0x9c]
push esi
mov esi, dword [esp + 0xa4]
push edi
mov edi, dword [esp + 0xa0]
mov ebx, ecx
cmp edi, 0x202
ja 0x481ca2
cmp edi, 0x202
je 0x481c72
cmp edi, 0x101
ja 0x481754
je 0x481737
lea eax, [edi - 5]
cmp eax, 0xfb
ja case.default.0x48228d
xor ecx, ecx
mov cl, byte [eax + 0x482414]
jmp dword [ecx*4 + 0x4823f4]
mov ecx, ebx
call fcn.004829e0
jmp case.default.0x48228d
push 1
mov ecx, ebx
call fcn.004609e0
jmp case.default.0x48228d
push 0
mov ecx, ebx
call fcn.004609e0
jmp case.default.0x48228d
cmp si, 1
jne case.default.0x48228d
mov ebp, dword [ebx]
mov ecx, ebx
call fcn.00466970
push eax
mov ecx, ebx
call dword [ebp + 0x44]
test eax, eax
je 0x481ab6
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x88
ret 0x10
push 1
push ebp
lea ecx, [esp + 0x3c]
call fcn.0047fbf0
mov edx, dword [ebx]
lea eax, [esp + 0x34]
push eax
mov ecx, ebx
call dword [edx + 0xc]
jmp case.default.0x48228d
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0x9c]
push ecx
push edx
push edi
push eax
call dword [ebx + 0x11d4]
mov ecx, ebx
mov esi, eax
call fcn.00458a50
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 0x10
push 1
push ebp
lea ecx, [esp + 0x3c]
call fcn.0047fbf0
mov edx, dword [ebx]
lea eax, [esp + 0x34]
push eax
mov ecx, ebx
call dword [edx + 8]
jmp case.default.0x48228d
cmp edi, 0x113
ja 0x481bf8
je 0x4820bc
mov eax, edi
sub eax, 0x102
je 0x481bbe
sub eax, 0xd
je 0x481b01
sub eax, 2
jne case.default.0x48228d
mov eax, ebp
and eax, 0xffff
cmp eax, 0x4e4c
jg 0x481927
je 0x48190d
add eax, 0xffffb1c7
cmp eax, 0x12
ja case.default.0x48228d
jmp dword [eax*4 + 0x482510]
mov eax, dword [ebx + 0x2c]
test eax, eax
jne 0x4817d2
push 1
lea ecx, [ebx + 8]
call fcn.0044cc20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
lea ecx, [ebx + 8]
call fcn.0044cc60
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
push 0
mov ecx, ebx
call fcn.0045c550
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
push 1
mov ecx, ebx
call fcn.0045c550
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
push 2
mov ecx, ebx
call fcn.0045c550
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
mov eax, dword [ebx + 0x30]
xor ecx, ecx
test eax, eax
sete cl
pop edi
pop esi
mov dword [ebx + 0x30], ecx
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
lea edx, [ebx + 0x11cc]
mov ecx, ebx
push edx
push 0x8000
call fcn.00458520
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
push 0
push 0x8000
mov ecx, ebx
call fcn.00458520
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
push 0
push 0x20000
mov ecx, ebx
call fcn.00458520
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
mov ecx, ebx
call fcn.004586b0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
mov eax, dword [ebx + 0x54]
mov ecx, ebx
inc eax
push eax
call fcn.00458a20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
mov ecx, dword [ebx + 0x54]
dec ecx
push ecx
mov ecx, ebx
call fcn.00458a20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
push 0
mov ecx, ebx
call fcn.00458a20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
mov ecx, dword [ebx + 0x11b8]
call fcn.00486430
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
cmp eax, 0xe122
jg 0x481a1b
je 0x4819f2
cmp eax, 0x4e5a
jg 0x48199d
je 0x481981
sub eax, 0x4e4e
je 0x48196b
sub eax, 8
jne case.default.0x48228d
mov edx, dword [ebx]
push 2
push 0
mov ecx, ebx
call dword [edx + 0x58]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
mov ecx, ebx
call fcn.00458610
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
mov ecx, dword [ebx + 0x110c]
push 0xffffffffffffffff
call fcn.00492a30
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
cmp eax, 0x4e5b
jl case.default.0x48228d
cmp eax, 0x4e69
jle 0x4819e0
cmp eax, 0xe120
jne case.default.0x48228d
push 0
push 1
push 0
push 0
push 0
push 0
push 1
push 7
lea ecx, [esp + 0x78]
call fcn.0041fa20
push eax
mov ecx, ebx
call fcn.0045f6f0
jmp case.default.0x48228d
add eax, 0xffffb1a5
mov ecx, ebx
push eax
call fcn.0047d1f0
jmp case.default.0x48228d
push 0
push 1
push 0
push 0
push 0
push 0
push 1
push 0xa
lea ecx, [esp + 0x98]
call fcn.0041fa20
push eax
mov ecx, ebx
call fcn.0045f6f0
jmp case.default.0x48228d
add eax, 0xffff1edd
cmp eax, 0xc
ja case.default.0x48228d
xor ecx, ecx
mov cl, byte [eax + 0x482574]
jmp dword [ecx*4 + 0x48255c]
push 0
push 1
push 0
push 0
push 0
push 0
push 1
push 9
lea ecx, [esp + 0x68]
call fcn.0041fa20
push eax
mov ecx, ebx
call fcn.0045f6f0
jmp case.default.0x48228d
push 0
push 1
push 0
push 0
push 0
push 0
push 1
push 0xb
lea ecx, [esp + 0x88]
call fcn.0041fa20
push eax
mov ecx, ebx
call fcn.0045f6f0
jmp case.default.0x48228d
mov edx, dword [ebx + 0xdcc]
mov eax, dword [ebx + 0xdc0]
push 1
push edx
push eax
mov ecx, ebx
call fcn.004667d0
jmp case.default.0x48228d
mov ebp, dword [ebx + 0xdc0]
mov ecx, ebx
call fcn.00467ee0
mov ecx, dword [ebx + 0x1108]
push eax
push ebp
mov ecx, dword [ecx]
call fcn.00485080
mov ebp, dword [esp + 0xa4]
mov eax, dword [esp + 0x9c]
push esi
push ebp
push edi
push eax
call dword [ebx + 0x11d4]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 0x10
push 0
push 1
push 0
push 0
push 0
push 0
push 1
push 0xc
lea ecx, [esp + 0xa8]
call fcn.0041fa20
push eax
mov ecx, ebx
call fcn.0045f6f0
jmp case.default.0x48228d
test esi, 0x800
je case.default.0x48228d
mov edx, dword [esp + 0x9c]
push edx
call fcn.0047be70
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x1c], ebp
je 0x481ab6
call fcn.0047be00
cmp word [ebp], 0
mov dword [esp + 0x14], eax
je 0x481ba6
mov ecx, dword [esp + 0x14]
push 0
push 0
lea eax, [esp + 0x18]
push 3
push eax
push 1
push ebp
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov byte [esp + eax + 0x10], 0
lea edi, [esp + 0x10]
or ecx, 0xffffffff
xor eax, eax
xor esi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x481b98
xor edx, edx
push 0
mov dl, byte [esp + esi + 0x14]
lea ecx, [esp + 0x38]
push edx
call fcn.0047fbf0
lea eax, [esp + 0x34]
push 0
push eax
mov ecx, ebx
call fcn.0045f6f0
lea edi, [esp + 0x10]
or ecx, 0xffffffff
xor eax, eax
inc esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp esi, ecx
jb 0x481b65
add ebp, 2
cmp word [ebp], 0
jne 0x481b33
mov ebp, dword [esp + 0x1c]
push ebp
call fcn.0041ec10
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 0x10
cmp ebp, 9
je case.default.0x48228d
cmp ebp, 0xd
je case.default.0x48228d
cmp ebp, 8
je case.default.0x48228d
push 0
push ebp
lea ecx, [esp + 0x3c]
call fcn.0047fbf0
lea ecx, [esp + 0x34]
push 0
push ecx
mov ecx, ebx
call fcn.0045f6f0
jmp case.default.0x48228d
mov eax, edi
sub eax, 0x11f
je 0x481c40
sub eax, 0xe1
je 0x481c14
dec eax
je 0x48203a
jmp case.default.0x48228d
mov eax, dword [esp + 0xa8]
push 0
mov edx, eax
shr edx, 0x10
movsx ecx, dx
movsx edx, ax
push ecx
push edx
mov ecx, ebx
call fcn.004577d0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
test esi, esi
je case.default.0x48228d
mov eax, ebp
shr eax, 0x10
test al, 0x10
je case.default.0x48228d
mov ecx, ebp
and ecx, 0xffff
push ecx
push esi
call dword [sym.imp.USER32.dll_GetSubMenu]
push eax
mov ecx, ebx
call fcn.00481390
jmp case.default.0x48228d
call dword [sym.imp.USER32.dll_ReleaseCapture]
mov eax, dword [esp + 0xa8]
mov edx, eax
shr edx, 0x10
movsx ecx, dx
movsx edx, ax
push ecx
push edx
mov ecx, ebx
call fcn.00457c00
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
cmp edi, 0x402
ja 0x48227e
je 0x482242
cmp edi, 0x215
ja 0x48209b
je 0x482079
mov eax, edi
sub eax, 0x203
je 0x48203a
dec eax
je 0x481d76
sub eax, 6
jne case.default.0x48228d
lea eax, [esp + 0x14]
push 0
push eax
push 0
push 0x68
mov dword [esp + 0x24], 0
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
mov ecx, dword [esp + 0xa4]
mov eax, 0x88888889
shr ecx, 0x10
movsx ecx, cx
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov esi, edx
imul esi, dword [esp + 0x14]
test si, si
je 0x481d67
mov eax, dword [esp + 0xa8]
movsx ecx, ax
shr eax, 0x10
movsx edx, ax
mov dword [esp + 0x28], ecx
mov ecx, dword [ebx + 0x11c4]
lea eax, [esp + 0x28]
mov dword [esp + 0x2c], edx
push eax
push ecx
call dword [sym.imp.USER32.dll_ScreenToClient]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
movsx ecx, si
push edx
push eax
push ecx
mov ecx, ebx
call fcn.00457610
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
push 1
mov ecx, ebx
call fcn.00466b10
mov eax, dword [esp + 0xa8]
lea edx, [esp + 0x14]
mov ebp, eax
push 0
shr ebp, 0x10
mov ecx, ebp
push edx
and ecx, 0xffff
and eax, 0xffff
push ecx
push eax
push 0
mov ecx, ebx
mov dword [esp + 0x28], 0
mov dword [esp + 0x3c], ebp
call fcn.00465690
mov edi, eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x481dc8
push eax
mov ecx, ebx
call fcn.004666e0
mov eax, dword [edi + 4]
test eax, eax
je 0x481e15
cmp dword [ebx + 0xac8], 1
jne 0x481deb
mov edx, dword [ebx + 0x11b8]
push 0x265
mov eax, dword [edx + 0x1220]
jmp 0x481dfc
mov eax, dword [ebx + 0x11b8]
push 0x262
mov eax, dword [eax + 0x1220]
push eax
call dword [sym.imp.USER32.dll_LoadMenuA]
mov edi, eax
push 0
push edi
call dword [sym.imp.USER32.dll_GetSubMenu]
mov esi, eax
jmp 0x481fc5
mov ecx, dword [ebx + 0x11b8]
push 0x25c
mov eax, dword [ecx + 0x1220]
push eax
call dword [sym.imp.USER32.dll_LoadMenuA]
push 0
push eax
mov dword [esp + 0x4c], eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov ebp, dword [sym.imp.USER32.dll_CheckMenuItem]
mov esi, eax
lea edx, [edi + 0x1c]
lea eax, [edi + 0x18]
lea ecx, [edi + 0x14]
mov dword [esp + 0x30], 0
mov dword [esp + 0x24], 1
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x10]
cmp dword [edx], 0
jne 0x481ed0
mov eax, dword [esp + 0x30]
push eax
push esi
call dword [sym.imp.USER32.dll_GetMenuItemID]
mov ecx, dword [esp + 0x30]
push 0x400
push ecx
push esi
mov dword [esp + 0x28], eax
call dword [sym.imp.USER32.dll_DeleteMenu]
mov eax, dword [esp + 0x1c]
test eax, eax
jge 0x481f88
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov eax, 0x20
add edx, 2
add ecx, eax
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x18]
add edx, eax
add ecx, eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], ecx
jmp 0x481f88
mov edx, dword [esp + 0x30]
push edx
push esi
call dword [sym.imp.USER32.dll_GetMenuItemID]
test eax, eax
mov dword [esp + 0x1c], eax
jle 0x481f12
mov ecx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], 0
mov edx, dword [esp + 0x1c]
sete al
push eax
push edx
push esi
call dword [sym.imp.USER32.dll_EnableMenuItem]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
neg ecx
sbb ecx, ecx
and ecx, 8
push ecx
push edx
jmp 0x481f81
mov eax, dword [esp + 0x1c]
test eax, eax
jge 0x481f84
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
add eax, 2
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov eax, 0x20
add edx, eax
add ecx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x18]
add edx, eax
mov eax, dword [edi + 0x6c]
neg eax
sbb eax, eax
mov dword [esp + 0x20], ecx
and eax, 8
mov dword [esp + 0x18], edx
push eax
push 0x4e45
push esi
call ebp
mov ecx, dword [edi + 0x7c]
neg ecx
sbb ecx, ecx
and ecx, 8
push ecx
push 0x4e44
push esi
call ebp
mov edx, dword [edi + 0x8c]
neg edx
sbb edx, edx
and edx, 8
push edx
push 0x4e43
push esi
call ebp
inc dword [esp + 0x30]
mov edx, dword [esp + 0x10]
mov ecx, 0x10
mov eax, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x20]
add edx, ecx
inc eax
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x18]
add edx, ecx
cmp eax, 0x17
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], edx
jl 0x481e67
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
mov ecx, ebx
push eax
push esi
call fcn.0047d0b0
push esi
mov ecx, ebx
call fcn.00481390
movsx eax, word [esp + 0xa8]
movsx ecx, bp
mov dword [esp + 0x38], ecx
mov dword [ebx + 0x11d0], ecx
mov dword [ebx + 0x11cc], eax
mov ebx, dword [esp + 0x9c]
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], eax
push ecx
push ebx
call dword [sym.imp.USER32.dll_ClientToScreen]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
push 0
push ebx
push 0
push edx
push eax
push 2
push esi
call dword [sym.imp.USER32.dll_TrackPopupMenu]
push edi
call dword [sym.imp.USER32.dll_DestroyMenu]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
mov esi, dword [esp + 0x9c]
push esi
call dword [sym.imp.USER32.dll_SetFocus]
push esi
call dword [sym.imp.USER32.dll_SetCapture]
mov eax, dword [esp + 0xa8]
mov ecx, eax
shr ecx, 0x10
movsx edx, cx
movsx eax, ax
push edx
push eax
mov ecx, ebx
call fcn.00457a40
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
mov ebp, dword [ebx + 0x11c4]
call dword [sym.imp.USER32.dll_GetCapture]
cmp eax, ebp
je 0x481ab6
push 0
mov ecx, ebx
call fcn.00457d30
jmp 0x481ab6
mov eax, edi
sub eax, 0x30f
je 0x4821cf
sub eax, 2
je 0x48216d
sub eax, 0xf0
jne case.default.0x48228d
mov eax, ebp
dec eax
je 0x4820d6
sub eax, 2
jne case.default.0x48228d
mov ecx, ebx
call fcn.0045f3f0
jmp case.default.0x48228d
mov eax, dword [ebx + 0xd70]
test eax, eax
jne 0x48214b
lea ecx, [esp + 0x28]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
push edx
push eax
call dword [sym.imp.USER32.dll_WindowFromPoint]
mov esi, dword [esp + 0x9c]
cmp esi, eax
jne 0x482142
lea ecx, [esp + 0x28]
push ecx
push esi
call dword [sym.imp.USER32.dll_ScreenToClient]
lea edx, [esp + 0x34]
push edx
push esi
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
cmp eax, ecx
jl 0x482142
cmp eax, dword [esp + 0x3c]
jg 0x482142
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jl 0x482142
cmp eax, dword [esp + 0x40]
jle 0x48214b
push 1
mov ecx, ebx
call fcn.00457d30
push 1
mov ecx, ebx
call fcn.0045e7f0
pop edi
pop esi
mov dword [ebx + 0x11c0], 0
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
mov eax, dword [esp + 0x9c]
cmp ebp, eax
je case.default.0x48228d
mov edi, eax
push edi
call dword [sym.imp.USER32.dll_GetDC]
mov ecx, dword [0x4dafac]
mov esi, eax
call fcn.004856c0
mov ecx, dword [0x4dafac]
call fcn.00485750
mov ebx, dword [sym.imp.GDI32.dll_SelectPalette]
push 0
push eax
push esi
call ebx
push esi
mov ebp, eax
call dword [sym.imp.GDI32.dll_RealizePalette]
push 1
push ebp
push esi
call ebx
push esi
push edi
call dword [sym.imp.USER32.dll_ReleaseDC]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 0x10
call fcn.00480fa0
mov edi, eax
test edi, edi
je case.0x481681.9
mov ebx, dword [esp + 0x9c]
push ebx
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push 0
push edi
mov edi, dword [sym.imp.GDI32.dll_SelectPalette]
push esi
call edi
push esi
mov ebp, eax
call dword [sym.imp.GDI32.dll_RealizePalette]
mov ecx, dword [0x4dafac]
call fcn.004856c0
mov ecx, dword [0x4dafac]
call fcn.00485750
push 0
push eax
push esi
call edi
push esi
call dword [sym.imp.GDI32.dll_RealizePalette]
push 1
push ebp
push esi
call edi
push esi
push ebx
call dword [sym.imp.USER32.dll_ReleaseDC]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x88
ret 0x10
mov eax, dword [esi]
push eax
mov eax, dword [ebx + 0x1108]
mov ecx, dword [eax + 4]
call fcn.00401090
test eax, eax
je 0x482389
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 4]
test eax, eax
je 0x482389
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
push ecx
push edx
mov ecx, eax
call fcn.0046f290
jmp 0x482389
lea eax, [edi - 0x403]
cmp eax, 5
ja case.default.0x48228d
jmp dword [eax*4 + 0x482584]
mov eax, dword [esi]
push eax
mov eax, dword [ebx + 0x1108]
mov ecx, dword [eax + 4]
call fcn.00401090
test eax, eax
je 0x482389
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 4]
test eax, eax
je 0x482389
mov ecx, dword [esi + 8]
mov dword [eax + 0x6c], ecx
jmp 0x482389
mov edx, dword [ebx + 0x1108]
mov eax, dword [esi]
push eax
mov ecx, dword [edx + 4]
call fcn.00401090
test eax, eax
je 0x482389
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 4]
test eax, eax
je 0x482389
mov ecx, dword [esi + 8]
push ecx
mov ecx, eax
call fcn.0046f2d0
jmp 0x482389
mov edx, dword [ebx + 0x1108]
mov eax, dword [esi]
push eax
mov ecx, dword [edx + 4]
call fcn.00401090
test eax, eax
je 0x482389
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 4]
test eax, eax
je 0x482389
mov ecx, eax
call fcn.0046f270
jmp 0x482389
mov eax, dword [esi]
push eax
mov eax, dword [ebx + 0x1108]
mov ecx, dword [eax + 4]
call fcn.00401090
test eax, eax
je 0x482389
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 4]
test eax, eax
je 0x482389
mov ecx, dword [esi + 4]
push ecx
mov ecx, eax
call fcn.0046f550
jmp 0x482389
mov edx, dword [ebx + 0x1108]
mov eax, dword [esi]
push eax
mov ecx, dword [edx + 4]
call fcn.00401090
test eax, eax
je 0x482389
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 4]
mov ebp, eax
test ebp, ebp
je 0x482382
mov ecx, ebp
call fcn.0046f320
mov byte [ebp + 5], 1
mov ebp, dword [esp + 0xa4]
test esi, esi
je case.default.0x48228d
mov eax, dword [esi + 4]
test eax, eax
je 0x4823e6
jmp 0x4823dd
mov eax, dword [esi]
push eax
mov eax, dword [ebx + 0x1108]
mov ecx, dword [eax + 4]
call fcn.00401090
test eax, eax
je 0x4823ce
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 4]
mov ebp, eax
test ebp, ebp
je 0x4823c7
mov ecx, ebp
call fcn.0046f360
mov byte [ebp + 5], 1
mov ebp, dword [esp + 0xa4]
test esi, esi
je case.default.0x48228d
mov eax, dword [esi + 4]
test eax, eax
je 0x4823e6
push eax
call fcn.0041ec10
add esp, 4
push esi
call fcn.0041ec10
add esp, 4
jmp case.default.0x48228d