Function at 0x4230c0
Capabilities:
Link many functions at runtime
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x1230
call fcn.00444120
mov eax, dword [0x475838]
xor eax, esp
mov dword [esp + 0x122c], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0x1240]
push edi
push 0x64
push 0x477040
push 0x6d
push esi
mov dword [esp + 0x7c], esi
call dword [sym.imp.USER32.dll_LoadStringA]
push esi
call fcn.004138a0
xor ebx, ebx
mov eax, 0xf
mov dword [esp + 0x23c], eax
mov dword [esp + 0x15c], eax
mov dword [esp + 0x124], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0x140], eax
mov dword [esp + 0x178], eax
mov dword [esp + 0xb4], eax
lea eax, [esp + 0x40]
push eax
mov dword [esp + 0x23c], ebx
mov byte [esp + 0x22c], bl
mov dword [esp + 0x15c], ebx
mov byte [esp + 0x14c], bl
mov dword [esp + 0x124], ebx
mov byte [esp + 0x114], bl
mov dword [esp + 0xec], ebx
mov byte [esp + 0xdc], bl
mov dword [esp + 0x140], ebx
mov byte [esp + 0x130], bl
mov dword [esp + 0x178], ebx
mov byte [esp + 0x168], bl
mov dword [esp + 0xb4], ebx
mov byte [esp + 0xa4], bl
call fcn.00416e00
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x22c]
call fcn.00413f60
mov edi, 0x10
cmp dword [esp + 0x54], edi
jb 0x4231cc
mov ecx, dword [esp + 0x40]
push ecx
call fcn.00425c92
add esp, 4
lea edx, [esp + 0x3c]
push edx
call fcn.004175a0
add esp, 4
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x14c]
call fcn.00413f60
cmp dword [esp + 0x54], edi
jb 0x4231fc
mov eax, dword [esp + 0x40]
push eax
call fcn.00425c92
add esp, 4
lea ecx, [esp + 0x3c]
push ecx
call fcn.00417eb0
add esp, 4
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x114]
call fcn.00413f60
cmp dword [esp + 0x54], edi
jb 0x42322c
mov edx, dword [esp + 0x40]
push edx
call fcn.00425c92
add esp, 4
lea eax, [esp + 0x3c]
push eax
call fcn.004189e0
add esp, 4
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xdc]
call fcn.00413f60
cmp dword [esp + 0x54], edi
jb 0x42325c
mov ecx, dword [esp + 0x40]
push ecx
call fcn.00425c92
add esp, 4
lea edx, [esp + 0x3c]
push edx
call fcn.004169f0
add esp, 4
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x130]
call fcn.00413f60
cmp dword [esp + 0x54], edi
jb 0x42328c
mov eax, dword [esp + 0x40]
push eax
call fcn.00425c92
add esp, 4
lea ecx, [esp + 0x3c]
push ecx
call fcn.0041d2f0
add esp, 4
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x168]
call fcn.00413f60
cmp dword [esp + 0x54], edi
jb 0x4232bc
mov edx, dword [esp + 0x40]
push edx
call fcn.00425c92
add esp, 4
push 0x6d
push esi
call dword [sym.imp.USER32.dll_LoadAcceleratorsA]
cmp dword [esp + 0x238], edi
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x224]
jae 0x4232e0
lea eax, [esp + 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp dword [esp + 0x158], edi
mov esi, eax
mov eax, dword [esp + 0x144]
mov dword [esp + 0x10], esi
jae 0x423304
lea eax, [esp + 0x144]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp dword [esp + 0xe8], edi
mov ebp, eax
mov eax, dword [esp + 0xd4]
jae 0x423325
lea eax, [esp + 0xd4]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp dword [esp + 0x120], edi
mov esi, eax
mov eax, dword [esp + 0x10c]
jae 0x423346
lea eax, [esp + 0x10c]
push eax
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp dword [esp + 0x13c], 0x10
mov edi, eax
mov eax, dword [esp + 0x128]
mov dword [esp + 0x38], edi
jae 0x423370
lea eax, [esp + 0x128]
push ebx
push ebx
push ebx
push 1
push eax
call ebp
cmp dword [esp + 0x174], 0x10
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x160]
jae 0x423394
lea eax, [esp + 0x160]
mov ecx, dword [esp + 0x24]
push ebx
push SysReAllocString
push ebx
push ebx
push eax
push ecx
call esi
push ebx
push 0x45f6c0
lea ecx, [esp + 0xa0]
mov esi, eax
call fcn.004145e0
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x244]
push eax
push esi
call edi
test eax, eax
je 0x423407
mov eax, dword [esp + 0x28]
cmp eax, ebx
jbe 0x423407
push eax
lea ecx, [esp + 0x240]
push ecx
lea ecx, [esp + 0xa0]
call fcn.004146b0
lea edx, [esp + 0x28]
push edx
push 0x1000
lea eax, [esp + 0x244]
push eax
push esi
call edi
test eax, eax
jne 0x4233d1
lea ecx, [esp + 0x98]
push ecx
lea edx, [esp + 0x40]
push edx
call fcn.0041f070
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xa4]
call fcn.00413f60
mov ebp, 0x10
cmp dword [esp + 0x54], ebp
jb 0x423444
mov eax, dword [esp + 0x40]
push eax
call fcn.00425c92
add esp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
push ecx
call fcn.00414880
add esp, 4
lea edx, [esp + 0xb4]
push edx
lea eax, [esp + 0x5c]
push eax
call fcn.00422f90
add esp, 0x24
push eax
mov ecx, 0x4771c4
call fcn.00422910
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0x4234a0
mov ecx, dword [esp + 0x58]
push ecx
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0x40]
push edx
push ecx
push eax
call fcn.00414b60
mov edx, dword [esp + 0x50]
push edx
call fcn.00425c92
add esp, 0x14
mov esi, dword [0x4771c8]
cmp esi, ebx
je 0x4234c7
mov ecx, dword [0x4771cc]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x4234d2
call fcn.00443e33
mov esi, dword [0x4771c8]
cmp dword [esi + 0x18], ebp
jb 0x4234dc
mov esi, dword [esi + 4]
jmp 0x4234df
add esi, 4
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, dword [0x4771c8]
cmp esi, ebx
mov edi, eax
je 0x423512
mov ecx, dword [0x4771cc]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
ja 0x42351d
call fcn.00443e33
mov esi, dword [0x4771c8]
cmp dword [esi + 0x34], ebp
jb 0x423527
mov esi, dword [esi + 0x20]
jmp 0x42352a
add esi, 0x20
mov ebp, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push esi
push edi
call ebp
call eax
mov esi, dword [0x4771c8]
cmp esi, ebx
mov dword [esp + 0x68], eax
je 0x423564
mov ecx, dword [0x4771cc]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
ja 0x42356f
call fcn.00443e33
mov esi, dword [0x4771c8]
cmp dword [esi + 0x50], 0x10
jb 0x42357a
mov esi, dword [esi + 0x3c]
jmp 0x42357d
add esi, 0x3c
push esi
push edi
call ebp
mov esi, dword [0x4771c8]
cmp esi, ebx
mov dword [esp + 0x5c], eax
je 0x4235af
mov ecx, dword [0x4771cc]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 3
ja 0x4235ba
call fcn.00443e33
mov esi, dword [0x4771c8]
cmp dword [esi + 0x6c], 0x10
jb 0x4235c5
mov esi, dword [esi + 0x58]
jmp 0x4235c8
add esi, 0x58
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, dword [0x4771c8]
cmp esi, ebx
mov ebp, eax
je 0x4235fc
mov ecx, dword [0x4771cc]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 4
ja 0x423607
call fcn.00443e33
mov esi, dword [0x4771c8]
cmp dword [esi + 0x88], 0x10
jb 0x423615
mov esi, dword [esi + 0x74]
jmp 0x423618
add esi, 0x74
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, dword [0x4771c8]
cmp esi, ebx
mov edi, eax
je 0x42364c
mov ecx, dword [0x4771cc]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 5
ja 0x423657
call fcn.00443e33
mov esi, dword [0x4771c8]
cmp dword [esi + 0xa4], 0x10
jb 0x423668
mov esi, dword [esi + 0x90]
jmp 0x42366e
add esi, 0x90
push esi
push 1
push ebx
call ebp
call edi
cmp eax, 0xb7
jne 0x423687
mov ecx, dword [esp + 0x68]
push ebx
push ecx
call dword [esp + 0x64]
mov esi, dword [0x4771c8]
cmp esi, ebx
je 0x4236b1
mov ecx, dword [0x4771cc]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 6
ja 0x4236bc
call fcn.00443e33
mov esi, dword [0x4771c8]
cmp dword [esi + 0xc0], 0x10
jb 0x4236cd
mov esi, dword [esi + 0xac]
jmp 0x4236d3
add esi, 0xac
mov edi, dword [esp + 0x10]
mov ebp, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push esi
push edi
call ebp
mov esi, dword [0x4771c8]
cmp esi, ebx
mov dword [esp + 0x10], eax
je 0x42370f
mov ecx, dword [0x4771cc]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 7
ja 0x42371a
call fcn.00443e33
mov esi, dword [0x4771c8]
cmp dword [esi + 0xdc], 0x10
jb 0x42372b
mov esi, dword [esi + 0xc8]
jmp 0x423731
add esi, 0xc8
push esi
push edi
call ebp
mov esi, dword [0x4771c8]
cmp esi, ebx
je 0x42375f
mov ecx, dword [0x4771cc]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 8
ja 0x42376a
call fcn.00443e33
mov esi, dword [0x4771c8]
cmp dword [esi + 0xf8], 0x10
jb 0x42377b
mov esi, dword [esi + 0xe4]
jmp 0x423781
add esi, 0xe4
push esi
push edi
call ebp
mov esi, dword [0x4771c8]
cmp esi, ebx
mov dword [esp + 0x30], eax
je 0x4237b3
mov ecx, dword [0x4771cc]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 9
ja 0x4237be
call fcn.00443e33
mov esi, dword [0x4771c8]
cmp dword [esi + 0x114], 0x10
jb 0x4237cf
mov esi, dword [esi + 0x100]
jmp 0x4237d5
add esi, 0x100
push esi
push edi
call ebp
mov esi, dword [0x4771c8]
cmp esi, ebx
mov dword [esp + 0x74], eax
je 0x423807
mov ecx, dword [0x4771cc]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xa
ja 0x423812
call fcn.00443e33
mov esi, dword [0x4771c8]
cmp dword [esi + 0x130], 0x10
jb 0x423823
mov esi, dword [esi + 0x11c]
jmp 0x423829
add esi, 0x11c
push esi
push edi
call ebp
mov esi, dword [0x4771c8]
cmp esi, ebx
mov dword [esp + 0x34], eax
je 0x42385b
mov ecx, dword [0x4771cc]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xb
ja 0x423866
call fcn.00443e33
mov esi, dword [0x4771c8]
cmp dword [esi + 0x14c], 0x10
jb 0x423877
mov esi, dword [esi + 0x138]
jmp 0x42387d
add esi, 0x138
push esi
push edi
call ebp
lea edx, [esp + 0x1b0]
push edx
call fcn.00414ca0
mov eax, dword [esp + 0x1b8]
add esp, 4
cmp dword [esp + 0x1c8], 0x10
jae 0x4238a9
lea eax, [esp + 0x1b4]
push eax
lea ecx, [esp + 0x68]
call fcn.00405ba0
push ebx
mov esi, 0xf
push 0x45f6c0
lea ecx, [esp + 0x1d4]
mov dword [esp + 0x78], 0x7530
mov dword [esp + 0x1ec], esi
mov dword [esp + 0x1e8], ebx
mov byte [esp + 0x1d8], bl
call fcn.004145e0
push 0x45f6c0
lea ecx, [esp + 0x64]
call fcn.00405ba0
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0xf0]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
push 0xffffffffffffffff
mov dword [esp + 0x228], esi
mov dword [esp + 0x224], ebx
mov byte [esp + 0x214], bl
mov dword [esp + 0x244], esi
mov dword [esp + 0x240], ebx
mov byte [esp + 0x230], bl
mov dword [esp + 0x1d4], esi
mov dword [esp + 0x1d0], ebx
mov byte [esp + 0x1c0], bl
mov dword [esp + 0xf4], esi
mov dword [esp + 0xf0], ebx
mov byte [esp + 0xe0], bl
mov dword [esp + 0x12c], esi
mov dword [esp + 0x128], ebx
mov byte [esp + 0x118], bl
push ebx
lea edx, [esp + 0x1dc]
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push edx
mov byte [ecx + 4], bl
call fcn.00413f60
call fcn.00422130
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x34]
add esp, 0x24
push 4
lea eax, [esp + 0x74]
push eax
push 2
push esi
call edi
push 4
lea ecx, [esp + 0x7c]
push ecx
push 0x1f
push esi
mov dword [esp + 0x88], 0x3100
call edi
mov eax, dword [esp + 0xf0]
mov ebp, 0x10
cmp dword [esp + 0x104], ebp
jae 0x4239df
lea eax, [esp + 0xf0]
push 1
push ebx
push 3
push ebx
push ebx
push 0x50
push eax
push esi
call dword [esp + 0x50]
mov ecx, dword [0x4771c8]
cmp ecx, ebx
mov dword [esp + 0x30], eax
je 0x423a1e
mov edi, dword [0x4771cc]
mov esi, edi
sub esi, ecx
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xe
ja 0x423a2f
call fcn.00443e33
mov edi, dword [0x4771cc]
mov ecx, dword [0x4771c8]
cmp dword [ecx + 0x1a0], ebp
jb 0x423a3f
mov esi, dword [ecx + 0x18c]
jmp 0x423a45
lea esi, [ecx + 0x18c]
cmp dword [esp + 0xcc], ebp
mov ebp, dword [esp + 0xb8]
jae 0x423a5c
lea ebp, [esp + 0xb8]
cmp ecx, ebx
je 0x423a7a
sub edi, ecx
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xd
ja 0x423a85
call fcn.00443e33
mov ecx, dword [0x4771c8]
cmp dword [ecx + 0x184], 0x10
jb 0x423a96
mov ecx, dword [ecx + 0x170]
jmp 0x423a9c
add ecx, 0x170
mov edx, dword [esp + 0x30]
push ebx
push 0x80080000
push ebx
push ebx
push esi
push ebp
push ecx
push edx
call dword [esp + 0x94]
push ebx
push ebx
push ebx
mov esi, eax
push ebx
push esi
call dword [esp + 0x48]
push ebx
push 0x45f6c0
lea ecx, [esp + 0x19c]
call fcn.004145e0
mov edi, dword [esp + 0x38]
lea eax, [esp + 0x28]
push eax
push 0x1000
lea ecx, [esp + 0x244]
push ecx
push esi
call edi
test eax, eax
je 0x423b26
lea ecx, [ecx]
mov eax, dword [esp + 0x28]
cmp eax, ebx
jbe 0x423b26
push eax
lea edx, [esp + 0x240]
push edx
lea ecx, [esp + 0x19c]
call fcn.004146b0
lea eax, [esp + 0x28]
push eax
push 0x1000
lea ecx, [esp + 0x244]
push ecx
push esi
call edi
test eax, eax
jne 0x423af0
sub esp, 0x1c
mov edx, esp
mov dword [esp + 0x48], esp
push edx
call fcn.00414880
add esp, 4
lea eax, [esp + 0x1b0]
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.00422f90
mov esi, dword [0x4771c8]
add esp, 0x24
cmp esi, ebx
je 0x423b77
mov ecx, dword [0x4771cc]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0x13
ja 0x423b82
call fcn.00443e33
mov esi, dword [0x4771c8]
mov ecx, dword [esp + 0x18]
cmp ecx, ebx
lea edi, [esi + 0x214]
je 0x423bab
mov esi, dword [esp + 0x1c]
sub esi, ecx
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x423bb4
call fcn.00443e33
mov ecx, dword [esp + 0x18]
push 0xffffffffffffffff
push ebx
push edi
call fcn.00413f60
mov esi, dword [0x4771c8]
cmp esi, ebx
je 0x423be7
mov ecx, dword [0x4771cc]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0x14
ja 0x423bf2
call fcn.00443e33
mov esi, dword [0x4771c8]
lea edi, [esi + 0x230]
mov esi, dword [esp + 0x18]
cmp esi, ebx
je 0x423c1e
mov ecx, dword [esp + 0x1c]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
ja 0x423c27
call fcn.00443e33
mov esi, dword [esp + 0x18]
push 0xffffffffffffffff
push ebx
push edi
lea ecx, [esi + 0x1c]
call fcn.00413f60
mov esi, dword [0x4771c8]
cmp esi, ebx
je 0x423c5d
mov ecx, dword [0x4771cc]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0x15
ja 0x423c68
call fcn.00443e33
mov esi, dword [0x4771c8]
lea edi, [esi + 0x24c]
mov esi, dword [esp + 0x18]
cmp esi, ebx
je 0x423c94
mov ecx, dword [esp + 0x1c]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
ja 0x423c9d
call fcn.00443e33
mov esi, dword [esp + 0x18]
push 0xffffffffffffffff
push ebx
push edi
lea ecx, [esi + 0x38]
call fcn.00413f60
mov eax, dword [esp + 0x18]
cmp eax, ebx
jne 0x423cb5
xor edi, edi
jmp 0x423cce
mov ecx, dword [esp + 0x1c]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov edi, edx
shr edi, 0x1f
add edi, edx
push edi
call fcn.00425c97
add esp, 4
xor esi, esi
cmp edi, ebx
mov dword [esp + 0x24], eax
jle 0x423d36
mov dword [esp + 0x10], ebx
mov ebp, dword [esp + 0x18]
cmp ebp, ebx
je 0x423d0a
mov ecx, dword [esp + 0x1c]
sub ecx, ebp
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x423d13
call fcn.00443e33
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + ebp]
push eax
call fcn.00413ab0
mov edx, dword [esp + 0x28]
add dword [esp + 0x14], 0x1c
mov byte [esi + edx], al
add esi, 1
add esp, 4
cmp esi, edi
jl 0x423ce5
mov eax, dword [esp + 0x24]
push ebx
push 0x413400
push 0x4133e0
push 0x4133d0
push 0x41d0f0
push 0x41d030
push edi
push eax
call fcn.00421e10
mov esi, dword [0x4771c8]
add esp, 0x20
cmp esi, ebx
mov dword [esp + 0x38], eax
je 0x423d8c
mov ecx, dword [0x4771cc]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0x12
ja 0x423d97
call fcn.00443e33
mov esi, dword [0x4771c8]
mov ebp, 0x10
cmp dword [esi + 0x210], ebp
jb 0x423dac
mov esi, dword [esi + 0x1fc]
jmp 0x423db2
add esi, 0x1fc
mov edi, 0xf
mov eax, esi
mov dword [esp + 0x190], edi
mov dword [esp + 0x18c], ebx
mov byte [esp + 0x17c], bl
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x423dd1
sub eax, edx
push eax
push esi
lea ecx, [esp + 0x180]
call fcn.004145e0
cmp dword [esp + 0x190], ebp
mov eax, dword [esp + 0x17c]
jae 0x423e01
lea eax, [esp + 0x17c]
mov ecx, dword [esp + 0x38]
push eax
push ecx
call fcn.00413450
add esp, 8
call eax
mov edx, dword [esp + 0x68]
push ebx
push edx
call dword [esp + 0x64]
mov eax, dword [esp + 0x6c]
push ebx
push eax
push ebx
push ebx
push ebx
push SysReAllocString
push ebx
push SysReAllocString
push 0xcf0000
push 0x4770a8
push 0x477040
push ebx
mov dword [0x4770a4], eax
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov esi, eax
cmp esi, ebx
je 0x4241f8
mov eax, dword [esp + 0x1250]
push eax
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
push ebx
push ebx
push ebx
lea eax, [esp + 0x88]
push eax
call esi
test eax, eax
je 0x423ec1
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x7c]
lea ecx, [esp + 0x7c]
push ecx
push edx
push eax
call dword [sym.imp.USER32.dll_TranslateAcceleratorA]
test eax, eax
jne 0x423eb0
lea ecx, [esp + 0x7c]
push ecx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea edx, [esp + 0x7c]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageA]
push ebx
push ebx
push ebx
lea eax, [esp + 0x88]
push eax
call esi
test eax, eax
jne 0x423e81
cmp dword [esp + 0x190], ebp
mov esi, dword [esp + 0x84]
jb 0x423ee1
mov ecx, dword [esp + 0x17c]
push ecx
call fcn.00425c92
add esp, 4
mov eax, dword [esp + 0x18]
cmp eax, ebx
mov dword [esp + 0x190], edi
mov dword [esp + 0x18c], ebx
mov byte [esp + 0x17c], bl
je 0x423f20
mov edx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x18]
push ecx
push edx
push eax
call fcn.00414b60
mov eax, dword [esp + 0x28]
push eax
call fcn.00425c92
add esp, 0x14
cmp dword [esp + 0x104], ebp
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
jb 0x423f45
mov ecx, dword [esp + 0xf0]
push ecx
call fcn.00425c92
add esp, 4
cmp dword [esp + 0xcc], ebp
mov dword [esp + 0x104], edi
mov dword [esp + 0x100], ebx
mov byte [esp + 0xf0], bl
jb 0x423f73
mov edx, dword [esp + 0xb8]
push edx
call fcn.00425c92
add esp, 4
cmp dword [esp + 0x1ac], ebp
mov dword [esp + 0xcc], edi
mov dword [esp + 0xc8], ebx
mov byte [esp + 0xb8], bl
jb 0x423fa1
mov eax, dword [esp + 0x198]
push eax
call fcn.00425c92
add esp, 4
cmp dword [esp + 0x21c], ebp
mov dword [esp + 0x1ac], edi
mov dword [esp + 0x1a8], ebx
mov byte [esp + 0x198], bl
jb 0x423fcf
mov ecx, dword [esp + 0x208]
push ecx
call fcn.00425c92
add esp, 4
cmp dword [esp + 0x200], ebp
mov dword [esp + 0x21c], edi
mov dword [esp + 0x218], ebx
mov byte [esp + 0x208], bl
jb 0x423ffd
mov edx, dword [esp + 0x1ec]
push edx
call fcn.00425c92
add esp, 4
mov eax, dword [esp + 0x60]
add eax, 0xfffffff0
mov dword [esp + 0x200], edi
mov dword [esp + 0x1fc], ebx
mov byte [esp + 0x1ec], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x424032
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x1e4], ebp
jb 0x42404b
mov ecx, dword [esp + 0x1d0]
push ecx
call fcn.00425c92
add esp, 4
mov eax, dword [esp + 0x64]
add eax, 0xfffffff0
mov dword [esp + 0x1e4], edi
mov dword [esp + 0x1e0], ebx
mov byte [esp + 0x1d0], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x424080
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x1c8], ebp
jb 0x424099
mov ecx, dword [esp + 0x1b4]
push ecx
call fcn.00425c92
add esp, 4
cmp dword [esp + 0xb0], ebp
mov dword [esp + 0x1c8], edi
mov dword [esp + 0x1c4], ebx
mov byte [esp + 0x1b4], bl
jb 0x4240c7
mov edx, dword [esp + 0x9c]
push edx
call fcn.00425c92
add esp, 4
cmp dword [esp + 0x174], ebp
mov dword [esp + 0xb0], edi
mov dword [esp + 0xac], ebx
mov byte [esp + 0x9c], bl
jb 0x4240f5
mov eax, dword [esp + 0x160]
push eax
call fcn.00425c92
add esp, 4
cmp dword [esp + 0x13c], ebp
mov dword [esp + 0x174], edi
mov dword [esp + 0x170], ebx
mov byte [esp + 0x160], bl
jb 0x424123
mov ecx, dword [esp + 0x128]
push ecx
call fcn.00425c92
add esp, 4
cmp dword [esp + 0xe8], ebp
mov dword [esp + 0x13c], edi
mov dword [esp + 0x138], ebx
mov byte [esp + 0x128], bl
jb 0x424151
mov edx, dword [esp + 0xd4]
push edx
call fcn.00425c92
add esp, 4
cmp dword [esp + 0x120], ebp
mov dword [esp + 0xe8], edi
mov dword [esp + 0xe4], ebx
mov byte [esp + 0xd4], bl
jb 0x42417f
mov eax, dword [esp + 0x10c]
push eax
call fcn.00425c92
add esp, 4
cmp dword [esp + 0x158], ebp
mov dword [esp + 0x120], edi
mov dword [esp + 0x11c], ebx
mov byte [esp + 0x10c], bl
jb 0x4241ad
mov ecx, dword [esp + 0x144]
push ecx
call fcn.00425c92
add esp, 4
cmp dword [esp + 0x238], ebp
mov dword [esp + 0x158], edi
mov dword [esp + 0x154], ebx
mov byte [esp + 0x144], bl
jb 0x4241db
mov edx, dword [esp + 0x224]
push edx
call fcn.00425c92
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x123c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004415ae
add esp, 0x1230
ret 0x10
cmp dword [esp + 0x190], ebp
jb 0x424211
mov ecx, dword [esp + 0x17c]
push ecx
call fcn.00425c92
add esp, 4
mov eax, dword [esp + 0x18]
cmp eax, ebx
mov dword [esp + 0x190], edi
mov dword [esp + 0x18c], ebx
mov byte [esp + 0x17c], bl
je 0x424250
mov edx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x18]
push ecx
push edx
push eax
call fcn.00414b60
mov eax, dword [esp + 0x28]
push eax
call fcn.00425c92
add esp, 0x14
cmp dword [esp + 0x104], ebp
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
jb 0x424275
mov ecx, dword [esp + 0xf0]
push ecx
call fcn.00425c92
add esp, 4
cmp dword [esp + 0xcc], ebp
mov dword [esp + 0x104], edi
mov dword [esp + 0x100], ebx
mov byte [esp + 0xf0], bl
jb 0x4242a3
mov edx, dword [esp + 0xb8]
push edx
call fcn.00425c92
add esp, 4
cmp dword [esp + 0x1ac], ebp
mov dword [esp + 0xcc], edi
mov dword [esp + 0xc8], ebx
mov byte [esp + 0xb8], bl
jb 0x4242d1
mov eax, dword [esp + 0x198]
push eax
call fcn.00425c92
add esp, 4
cmp dword [esp + 0x21c], ebp
mov dword [esp + 0x1ac], edi
mov dword [esp + 0x1a8], ebx
mov byte [esp + 0x198], bl
jb 0x4242ff
mov ecx, dword [esp + 0x208]
push ecx
call fcn.00425c92
add esp, 4
cmp dword [esp + 0x200], ebp
mov dword [esp + 0x21c], edi
mov dword [esp + 0x218], ebx
mov byte [esp + 0x208], bl
jb 0x42432d
mov edx, dword [esp + 0x1ec]
push edx
call fcn.00425c92
add esp, 4
mov eax, dword [esp + 0x60]
add eax, 0xfffffff0
mov dword [esp + 0x200], edi
mov dword [esp + 0x1fc], ebx
mov byte [esp + 0x1ec], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x424362
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x1e4], ebp
jb 0x42437b
mov ecx, dword [esp + 0x1d0]
push ecx
call fcn.00425c92
add esp, 4
mov eax, dword [esp + 0x64]
add eax, 0xfffffff0
mov dword [esp + 0x1e4], edi
mov dword [esp + 0x1e0], ebx
mov byte [esp + 0x1d0], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4243b0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x1c8], ebp
jb 0x4243c9
mov ecx, dword [esp + 0x1b4]
push ecx
call fcn.00425c92
add esp, 4
cmp dword [esp + 0xb0], ebp
mov dword [esp + 0x1c8], edi
mov dword [esp + 0x1c4], ebx
mov byte [esp + 0x1b4], bl
jb 0x4243f7
mov edx, dword [esp + 0x9c]
push edx
call fcn.00425c92
add esp, 4
cmp dword [esp + 0x174], ebp
mov dword [esp + 0xb0], edi
mov dword [esp + 0xac], ebx
mov byte [esp + 0x9c], bl
jb 0x424425
mov eax, dword [esp + 0x160]
push eax
call fcn.00425c92
add esp, 4
cmp dword [esp + 0x13c], ebp
mov dword [esp + 0x174], edi
mov dword [esp + 0x170], ebx
mov byte [esp + 0x160], bl
jb 0x424453
mov ecx, dword [esp + 0x128]
push ecx
call fcn.00425c92
add esp, 4
cmp dword [esp + 0xe8], ebp
mov dword [esp + 0x13c], edi
mov dword [esp + 0x138], ebx
mov byte [esp + 0x128], bl
jb 0x424481
mov edx, dword [esp + 0xd4]
push edx
call fcn.00425c92
add esp, 4
cmp dword [esp + 0x120], ebp
mov dword [esp + 0xe8], edi
mov dword [esp + 0xe4], ebx
mov byte [esp + 0xd4], bl
jb 0x4244af
mov eax, dword [esp + 0x10c]
push eax
call fcn.00425c92
add esp, 4
cmp dword [esp + 0x158], ebp
mov dword [esp + 0x120], edi
mov dword [esp + 0x11c], ebx
mov byte [esp + 0x10c], bl
jb 0x4244dd
mov ecx, dword [esp + 0x144]
push ecx
call fcn.00425c92
add esp, 4
cmp dword [esp + 0x238], ebp
mov dword [esp + 0x158], edi
mov dword [esp + 0x154], ebx
mov byte [esp + 0x144], bl
jb 0x42450b
mov edx, dword [esp + 0x224]
push edx
call fcn.00425c92
add esp, 4
xor eax, eax
jmp 0x4241dd