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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x154
push ebx
mov ebx, ecx
mov eax, dword [ebx + 0xec]
push esi
push edi
cmp eax, 0xf3c
jge 0x433421
inc eax
mov dword [ebx + 0xec], eax
cmp eax, 1
je 0x403d8e
cmp byte [ebx + 0xfc], 0
mov byte [ebx + 0x144], 0
jne 0x4039c3
jmp 0x4038c0
cmp byte [ebx + 0x144], 0
jne 0x4039c3
mov edi, ebx
call fcn.00403770
cmp eax, 1
je 0x433ecc
cmp dword [0x4bc10c], 0
jne 0x43343f
cmp byte [0x4ab6d4], 1
je 0x4334ef
cmp dword [ebx + 0x460], 0
jne 0x433509
cmp byte [0x4bc814], 0
jne 0x43365a
push ebx
call fcn.00403840
cmp al, 1
je case.default.0x433b20
cmp byte [0x4bc988], 0
jne 0x433802
mov eax, dword [ebx + 0xf8]
cmp eax, 7
je 0x433919
cmp eax, 8
je 0x433984
cmp eax, 9
je 0x433984
cmp eax, 2
je 0x403d4c
cmp eax, 3
je 0x403d4c
cmp eax, 4
je 0x403d4c
cmp eax, 5
je 0x403d4c
cmp eax, 6
je 0x403d4c
mov ecx, dword [ebp + 8]
mov dword [ebx + 0xf4], ecx
mov eax, ecx
inc ecx
mov dword [ebp + 8], ecx
call fcn.00405c40
test eax, eax
je 0x433c4a
mov edi, eax
mov edx, dword [edi + 4]
xor ecx, ecx
mov dword [esp + 0x24], ecx
mov edx, dword [edx]
movsx eax, word [edx + 8]
cmp eax, ecx
jne 0x4039eb
lea eax, [ebp + 8]
push eax
push edi
push ebx
call fcn.00403440
cmp byte [ebx + 0xfc], 0
je 0x4038c0
mov eax, dword [ebx + 0xec]
mov byte [ebx + 0x144], 0
cmp eax, 1
je 0x403db9
dec eax
mov dword [ebx + 0xec], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp eax, 0x34
jne 0x403cd2
cmp byte [0x4bd2dc], cl
jne 0x403bcf
mov esi, dword [edx]
mov dword [esp + 0x20], esi
cmp dword [0x4bd2d0], ecx
jne 0x433cbb
mov ecx, dword [0x4bd2c0]
xor eax, eax
cmp ecx, eax
je 0x403bcf
test byte [0x4bd7dc], 1
mov byte [esp + 0x13], al
je 0x433cea
mov dword [0x4bd7d8], eax
mov dword [0x4bd7d4], eax
mov eax, 0x4bd7bc
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], eax
lea ebx, [ebx]
mov edx, dword [esi + 4]
mov eax, dword [ecx + 4]
test edx, edx
je 0x433d15
test eax, eax
je 0x433d1d
cmp edx, eax
jb 0x403b32
mov dword [esp + 0x1c], edx
test edx, edx
jbe 0x433d40
mov eax, dword [ecx]
mov dword [esp + 0x18], eax
mov eax, dword [esi]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
lea ebx, [ebx]
mov esi, dword [esp + 0x14]
mov si, word [esi]
cmp si, word [eax]
je 0x433d2a
mov esi, dword [esp + 0x14]
mov si, word [esi]
cmp si, word [eax]
mov esi, dword [esp + 0x20]
jae 0x433d47
or eax, 0xffffffff
test eax, eax
jns 0x403b7c
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x403b8d
mov eax, dword [eax + 4]
mov dword [esp + 0x30], eax
cmp edx, eax
ja 0x403e0a
mov dword [esp + 0x18], edx
test edx, edx
je 0x433d8b
mov eax, dword [ecx + 0x18]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
mov eax, dword [esi]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov ax, word [eax]
cmp ax, word [edx]
je 0x433d7d
mov eax, dword [esp + 0x14]
mov ax, word [eax]
cmp ax, word [edx]
jb 0x403e15
mov edx, dword [esp + 0x28]
mov dword [edx + 0x18], ecx
mov eax, dword [0x4bd2c0]
mov ecx, dword [eax + 0x18]
mov dword [0x4bd2c0], ecx
jmp 0x403a46
test eax, eax
je 0x433d76
mov esi, dword [ecx]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x20]
mov esi, dword [esi]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], esi
mov si, word [esi]
cmp si, word [eax]
je 0x433d51
mov esi, dword [esp + 0x14]
mov si, word [esi]
cmp si, word [eax]
jb 0x433d6e
mov eax, 1
mov esi, dword [esp + 0x20]
jmp 0x403ab7
jle 0x433e01
mov eax, dword [ecx + 0x1c]
test eax, eax
jne 0x403c5f
cmp byte [esp + 0x13], 0
mov eax, dword [ecx + 0x18]
mov ecx, dword [esp + 0x38]
mov dword [ecx + 0x1c], eax
mov edx, dword [0x4bd2c0]
mov eax, dword [edx + 0x1c]
mov ecx, dword [esp + 0x28]
mov dword [ecx + 0x18], eax
mov edx, dword [0x4bd2c0]
mov eax, dword [0x4bd7d8]
mov dword [edx + 0x18], eax
mov ecx, dword [0x4bd2c0]
mov edx, dword [0x4bd7d4]
mov dword [ecx + 0x1c], edx
jne 0x433e0b
mov eax, 1
add dword [esp + 0x24], eax
push 0xffffffffffffffff
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x2c]
push ecx
xor esi, esi
push edi
mov ecx, ebx
mov dword [esp + 0x60], esi
mov dword [esp + 0x6c], esi
call fcn.00403ee0
mov eax, dword [esp + 0x5c]
cmp eax, esi
je 0x403c29
lea edi, [eax + 0xc]
mov esi, eax
mov eax, dword [edi]
dec dword [eax]
mov edx, dword [edi]
cmp dword [edx], 0
je 0x433e2e
push esi
call fcn.00411c3e
add esp, 4
mov dword [esp + 0x5c], 0
xor esi, esi
mov eax, dword [esp + 0x58]
cmp eax, 8
je 0x433e49
cmp eax, 0xa
je 0x433e6e
cmp eax, 5
je 0x433e85
cmp eax, 0xb
je 0x433e93
cmp eax, 0xc
jne case.default.0x433b20
jmp 0x433eb5
mov eax, dword [eax + 4]
cmp eax, edx
ja 0x433dad
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 0
jbe 0x433dce
mov dword [esp + 0x18], eax
mov eax, dword [esi]
mov dword [esp + 0x30], eax
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x14]
mov si, word [esi]
cmp si, word [eax]
je 0x433db8
mov edx, dword [esp + 0x14]
mov dx, word [edx]
mov esi, dword [esp + 0x20]
cmp dx, word [eax]
jb 0x433dd8
mov edx, dword [esp + 0x38]
mov dword [edx + 0x1c], ecx
mov eax, dword [0x4bd2c0]
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x38], eax
mov dword [0x4bd2c0], ecx
jmp 0x403a50
dec eax
cmp eax, 0x7e
ja case.0x403ce3.2
movzx eax, byte [eax + 0x403e54]
jmp dword [eax*4 + 0x403e40]
push edi
push ebx
call fcn.00406110
jmp case.default.0x433b20
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xcc], ecx
lea ecx, [esp + 0xc0]
push ecx
lea eax, [esp + 0x28]
mov edx, edi
mov dword [esp + 0xcc], 1
call fcn.00406540
test eax, eax
jne 0x403d3b
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x24]
mov eax, dword [edx + eax*4]
cmp word [eax + 8], 0x7f
jne 0x433c59
lea esi, [esp + 0xc0]
call fcn.00406310
jmp case.default.0x433b20
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebx + 0x2f0], 0
je 0x403d7a
mov esi, dword [ebx + 0x2f8]
call fcn.00401f50
xor ecx, ecx
cmp edx, ecx
jl 0x403d7a
mov edi, ecx
jg 0x403d9a
cmp eax, dword [ebx + 0x2f0]
jae 0x403d9a
mov eax, dword [ebx + 0xf8]
cmp eax, 3
jl case.default.0x433b20
jmp 0x433b14
mov esi, ebx
call fcn.004117e0
jmp 0x4038a2
cmp dword [ebx + 0xf8], 2
jne 0x4339dd
mov byte [ebx + 0x144], 1
mov dword [ebx + 0xf8], edi
jmp case.default.0x433b20
mov esi, ebx
call fcn.00410050
cmp byte [ebx + 0xfc], 1
je 0x4039e0
call fcn.00401e00
push 0
call dword [sym.imp.USER32.dll_LockWindowUpdate]
mov edx, dword [0x4ab700]
push edx
call dword [sym.imp.USER32.dll_DestroyWindow]
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
push 0
push 0
push 0
lea eax, [esp + 0x150]
push eax
call esi
test eax, eax
jle 0x4039e0
jmp 0x433ee9
mov edx, eax
mov dword [esp + 0x18], eax
jmp 0x403add
mov eax, dword [ecx + 0x18]
mov edx, dword [eax + 0x1c]
mov dword [ecx + 0x18], edx
mov ecx, dword [0x4bd2c0]
mov dword [eax + 0x1c], ecx
mov ecx, eax
mov dword [0x4bd2c0], ecx
cmp dword [eax + 0x18], 0
jne 0x403b18
jmp 0x403b8d
push 0xffffffffffffffff
push 0x9a
push ebx
mov byte [0x4ab6ca], 0
call fcn.00467c82
mov eax, 1
jmp 0x4039e2
mov eax, dword [0x4bc110]
mov edi, dword [eax]
call fcn.00437831
mov eax, dword [ebx + 0x1b0]
xor esi, esi
test eax, eax
je 0x433482
mov ecx, dword [ebx + 0x1ac]
mov edx, dword [ecx]
cmp dword [edx], 0
je 0x433476
mov edx, dword [edx]
cmp dword [edx], edi
je 0x433482
inc esi
add ecx, 4
cmp esi, dword [ebx + 0x1b0]
jb 0x433461
cmp esi, eax
je 0x4038ea
lea eax, [esp + 0xd8]
push eax
lea ecx, [esp + 0x104]
push ecx
mov ecx, dword [ebx + 0x1ac]
lea edx, [esp + 0xfc]
push edx
mov edx, dword [ecx + esi*4]
lea eax, [esp + 0x74]
push eax
mov eax, dword [edx]
mov ecx, dword [eax + 8]
push ecx
push ebx
call fcn.0046079e
mov edx, dword [ebx + 0x1ac]
mov eax, dword [edx + esi*4]
mov ecx, dword [eax]
mov edi, dword [esp + 0x68]
add ecx, 0x18
inc edi
push ecx
lea esi, [ebx + 0x14c]
mov dword [esp + 0x6c], edi
call fcn.0040ef10
push 0
push 1
push edi
push ebx
call fcn.00485118
jmp case.default.0x433b20
cmp byte [0x4ab6cb], 0
jne 0x4038f7
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp case.default.0x433b20
cmp byte [0x4bd744], 0
jne 0x403904
mov edi, dword [ebx + 0x458]
mov byte [0x4bd744], 1
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], edi
push ecx
lea edx, [esp + 0x18]
mov dword [esp], 0
push edx
call fcn.0044883d
test al, al
je 0x4335eb
mov eax, dword [edi]
cmp byte [eax + 0x11], 0
jne 0x4335d3
mov esi, dword [eax + 0x14]
mov dword [esp + 0x28], eax
call fcn.00401f50
test edx, edx
jl 0x4335d3
jg 0x43357c
mov ecx, dword [esp + 0x28]
cmp eax, dword [ecx + 0x18]
jb 0x4335d3
inc dword [esp + 0x20]
mov esi, dword [edi]
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [esi + 0x14], eax
lea edx, [esp + 0xd4]
push edx
lea eax, [esp + 0xe0]
push eax
mov eax, dword [edi]
lea ecx, [esp + 0xec]
push ecx
mov ecx, dword [eax]
lea edx, [esp + 0x70]
push edx
push ecx
push ebx
call fcn.0046079e
mov eax, dword [esp + 0x64]
mov edx, dword [edi]
push 0
inc eax
push 1
push eax
push ebx
mov dword [esp + 0x74], eax
mov byte [edx + 0x10], 1
call fcn.00485118
mov eax, dword [edi]
mov byte [eax + 0x10], 0
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x18]
push edx
call fcn.004466e5
mov edi, dword [esp + 0x14]
jmp 0x43352f
mov eax, dword [ebx + 0x458]
mov dword [esp + 0x24], eax
push ecx
lea ecx, [esp + 0x28]
mov dword [esp], 0
push ecx
call fcn.0044883d
test al, al
je 0x433643
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
cmp byte [eax + 0x11], 0
jne 0x433630
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x28]
push edx
call fcn.004466e5
jmp 0x4335f5
lea eax, [esp + 0x24]
push eax
lea eax, [ebx + 0x458]
push eax
call fcn.0044886b
jmp 0x4335eb
cmp dword [esp + 0x20], 0
mov byte [0x4bd744], 0
jg case.default.0x433b20
jmp 0x403904
cmp byte [ebx + 0x464], 1
je 0x403911
cmp byte [0x4bc840], 1
je 0x403911
lea ecx, [esp + 0x9c]
push ecx
call fcn.00452319
lea edx, [esp + 0x9c]
push edx
push 0x4bc808
call fcn.00458059
test al, al
je 0x4337f1
lea eax, [esp + 0xa0]
push eax
call fcn.0043be3c
test al, al
jne 0x433681
lea ecx, [esp + 0xfc]
push ecx
lea edx, [esp + 0xf0]
push edx
mov edx, dword [esp + 0xa8]
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x78]
push ecx
push edx
push ebx
call fcn.0046079e
test al, al
je 0x433681
xor eax, eax
mov edi, 1
lea esi, [esp + 0x40]
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], eax
call fcn.00406310
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x48], edi
mov edi, str._GUI_CTRLID
lea esi, [esp + 0x104]
mov dword [esp + 0x40], eax
call fcn.00401ec0
mov eax, 2
lea ecx, [eax - 1]
lea edx, [esp + 0x40]
call fcn.0040dbe0
mov ecx, esi
call fcn.00402610
lea esi, [esp + 0x40]
call fcn.00406310
mov ecx, dword [esp + 0xb0]
mov edi, str._GUI_WINHANDLE
lea esi, [esp + 0x124]
mov dword [esp + 0x48], 7
mov dword [esp + 0x40], ecx
call fcn.00401ec0
mov eax, 2
lea ecx, [eax - 1]
lea edx, [esp + 0x40]
call fcn.0040dbe0
mov ecx, esi
call fcn.00402610
lea esi, [esp + 0x40]
call fcn.00406310
mov edx, dword [esp + 0xb4]
mov edi, str._GUI_CTRLHANDLE
lea esi, [esp + 0x134]
mov dword [esp + 0x48], 7
mov dword [esp + 0x40], edx
call fcn.00401ec0
mov eax, 2
lea ecx, [eax - 1]
lea edx, [esp + 0x40]
call fcn.0040dbe0
mov ecx, esi
call fcn.00402610
mov eax, dword [esp + 0x6c]
push 0
push 1
inc eax
push eax
push ebx
mov byte [ebx + 0x464], 1
call fcn.00485118
lea esi, [esp + 0x40]
mov byte [ebx + 0x464], 0
call fcn.00406310
lea ecx, [esp + 0xa0]
call fcn.00402610
jmp case.default.0x433b20
lea ecx, [esp + 0xa0]
call fcn.00402610
jmp 0x403911
cmp byte [ebx + 0x465], 1
je 0x40392c
lea ecx, [esp + 0x9c]
push ecx
call fcn.00452319
lea edx, [esp + 0x9c]
push edx
push 0x4bc8e8
call fcn.0045a4fa
test al, al
je 0x433908
lea eax, [esp + 0xa0]
push eax
call fcn.0043be3c
test al, al
jne 0x43381c
lea ecx, [esp + 0xf0]
push ecx
lea edx, [esp + 0xec]
push edx
mov edx, dword [esp + 0xa8]
lea eax, [esp + 0x100]
push eax
lea ecx, [esp + 0x90]
push ecx
push edx
push ebx
call fcn.0046079e
test al, al
je 0x43381c
xor eax, eax
mov edi, 1
lea esi, [esp + 0x70]
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], eax
call fcn.00406310
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x78], edi
mov edi, str._TRAY_ID
lea esi, [esp + 0x114]
mov dword [esp + 0x70], eax
call fcn.00401ec0
mov eax, 2
lea ecx, [eax - 1]
lea edx, [esp + 0x70]
call fcn.0040dbe0
mov ecx, esi
call fcn.00402610
mov ecx, dword [esp + 0x84]
push 0
push 1
inc ecx
push ecx
push ebx
mov byte [ebx + 0x465], 1
call fcn.00485118
lea esi, [esp + 0x70]
mov byte [ebx + 0x465], 0
call fcn.00406310
lea ecx, [esp + 0xa0]
call fcn.00402610
jmp case.default.0x433b20
lea ecx, [esp + 0xa0]
call fcn.00402610
jmp 0x40392c
mov edx, dword [ebx + 0x450]
push 0xa
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [esp + 0x60], eax
cmp eax, 0x102
je case.default.0x433b20
mov ecx, dword [ebx + 0x450]
lea eax, [esp + 0x60]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov edx, dword [ebx + 0x450]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x60]
mov ecx, dword [ebx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x18], eax
add ecx, ebx
lea eax, [esp + 0x18]
call fcn.0040e220
mov byte [ebx + 0x144], 1
mov dword [ebx + 0xf8], 0
jmp case.default.0x433b20
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebx + 0x448], 0
je 0x4339f6
mov esi, dword [ebx + 0x44c]
call fcn.00401f50
xor ecx, ecx
xor edi, edi
cmp edx, ecx
jl 0x4339f8
jg 0x4339c2
cmp eax, dword [ebx + 0x448]
jb 0x4339f8
mov eax, dword [ebx + 0x454]
cmp eax, edi
je 0x4339dd
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebx + 0x454], edi
mov edx, dword [ebx]
mov ecx, dword [edx + 4]
add ecx, ebx
lea eax, [esp + 0x18]
mov dword [esp + 0x18], edi
call fcn.0040e220
jmp 0x403da7
xor edi, edi
mov eax, dword [ebx + 0xf8]
mov dword [esp + 0x28], edi
cmp eax, 8
jne 0x433ad0
mov edx, dword [ebx + 0x438]
lea eax, [esp + 0x13]
push eax
lea ecx, [esp + 0x2c]
push ecx
push edx
mov byte [esp + 0x1f], 0
call fcn.00449a31
add esp, 0xc
cmp byte [esp + 0x13], 1
jne case.default.0x433b20
mov eax, dword [ebx + 0x454]
mov dword [esp + 0x3c], 0xcccccccc
test eax, eax
je 0x433a92
lea ecx, [esp + 0x3c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
cmp dword [esp + 0x3c], 0x103
jne 0x433a7b
mov edx, dword [ebx + 0x454]
push 0
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne case.default.0x433b20
mov eax, dword [ebx + 0x454]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebx + 0x454], 0
cmp dword [ebx + 0xf8], 8
jne 0x433ade
mov ecx, dword [esp + 0x28]
fild dword [esp + 0x28]
test ecx, ecx
jns 0x433ab5
fadd qword [0x4a0998]
mov eax, dword [ebx]
fstp qword [esp + 0x30]
mov ecx, dword [eax + 4]
lea edx, [esp + 0x30]
push edx
add ecx, ebx
push ecx
call fcn.0045ee1b
jmp 0x433af1
cmp eax, 9
je 0x433a34
jmp case.default.0x433b20
mov eax, dword [ebx]
mov edx, dword [esp + 0x3c]
mov eax, dword [eax + 4]
push 0
push edx
add eax, ebx
call fcn.0040b660
mov ecx, dword [ebx + 0x2f4]
push ecx
mov byte [ebx + 0x144], 1
mov dword [ebx + 0xf8], 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp case.default.0x433b20
sub eax, 3
cmp eax, 3
ja case.default.0x433b20
jmp dword [eax*4 + 0x433f21]
push ebx
call fcn.00476f9d
jmp 0x433b55
push ebx
call fcn.00476f9d
mov esi, eax
test esi, esi
js 0x433b5f
jg case.default.0x433b20
jmp 0x433b9a
push 1
push ebx
call fcn.00473880
mov esi, eax
test esi, esi
jns 0x433b8c
mov ecx, dword [ebx]
mov eax, esi
neg eax
push 0
push eax
mov eax, dword [ecx + 4]
add eax, ebx
call fcn.0040b6b0
mov edx, dword [ebx]
mov ecx, dword [edx + 4]
add ecx, ebx
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
call fcn.0040e220
test esi, esi
je case.default.0x433b20
test esi, esi
jle 0x433c08
mov eax, dword [ebx + 0xf8]
cmp eax, 5
je 0x433bb2
cmp eax, 3
jne 0x433c08
xor eax, eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x94], eax
mov eax, dword [ebx + 0x1d8]
mov edi, dword [eax]
lea esi, [esp + 0x88]
mov dword [esp + 0x90], 1
call fcn.00406310
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push 0
push esi
add eax, ebx
push eax
mov dword [esp + 0x9c], 7
mov dword [esp + 0x94], edi
call fcn.0047a7bc
call fcn.00406310
mov ecx, dword [ebx + 0x2f4]
push ecx
mov byte [ebx + 0x144], 1
mov dword [ebx + 0xf8], 0
call fcn.00438c2e
add esp, 4
jmp case.default.0x433b20
push 1
push ebx
call fcn.00473880
mov esi, eax
test esi, esi
js 0x433b5f
jle 0x433b9a
jmp case.default.0x433b20
mov dword [ebx + 0xf8], 1
jmp case.default.0x433b20
movsx ecx, word [eax + 0xa]
push ecx
push 0x72
push ebx
call fcn.00467c82
jmp 0x403d3b
lea esi, [ebx + 0x490]
push esi
call fcn.00437ec4
test al, al
jne 0x433c94
movsx edx, word [edx + 0xa]
push edx
push 0xa7
push ebx
call fcn.00467c82
jmp case.default.0x433b20
push esi
lea eax, [esp + 0x28]
push eax
push edi
push ebx
call fcn.00487905
jmp case.default.0x433b20
movsx ecx, word [edx + 0xa]
push ecx
push 0x1388
push ebx
call fcn.00467c82
jmp case.default.0x433b20
lea edx, [esp + 0x18]
push edx
push 0x4bd2d0
mov dword [esp + 0x20], ecx
call fcn.004383b5
mov esi, eax
mov eax, dword [esp + 0x24]
call fcn.0040de40
test eax, eax
jne 0x433e22
mov esi, dword [esp + 0x20]
jmp 0x403a12
or dword [0x4bd7dc], 1
push 0x4bd7bc
call fcn.00451237
push 0x42abbd
call fcn.004137ec
mov ecx, dword [0x4bd2c0]
add esp, 4
xor eax, eax
jmp 0x403a33
test eax, eax
jne 0x403abf
test edx, edx
jne 0x403b82
jmp 0x403a66
add dword [esp + 0x14], 2
add eax, 2
dec dword [esp + 0x1c]
jne 0x403a90
mov esi, dword [esp + 0x20]
xor eax, eax
jmp 0x403ab7
mov eax, 1
jmp 0x403ab7
dec dword [esp + 0x2c]
je 0x433d76
mov esi, dword [esp + 0x14]
add esi, 2
add eax, 2
mov dword [esp + 0x1c], eax
jmp 0x403b4a
or eax, 0xffffffff
jmp 0x403b73
xor eax, eax
jmp 0x403b73
dec dword [esp + 0x2c]
jne 0x433d9a
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x30]
jae 0x403b18
jmp 0x403e15
mov eax, dword [esp + 0x14]
add eax, 2
add edx, 2
mov dword [esp + 0x1c], edx
jmp 0x403af4
mov eax, edx
mov dword [esp + 0x1c], edx
jmp 0x403c6e
add dword [esp + 0x14], 2
add eax, 2
dec dword [esp + 0x18]
jne 0x403c90
mov esi, dword [esp + 0x20]
cmp dword [esp + 0x1c], edx
jae 0x403cb4
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax + 0x18]
mov dword [ecx + 0x1c], edx
mov ecx, dword [0x4bd2c0]
mov dword [eax + 0x18], ecx
mov ecx, eax
mov dword [0x4bd2c0], ecx
cmp dword [eax + 0x1c], 0
jne 0x403cb4
jmp 0x403b8d
mov byte [esp + 0x13], 1
jmp 0x403b8d
mov eax, dword [0x4bd2c0]
test eax, eax
je 0x403bcf
cmp dword [eax + 0x14], 0
je 0x403bcf
push edi
push ebx
call fcn.00406110
jmp case.default.0x433b20
mov eax, dword [esi]
push eax
call fcn.0041351c
mov ecx, dword [edi]
add esp, 4
push ecx
call fcn.00411c3e
add esp, 4
jmp 0x403c16
mov eax, dword [esp + 0x50]
cmp eax, esi
je case.default.0x433b20
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edx, dword [esp + 0x50]
push edx
call fcn.00411c3e
add esp, 4
jmp case.default.0x433b20
mov eax, dword [esp + 0x50]
cmp eax, esi
je case.default.0x433b20
push eax
call fcn.00448ec2
jmp case.default.0x433b20
lea eax, [esp + 0x50]
call fcn.0040f790
jmp case.default.0x433b20
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 4]
push ecx
call fcn.00411c3e
mov edx, dword [esp + 0x54]
add esp, 4
push edx
call fcn.00411c3e
add esp, 4
jmp case.default.0x433b20
mov eax, dword [esp + 0x50]
cmp eax, esi
je case.default.0x433b20
push eax
call fcn.004511f4
jmp case.default.0x433b20
mov ecx, dword [ebx]
mov ecx, dword [ecx + 4]
add ecx, ebx
lea eax, [esp + 0x30]
mov dword [esp + 0x30], 0
call fcn.0040e220
jmp 0x4039c3
lea ecx, [esp + 0x144]
push ecx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea edx, [esp + 0x144]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 0
push 0
push 0
lea eax, [esp + 0x150]
push eax
call esi
test eax, eax
jg 0x433ee9
jmp 0x4039e0