Function at 0x4123e0
Capabilities:
Terminate process

Disassembly:
push 0xffffffffffffffff
push 0x437ad2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, dword [esp + 0x14]
push ebx
push ebp
push esi
push edi
mov esi, ecx
push eax
push 0x66
mov dword [esp + 0x18], esi
call fcn.0042a180
lea edi, [esi + 0x84]
xor ebp, ebp
mov ecx, edi
mov dword [esp + 0x1c], ebp
call sub.MFC42.DLL_CWnd::CWnd
mov dword [edi], 0x43aa74
push ebp
lea ecx, [esi + 0xc4]
mov byte [esp + 0x20], 1
call fcn.00410e20
push ebp
lea ecx, [esi + 0x128]
mov byte [esp + 0x20], 2
call fcn.004272a0
push ebp
lea ecx, [esi + 0x194]
mov byte [esp + 0x20], 3
call fcn.0040d310
lea edi, [esi + 0x234]
mov byte [esp + 0x1c], 4
mov ecx, edi
call sub.MFC42.DLL_CWnd::CWnd
mov dword [edi], 0x43a9b0
lea edi, [esi + 0x274]
mov byte [esp + 0x1c], 5
mov ecx, edi
call sub.MFC42.DLL_CWnd::CWnd
mov dword [edi], 0x43a9b0
mov dword [esi + 0x2b8], ebp
mov dword [esi + 0x2b4], 0x439a38
mov dword [esi + 0x2c0], ebp
mov dword [esi + 0x2bc], 0x439a38
lea ecx, [esi + 0x45c]
mov byte [esp + 0x1c], 8
call fcn.00425aa0
lea ecx, [esi + 0x460]
mov byte [esp + 0x1c], 9
call fcn.00426bd0
lea ecx, [esi + 0x474]
mov byte [esp + 0x1c], 0xa
call fcn.00429860
lea ecx, [esi + 0x4b0]
mov byte [esp + 0x1c], 0xb
call fcn.00427cb0
lea ecx, [esi + 0x4d0]
mov byte [esp + 0x1c], 0xc
call fcn.00401730
lea ecx, [esi + 0x4e8]
mov byte [esp + 0x1c], 0xd
call fcn.00427770
lea ecx, [esi + 0x51c]
mov byte [esp + 0x1c], 0xe
call fcn.0042ab80
mov byte [esp + 0x1c], 0xf
lea ecx, [esi + 0x530]
call fcn.00428a40
lea ecx, [esi + 0x544]
mov byte [esp + 0x1c], 0x10
call fcn.00401600
lea ecx, [esi + 0x554]
mov byte [esp + 0x1c], 0x11
call fcn.0040a940
lea ecx, [esi + 0x560]
mov byte [esp + 0x1c], 0x12
call fcn.00427aa0
mov cl, byte [esp + 0x24]
lea ebx, [esi + 0x57c]
mov byte [ebx], cl
mov dword [ebx + 4], ebp
mov dword [ebx + 8], ebp
mov dword [ebx + 0xc], ebp
mov dl, byte [esp + 0x24]
mov dword [esi + 0x590], ebp
mov byte [esi + 0x58c], dl
mov dword [esi + 0x594], ebp
mov dword [esi + 0x598], ebp
mov al, byte [esp + 0x24]
mov dword [esi + 0x5a0], ebp
mov byte [esi + 0x59c], al
mov dword [esi + 0x5a4], ebp
mov dword [esi + 0x5a8], ebp
mov cl, byte [esp + 0x24]
mov dword [esi + 0x5b0], ebp
mov byte [esi + 0x5ac], cl
mov dword [esi + 0x5b4], ebp
mov dword [esi + 0x5b8], ebp
mov dl, byte [esp + 0x24]
mov dword [esi + 0x5c0], ebp
mov byte [esi + 0x5bc], dl
mov dword [esi + 0x5c4], ebp
mov dword [esi + 0x5c8], ebp
lea ecx, [esi + 0x5cc]
mov byte [esp + 0x1c], 0x18
call fcn.004013c0
lea edi, [esi + 0x5e0]
mov eax, 0x400
mov dword [esp + 0x24], edi
mov dword [edi + 4], ebp
mov dword [edi + 8], ebp
mov dword [edi + 0xc], ebp
mov dword [edi + 0x10], 1
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0x34], 0x110
mov dword [edi + 0x50], ebp
mov dword [edi + 0x40], 0xffffffff
mov dword [edi + 0x44], ebp
mov dword [edi + 0x48], ebp
mov dword [edi + 0x4c], ebp
mov eax, dword [edi + 0x10]
mov ecx, edi
push eax
mov byte [esp + 0x20], 0x1a
call fcn.00424000
add edi, 0x14
push edi
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea ecx, [esi + 0x1234]
mov byte [esp + 0x1c], 0x1b
call fcn.0042a402
lea ecx, [esi + 0x1248]
mov byte [esp + 0x1c], 0x1c
call fcn.0042a402
lea ecx, [esi + 0x125c]
mov byte [esp + 0x1c], 0x1d
call fcn.00410580
lea edi, [esi + 0x1260]
mov eax, 0x400
mov dword [esp + 0x24], edi
mov dword [edi + 4], ebp
mov dword [edi + 8], ebp
mov dword [edi + 0xc], ebp
mov dword [edi + 0x10], 1
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0x34], 0x10c
mov dword [edi + 0x50], ebp
mov dword [edi + 0x40], 0xffffffff
mov dword [edi + 0x44], ebp
mov dword [edi + 0x48], ebp
mov dword [edi + 0x4c], ebp
mov ecx, dword [edi + 0x10]
mov byte [esp + 0x1c], 0x1f
push ecx
mov ecx, edi
call fcn.00424090
add edi, 0x14
push edi
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [esi], 0x43a8d8
mov dword [esi + 0x60], ebp
mov dword [esi + 0x64], ebp
mov dword [esi + 0x74], ebp
mov dword [esi + 0x78], ebp
mov dword [esi + 0x1eb4], ebp
mov dword [esi + 0x2f4], ebp
mov dword [esi + 0x2f8], ebp
mov dword [esi + 0x41c], ebp
mov dword [esi + 0x420], ebp
mov dword [esi + 0x428], ebp
mov dword [esi + 0x410], ebp
mov dword [esi + 0x430], ebp
mov dword [esi + 0x434], ebp
mov dword [esi + 0x414], ebp
mov dword [esi + 0x438], ebp
mov dword [esi + 0x408], ebp
mov dword [esi + 0x40c], ebp
mov dword [esi + 0x404], ebp
mov dword [esi + 0x42c], ebp
mov dword [esi + 0x43c], ebp
mov dword [esi + 0x448], ebp
mov dword [esi + 0x458], ebp
mov dword [esi + 0x44c], ebp
mov dword [esi + 0x450], ebp
mov dword [esi + 0x444], ebp
mov eax, dword [ebx + 8]
mov edi, dword [ebx + 4]
mov ecx, eax
mov byte [esp + 0x1c], 0x20
cmp ecx, eax
je 0x41277e
mov edx, dword [ecx]
add ecx, 4
mov dword [edi], edx
add edi, 4
cmp ecx, eax
jne 0x412770
mov eax, dword [ebx + 8]
mov ecx, ebx
push eax
push edi
call fcn.004241c0
mov dword [ebx + 8], edi
lea ebx, [esi + 0x5f4]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [esi + 0x5ec], ebp
mov ecx, dword [esi + 0x624]
xor eax, eax
cmp ecx, ebp
mov dword [esi + 0x630], ebp
mov dword [esi + 0x620], 0xffffffff
mov dword [esi + 0x62c], ebp
jle 0x4127d8
lea ecx, [esi + 0x638]
mov dword [ecx], ebp
mov edx, dword [esi + 0x624]
inc eax
add ecx, 0xc
cmp eax, edx
jl 0x4127c8
mov ecx, dword [esi + 0x5e8]
mov edi, dword [esi + 0x5e4]
shl ecx, 2
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push ebx
and ecx, 3
rep stosb byte es:[edi], al
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esi + 0x594]
mov edi, dword [esi + 0x590]
mov eax, ecx
cmp eax, ecx
je 0x41281e
mov edx, dword [eax]
add eax, 4
mov dword [edi], edx
add edi, 4
cmp eax, ecx
jne 0x412810
mov eax, dword [esi + 0x594]
lea ebx, [esi + 0x58c]
push eax
push edi
mov ecx, ebx
call fcn.004241c0
push 0xffffffffffffffff
push ebp
lea ecx, [esi + 0x1248]
mov dword [ebx + 8], edi
call sub.MFC42.DLL_CStringArray::SetSize
push 0x1000000
call sub.MFC42.DLL_operatornew
mov edi, eax
add esp, 4
cmp edi, ebp
mov dword [esi + 0x440], edi
jne 0x412879
mov ecx, dword [esi + 0x20]
push ebp
push 0x44114c
push 0x448928
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
push ebp
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, 0x400000
xor eax, eax
rep stosd dword es:[edi], eax
call sub.MFC42.DLL_AfxGetModuleState
push 0x80
push 0xe
push 0x80
call sub.MFC42.DLL_AfxFindResourceHandle
push eax
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [esi + 0x80], eax
mov dword [esi + 0x2e8], ebp
mov dword [esi + 0x2e4], ebp
call sub.MFC42.DLL_AfxGetModuleState
push 0x7f00
push ebp
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x441128
push 0x20
push ebp
push ebp
push ebp
push ebp
mov edi, dword [sym.imp.GDI32.dll_CreateFontA]
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
push 0xc
mov dword [esi + 0x2f0], eax
call edi
push eax
lea ecx, [esi + 0x2b4]
call sub.MFC42.DLL_CGdiObject::Attach
push 0x441128
push 0x20
push ebp
push ebp
push ebp
push 1
push ebp
push 1
push ebp
push ebp
push ebp
push ebp
push ebp
push 0xc
call edi
push eax
lea ecx, [esi + 0x2bc]
call sub.MFC42.DLL_CGdiObject::Attach
call fcn.0040de90
mov dword [esi + 0x4e4], eax
call fcn.004112e0
mov dword [esi + 0x528], eax
call fcn.00429fe0
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x52c], eax
mov dword [0x44f670], ebp
mov dword [esi + 0x1eb8], ebp
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret 4