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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x378
mov eax, dword [0x44500c]
xor eax, esp
mov dword [esp + 0x374], eax
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x18]
push esi
push edi
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x14], 0
push dword [esp + 0x14]
mov dword [esp + 0x28], eax
call fcn.0041c5a0
mov ecx, eax
call fcn.0041adf0
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
push eax
call fcn.0041acd0
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
mov dword [0x4457f0], eax
call fcn.0041c690
mov ecx, eax
call fcn.0041adf0
push eax
lea ecx, [esp + 0x94]
call fcn.00409580
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
call fcn.0041c6d0
mov ecx, eax
call fcn.0041adf0
push 1
mov esi, eax
lea ecx, [esp + 0x94]
push 0
lea eax, [esp + 0xb8]
push eax
call fcn.00409320
mov edx, esi
mov ecx, eax
call fcn.0040a770
lea ecx, [esp + 0xb0]
mov byte [esp + 0x1b], al
call fcn.00409500
cmp byte [esp + 0x1b], 0
je 0x41a1a6
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
call fcn.0041c710
mov ecx, eax
call fcn.0041adf0
push eax
lea ecx, [esp + 0x94]
call fcn.004094c0
lea ecx, [esp + 0x90]
call fcn.00409500
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
call fcn.0041c750
mov ecx, eax
call fcn.0041adf0
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
push eax
call fcn.0041acf0
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
mov dword [0x4457e8], eax
call fcn.0041c840
mov ecx, eax
call fcn.0041adf0
push eax
lea ecx, [esp + 0x94]
call fcn.00409580
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
call fcn.0041c880
mov ecx, eax
call fcn.0041adf0
push eax
lea ecx, [esp + 0x94]
call fcn.004094b0
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
call fcn.0041c8c0
mov ecx, eax
call fcn.0041adf0
mov edx, eax
lea ecx, [esp + 0x90]
call fcn.0040a770
test al, al
je 0x41a2d5
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
call fcn.0041c900
mov ecx, eax
call fcn.0041adf0
push eax
lea ecx, [esp + 0x94]
call fcn.004094c0
lea ecx, [esp + 0x90]
call fcn.00409500
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
call fcn.0041c940
mov ecx, eax
call fcn.0041adf0
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
push eax
call fcn.0041ad10
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
mov dword [0x4457ec], eax
call fcn.0041ca30
mov ecx, eax
call fcn.0041adf0
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
push eax
call fcn.0041ad30
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
call fcn.0041cb20
mov ecx, eax
call fcn.0041adf0
push eax
lea ecx, [esp + 0x94]
call fcn.00409580
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
call fcn.0041cb60
mov ecx, eax
call fcn.0041adf0
push eax
lea ecx, [esp + 0x94]
call fcn.004094b0
lea ecx, [esp + 0x90]
call fcn.00409500
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
call fcn.0041cba0
mov ecx, eax
call fcn.0041adf0
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
push eax
call fcn.0041ad50
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
call fcn.0041cc90
mov ecx, eax
call fcn.0041adf0
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
push eax
call fcn.0041ad70
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
mov dword [0x445800], eax
call fcn.0041cd80
mov ecx, eax
call fcn.0041adf0
push eax
lea ecx, [esp + 0x94]
call fcn.00409580
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
call fcn.0041cdc0
mov ecx, eax
call fcn.0041adf0
push eax
lea ecx, [esp + 0x94]
call fcn.004094b0
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
call fcn.0041ce00
mov ecx, eax
call fcn.0041adf0
push eax
lea ecx, [esp + 0x94]
call fcn.004094b0
lea ecx, [esp + 0x90]
call fcn.00409500
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
call fcn.0041ce40
mov ecx, eax
call fcn.0041adf0
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
push eax
call fcn.0041ad90
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x30]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
mov dword [0x4457f8], eax
call fcn.0041cf30
mov ecx, eax
call fcn.0041ae40
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
push eax
call fcn.0041adb0
mov dword [0x4457fc], eax
call fcn.0041d070
push 0x104
lea ecx, [esp + 0x174]
push ecx
push 0
call eax
lea eax, [esp + 0x170]
push eax
lea ecx, [esp + 0xcc]
call fcn.004092e0
lea ecx, [esp + 0xc8]
call fcn.00409370
sub esp, 0x1c
mov byte [esp + 0x28], 0
mov esi, esp
mov byte [esp + 0x2f], 0
mov byte [esp + 0x33], 0
lea ecx, [esp + 0x3c]
mov edi, eax
push dword [esp + 0x28]
push dword [esp + 0x33]
push dword [esp + 0x3b]
call fcn.0041d0f0
push ecx
mov ecx, eax
call fcn.0041adf0
add esp, 4
mov ecx, esi
push eax
call fcn.00409580
lea ecx, [esp + 0xac]
call fcn.00419060
add esp, 0x18
mov ecx, eax
call fcn.00409270
push eax
lea ecx, [esp + 0xd0]
call fcn.0041b0e0
inc eax
lea ecx, [esp + 0xc8]
push edi
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.0041b0c0
push eax
lea ecx, [esp + 0xcc]
call fcn.00415e50
lea ecx, [esp + 0xb0]
call fcn.004092d0
lea ecx, [esp + 0x90]
call fcn.004092d0
lea ecx, [esp + 0xc8]
call fcn.00409370
sub eax, 4
push eax
push 0
lea eax, [esp + 0xb8]
push eax
call fcn.0041b0c0
push eax
mov ecx, 0x44587c
call fcn.00415e50
lea ecx, [esp + 0xb0]
call fcn.004092d0
call fcn.0041d130
call eax
test eax, eax
je 0x41a6a8
push ecx
lea ecx, [esp + 0x24]
call fcn.00418f80
push 0x44303c
lea eax, [esp + 0x24]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
call fcn.00419e40
call fcn.00419f10
test eax, eax
jne 0x41a729
call fcn.0041d1b0
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
mov edi, eax
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
call fcn.0041d2c0
mov ecx, eax
call fcn.0041adf0
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x30]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
mov esi, eax
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
call fcn.0041d230
mov ecx, eax
call fcn.0041ae40
push 0x30
push esi
push eax
push 0
call edi
call fcn.0041d300
push 1
call eax
add esp, 4
call fcn.0041ecb0
push 0x403d10
lea ecx, [esp + 0x114]
call fcn.0040ef40
lea ecx, [esp + 0x110]
call fcn.00403830
push dword [0x4457e4]
call dword [sym.imp.USER32.dll_UpdateWindow]
sub esp, 0xc
lea ecx, [esp + 0x13c]
call fcn.00418ee0
push 0
mov eax, ecx
push eax
lea eax, [esp + 0x114]
push eax
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
call fcn.00411f00
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
call fcn.0041d380
mov ecx, eax
call fcn.0041adf0
push eax
lea ecx, [esp + 0x11c]
call fcn.00409580
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
call fcn.0041d3c0
mov ecx, eax
call fcn.0041adf0
push eax
lea ecx, [esp + 0xb4]
call fcn.00409580
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
call fcn.0041d400
mov ecx, eax
call fcn.0041adf0
mov edx, eax
lea ecx, [esp + 0xb0]
call fcn.0040a770
test al, al
je 0x41a8a7
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
call fcn.0041d440
mov ecx, eax
call fcn.0041adf0
push eax
lea ecx, [esp + 0x94]
call fcn.00409580
mov byte [esp + 0xc], 0
lea ecx, [esp + 0x20]
push dword [esp + 0xc]
mov byte [esp + 0x17], 0
push dword [esp + 0x17]
mov byte [esp + 0x1f], 0
push dword [esp + 0x1f]
call fcn.0041d480
mov ecx, eax
call fcn.0041adf0
push eax
lea ecx, [esp + 0x94]
call fcn.004094c0
lea ecx, [esp + 0x90]
call fcn.00409500
lea ecx, [esp + 0xb0]
call fcn.00409500
lea ecx, [esp + 0x118]
call fcn.00409500
sub esp, 0x18
mov byte [esp + 0x24], 0
mov esi, esp
mov byte [esp + 0x2b], 0
mov byte [esp + 0x2f], 0
lea ecx, [esp + 0x38]
push dword [esp + 0x24]
push dword [esp + 0x2f]
push dword [esp + 0x37]
call fcn.0041d4c0
mov ecx, eax
call fcn.0041adf0
push eax
mov ecx, esi
call fcn.00409580
lea ecx, [esp + 0x158]
call fcn.00419060
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x158]
add esp, 0x18
mov dword [esp + 0x68], 0
xorps xmm0, xmm0
mov dword [esp + 0x78], eax
movlpd qword [esp + 0x70], xmm0
movlpd qword [esp + 0x7c], xmm0
movlpd qword [esp + 0x84], xmm0
call fcn.00409270
mov dword [esp + 0x8c], eax
mov dword [esp + 0x6c], 0x419820
call fcn.0041d500
lea ecx, [esp + 0x68]
push ecx
call eax
call fcn.0041d580
push 0xf
push 0xf
push 0x258
push 0x190
push 0
push 0
call eax
mov dword [esp + 0xc], eax
call fcn.0041d600
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 1
mov dword [esp + 0x20], eax
call esi
cdq
sub eax, edx
mov edi, eax
sar edi, 1
push 0
sub edi, 0x12c
call esi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
sub esi, 0xc8
call fcn.00419730
lea ecx, [esp + 0x140]
mov edx, eax
call fcn.00409270
push 0
push 0
push 0
push 0
push 0x257
push 0x18f
push edi
push esi
push 0x96000000
push edx
push eax
push 0x20
call dword [esp + 0x4c]
mov esi, eax
mov dword [0x4457e4], esi
call fcn.0041d680
push 0
push dword [esp + 0x10]
push esi
call eax
mov byte [esp + 0x1c], 0
lea ecx, [esp + 0x20]
push dword [esp + 0x1c]
mov byte [esp + 0x10], 0
push dword [esp + 0x10]
mov byte [esp + 0x1b], 0
push dword [esp + 0x1b]
call fcn.0041d700
mov ecx, eax
call fcn.0041adf0
push eax
lea ecx, [esp + 0x94]
call fcn.00409580
mov byte [esp + 0x1c], 0
lea ecx, [esp + 0x20]
push dword [esp + 0x1c]
mov byte [esp + 0x10], 0
push dword [esp + 0x10]
mov byte [esp + 0x1b], 0
push dword [esp + 0x1b]
call fcn.0041d740
mov ecx, eax
call fcn.0041adf0
push 1
mov esi, eax
lea ecx, [esp + 0x94]
push 0
lea eax, [esp + 0x120]
push eax
call fcn.00409320
mov edx, esi
mov ecx, eax
call fcn.0040a770
lea ecx, [esp + 0x118]
mov byte [esp + 0x1b], al
call fcn.00409500
cmp byte [esp + 0x1b], 0
je 0x41aac2
mov byte [esp + 0x1c], 0
lea ecx, [esp + 0x20]
push dword [esp + 0x1c]
mov byte [esp + 0x10], 0
push dword [esp + 0x10]
mov byte [esp + 0x1b], 0
push dword [esp + 0x1b]
call fcn.0041d780
mov ecx, eax
call fcn.0041adf0
push eax
lea ecx, [esp + 0x94]
call fcn.004094c0
lea ecx, [esp + 0x90]
call fcn.00409500
sub esp, 0x18
mov byte [esp + 0x34], 0
mov esi, esp
mov byte [esp + 0x24], 0
mov byte [esp + 0x2b], 0
lea ecx, [esp + 0x38]
push dword [esp + 0x34]
push dword [esp + 0x28]
push dword [esp + 0x33]
call fcn.0041d860
mov ecx, eax
call fcn.0041adf0
push eax
mov ecx, esi
call fcn.00409580
lea ecx, [esp + 0x48]
call fcn.00419060
add esp, 0x18
mov ecx, eax
call fcn.00409270
mov edi, eax
mov byte [esp + 0x1c], 0
lea eax, [esp + 0xc8]
mov byte [esp + 0xc], 0
push eax
sub esp, 0x18
mov byte [esp + 0x2f], 0
mov esi, esp
lea ecx, [esp + 0xac]
push dword [esp + 0x38]
push dword [esp + 0x2c]
push dword [esp + 0x37]
call fcn.0041d7c0
push ecx
mov ecx, eax
call fcn.0041adf0
add esp, 4
mov ecx, esi
push eax
call fcn.00409580
lea ecx, [esp + 0xcc]
call fcn.00419060
add esp, 0x18
mov ecx, eax
call fcn.00409270
mov edx, eax
lea ecx, [esp + 0x11c]
call fcn.0041d800
add esp, 4
lea ecx, [esp + 0x158]
mov edx, eax
push edi
call fcn.0041d8a0
add esp, 4
lea ecx, [esp + 0x118]
call fcn.004092d0
lea ecx, [esp + 0xb0]
call fcn.004092d0
lea ecx, [esp + 0x30]
call fcn.004092d0
call fcn.0041d8d0
mov esi, eax
call fcn.0041d950
lea ecx, [esp + 0x158]
mov edx, eax
call fcn.00409270
push eax
push 0
call edx
push 0
push 0
push 0x10
push eax
call esi
xorps xmm0, xmm0
mov dword [esp + 0xf8], 0
movaps xmmword [esp + 0xe0], xmm0
movq qword [esp + 0xf0], xmm0
call fcn.0041d9d0
push 0
push 0
push 0
push dword [0x4457e4]
lea ecx, [esp + 0xf0]
push ecx
call eax
test eax, eax
je 0x41ac9c
call fcn.0041da50
push 0
push 0
push dword [0x4457e4]
lea ecx, [esp + 0xec]
push ecx
call eax
test eax, eax
jne 0x41ac5f
call fcn.0041dad0
push dword [0x4457f4]
call eax
xor ecx, ecx
call fcn.0041e400
call fcn.0041db50
push 1
call eax
add esp, 4
call fcn.0041dbd0
lea ecx, [esp + 0xe0]
push ecx
call eax
call fcn.0041dc50
lea ecx, [esp + 0xe0]
push ecx
call eax
call fcn.0041d9d0
push 0
push 0
push 0
push dword [0x4457e4]
lea ecx, [esp + 0xf0]
push ecx
call eax
test eax, eax
jne 0x41ac22
call fcn.0041dcd0
call eax
test eax, eax
jne 0x41acb5
call fcn.0041dd50
push 1
call eax
jmp 0x41ac03
push ecx
lea ecx, [esp + 0x24]
call fcn.00418fa0
push 0x44304c
lea eax, [esp + 0x24]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
int3