Function at 0x445458
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x3fc
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], ebp
lea edx, [0x446298]
mov dword [esp], edx
lea ecx, [0x446578]
mov dword [esp + 4], ecx
lea eax, [0x446758]
mov dword [esp + 8], eax
lea ebp, [0x446858]
mov dword [esp + 0xc], ebp
lea ebx, [fcn.00446af8]
mov dword [esp + 0x10], ebx
lea ebx, [0x445388]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
call fcn.0042f428
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x54]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
call fcn.00443d90
mov eax, 0
mov dword [0x3442f30], eax
lea ecx, [esp + 0x2cc]
mov dword [0x3443c44], ecx
lea edx, [esp + 0x2e0]
mov dword [0x3443c48], edx
lea eax, [esp + 0x2f4]
mov dword [0x3443c4c], eax
lea ecx, [esp + 0x308]
mov dword [0x3443c50], ecx
lea edx, [esp + 0x1c0]
lea eax, [esp + 0x31c]
mov dword [0x3443c58], eax
mov ecx, 0x104
mov eax, dword [esp + 0x400]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call sub.KERNEL32.dll_GetModuleFileNameA
sub esp, 0xc
mov ecx, 1
mov dword [esp + 0x2c8], ecx
movzx ebx, byte [0x452040]
mov byte [esp + 0x330], bl
movzx edx, byte [0x452044]
mov dword [esp + 0x2c4], edx
mov ebp, ecx
mov eax, 0x104
mov esi, eax
mov edi, 2
nop
nop
nop
movzx ecx, byte [esp + ebp + 0x1bf]
cmp ecx, ebx
je 0x4455bb
movzx edx, byte [esp + ebp + 0x1bf]
mov eax, dword [esp + 0x2c4]
cmp edx, eax
jne 0x4455b6
mov dword [esp + 0x2c8], edi
inc ebp
inc edi
dec esi
jg 0x445588
lea ecx, [esp + 0x1c0]
add ecx, dword [esp + 0x2c8]
dec ecx
mov dword [esp + 4], ecx
mov edx, ebp
sub edx, dword [esp + 0x2c8]
inc edx
mov dword [esp + 0xc], edx
lea ecx, [esp + 0x1c0]
mov dword [esp], ecx
mov edx, 0x104
mov dword [esp + 8], edx
call fcn.0043fb20
movzx ebx, byte [0x452040]
mov byte [esp + 0x330], bl
lea ecx, str.MDIFRAME
mov dword [esp], ecx
lea edi, [esp + 0x330]
mov dword [esp + 4], edi
lea esi, [esp + 0x334]
mov dword [esp + 8], esi
mov ebx, 8
mov dword [esp + 0xc], ebx
mov edx, 1
mov dword [esp + 0x10], edx
mov ecx, 9
mov dword [esp + 0x14], ecx
call fcn.0043f590
mov dword [esp + 0xc], eax
lea edx, [esp + 0x2cc]
mov dword [esp], edx
mov dword [esp + 4], esi
mov edx, 0x14
mov dword [esp + 8], edx
call fcn.0043fb20
movzx ecx, byte [0x452040]
mov byte [esp + 0x330], cl
lea edx, str.MDICLIENT
mov dword [esp], edx
mov dword [esp + 4], edi
lea edx, [esp + 0x340]
mov dword [esp + 8], edx
mov ecx, 9
mov dword [esp + 0xc], ecx
mov ebp, 1
mov dword [esp + 0x10], ebp
mov ebp, 0xa
mov dword [esp + 0x14], ebp
mov dword [esp + 0x54], edx
call fcn.0043f590
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x2e0]
mov dword [esp], ecx
mov edx, dword [esp + 0x54]
mov dword [esp + 4], edx
mov ecx, 0x14
mov dword [esp + 8], ecx
call fcn.0043fb20
movzx edx, byte [0x452040]
mov byte [esp + 0x330], dl
lea ecx, str.MDICHILD
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov edx, 1
mov dword [esp + 0x10], edx
mov ecx, 9
mov dword [esp + 0x14], ecx
call fcn.0043f590
mov dword [esp + 0xc], eax
lea edx, [esp + 0x2f4]
mov dword [esp], edx
mov dword [esp + 4], esi
mov ecx, 0x14
mov dword [esp + 8], ecx
call fcn.0043fb20
movzx edx, byte [0x452040]
mov byte [esp + 0x330], dl
lea ecx, str.MDIGRAPH
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov edx, 1
mov dword [esp + 0x10], edx
mov ecx, 9
mov dword [esp + 0x14], ecx
call fcn.0043f590
mov dword [esp + 0xc], eax
lea edx, [esp + 0x308]
mov dword [esp], edx
mov dword [esp + 4], esi
mov ecx, 0x14
mov dword [esp + 8], ecx
call fcn.0043fb20
movzx edx, byte [0x452040]
mov byte [esp + 0x330], dl
lea ecx, [0x452078]
mov dword [esp], ecx
mov dword [esp + 4], edi
lea edx, [esp + 0x34c]
mov dword [esp + 8], edx
mov ecx, 0xc
mov dword [esp + 0xc], ecx
mov ecx, 1
mov dword [esp + 0x10], ecx
mov eax, 0xd
mov dword [esp + 0x14], eax
mov dword [esp + 0x54], edx
call fcn.0043f590
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x35c]
mov dword [esp], ecx
mov edx, dword [esp + 0x54]
mov dword [esp + 4], edx
mov ecx, 0x14
mov dword [esp + 8], ecx
call fcn.0043fb20
movzx edx, byte [0x452040]
mov byte [esp + 0x330], dl
lea ecx, str.MainMenu
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov edx, 1
mov dword [esp + 0x10], edx
mov ecx, 9
mov dword [esp + 0x14], ecx
call fcn.0043f590
mov dword [esp + 0xc], eax
lea edx, [esp + 0x31c]
mov dword [esp], edx
mov dword [esp + 4], esi
mov ecx, 0x14
mov dword [esp + 8], ecx
call fcn.0043fb20
movzx edx, byte [0x452040]
mov byte [esp + 0x330], dl
lea ecx, str.MDIAccel
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov edx, 1
mov dword [esp + 0x10], edx
mov ecx, 9
mov dword [esp + 0x14], ecx
call fcn.0043f590
mov dword [esp + 0xc], eax
lea edx, [esp + 0x370]
mov dword [esp], edx
mov dword [esp + 4], esi
mov ecx, 0x14
mov dword [esp + 8], ecx
call fcn.0043fb20
mov edx, 0
mov dword [0x344475c], edx
mov dword [0x3444760], edx
mov dword [0x3444764], edx
mov ecx, 0x320
mov dword [0x3443c60], ecx
mov dword [0x3443c40], edx
mov dword [0x3442f34], edx
lea edx, [esp + 0x400]
mov dword [esp], edx
lea ecx, [esp + 0x404]
mov dword [esp + 4], ecx
call fcn.00447268
test eax, eax
jne 0x445906
mov edx, 0
mov dword [esp + 0x384], edx
jmp 0x445b4f
mov esi, dword [esp + 0x400]
mov dword [esp], esi
mov ecx, dword [0x3443c58]
mov dword [esp + 4], ecx
call sub.USER32.dll_LoadMenuA
sub esp, 8
mov edx, eax
mov dword [0x3443c54], edx
mov ecx, 3
mov dword [esp], edx
mov dword [esp + 4], ecx
call sub.USER32.dll_GetSubMenu
sub esp, 8
mov edx, eax
mov dword [0x3443c5c], edx
lea ecx, [esp + 0x370]
mov dword [esp], esi
mov dword [esp + 4], ecx
call sub.USER32.dll_LoadAcceleratorsA
sub esp, 8
mov edx, eax
mov dword [0x3444434], edx
mov ecx, 0xffffffff
mov dword [esp + 0x388], ecx
mov ebx, 0
mov dword [esp + 0x38c], ebx
mov dword [esp + 0x390], ebx
lea edx, [esp + 0x388]
mov dword [esp], edx
lea ecx, [esp + 0x38c]
mov dword [esp + 4], ecx
lea edx, [esp + 0x390]
mov dword [esp + 8], edx
call fcn.00446af8
mov ecx, 0x2cf0000
mov edx, 0x80000000
mov esi, dword [0x3443c44]
mov dword [esp], esi
lea esi, [esp + 0x1c0]
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ebx
mov ecx, dword [0x3443c54]
mov dword [esp + 0x20], ecx
mov edx, dword [0x3443c30]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ebx
call fcn.0044eed0
sub esp, 0x2c
mov edi, eax
test edi, edi
mov dword [0x3443c34], edi
jne 0x445a2b
mov eax, 6
mov dword [esp + 0x384], eax
jmp 0x445b4f
mov ecx, 5
mov dword [esp], edi
mov dword [esp + 4], ecx
call sub.USER32.dll_ShowWindow
sub esp, 8
mov edx, dword [0x3443c34]
mov dword [esp], edx
call sub.USER32.dll_UpdateWindow
sub esp, 4
mov ecx, 0xf
mov edx, dword [0x3443c4c]
mov dword [esp + 0x3a4], edx
lea edx, [esp + 0x35c]
mov dword [esp + 0x3a8], edx
mov edx, dword [0x3443c30]
mov dword [esp + 0x3ac], edx
mov dword [esp + 0x3b0], ecx
mov dword [esp + 0x3b4], ecx
mov ecx, 0x258
mov dword [esp + 0x3b8], ecx
mov edx, 0x12c
mov dword [esp + 0x3bc], edx
mov ecx, 0x300000
mov dword [esp + 0x3c0], ecx
mov edx, 0
mov dword [esp + 0x3c4], edx
mov ecx, 0x220
lea ebx, [esp + 0x3a4]
mov dword [esp + 0xc], ebx
mov ebx, dword [0x3443c38]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sub.USER32.dll_SendMessageA
sub esp, 0x10
test eax, eax
mov dword [0x3443c3c], eax
jne 0x445b0c
mov eax, 6
mov dword [esp + 0x384], eax
jmp 0x445b4f
mov ecx, 1
mov dword [0x34429b0], ecx
mov edx, 0x64
mov dword [0x34429b4], edx
mov dword [0x34429b8], ebp
mov dword [0x3444438], ecx
mov esi, 0
mov ebp, ecx
mov edi, edx
nop
mov dword [ebp*4 + 0x3444438], esi
mov dword [ebp*4 + 0x34445c8], esi
inc ebp
dec edi
jg 0x445b38
call fcn.00402860
mov eax, dword [esp + 0x384]
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
add esp, 0x3fc
ret 0x10