Function at 0x4303c0
Capabilities:
Hide graphical window
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x308
mov eax, dword [0x46900c]
xor eax, esp
mov dword [esp + 0x304], eax
push esi
mov esi, dword [ebp + 8]
xorps xmm0, xmm0
push edi
push 0x7f00
push 0
movlpd qword [esp + 0x10c], xmm0
mov dword [esp + 0x118], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x100], 0x30
mov dword [esp + 0x104], 3
mov dword [esp + 0x108], 0x42ffb0
mov dword [esp + 0x114], esi
call dword [sym.imp.USER32.dll_LoadCursorW]
mov dword [esp + 0x114], eax
lea eax, [esp + 0xf8]
push eax
mov dword [esp + 0x11c], 6
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0x45fe58
call dword [sym.imp.USER32.dll_RegisterClassExW]
test ax, ax
je 0x431388
movaps xmm0, xmmword [0x460320]
lea eax, [esp + 0xe8]
push 0
push 0xcf0000
push eax
movups xmmword [esp + 0xf4], xmm0
call dword [sym.imp.USER32.dll_AdjustWindowRect]
mov eax, dword [esp + 0xf4]
sub eax, dword [esp + 0xec]
push 0
push esi
push 0
push 0
push eax
mov eax, dword [esp + 0x104]
sub eax, dword [esp + 0xfc]
push eax
push Ordinal_2
push Ordinal_2
push 0xcf0000
push str.Marching_Cubes_Demo
push str.DX11BookWindowClass
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov esi, eax
mov dword [esp + 0x5c], esi
test esi, esi
je 0x431388
push dword [ebp + 0x14]
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x46a5cc
lea eax, [esp + 0x220]
mov dword [esp + 0x12c], 0x500
push eax
push 0x46a56c
lea eax, [esp + 0xbc]
mov dword [esp + 0x138], 0x2d0
push eax
lea eax, [esp + 0x138]
mov dword [esp + 0x140], 0
push eax
push 7
push 0
push 0
push 0
push 0
push 1
push 0
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0x1c
mov dword [esp + 0x16c], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 1
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0x20
mov dword [esp + 0x180], 1
mov dword [esp + 0x184], esi
mov dword [esp + 0x188], 1
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
call dword [sym.imp.d3d11.dll_D3D11CreateDeviceAndSwapChain]
mov eax, dword [0x46a56c]
lea edx, [esp + 0xcc]
push edx
push 0
mov dword [esp + 0x1f8], 0x500
lea edx, [esp + 0x1f8]
mov dword [esp + 0x1fc], 0x2d0
mov dword [esp + 0x200], 1
mov dword [esp + 0x204], 1
mov dword [esp + 0x208], 0x2d
mov dword [esp + 0x20c], 1
mov dword [esp + 0x210], 0
mov dword [esp + 0x214], 0
mov dword [esp + 0x218], 0x40
mov dword [esp + 0x21c], 0
mov dword [esp + 0x220], 0
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x14]
mov eax, dword [0x46a56c]
lea edx, [esp + 0xc0]
push edx
push 0
push dword [esp + 0xd4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x28]
mov eax, dword [esp + 0xb0]
lea edx, [esp + 0xb4]
push edx
push 0x45f570
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
mov eax, dword [0x46a56c]
lea edx, [esp + 0xac]
push edx
push 0
push dword [esp + 0xbc]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
mov eax, dword [esp + 0xb4]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [0x46a5cc]
lea edx, [esp + 0xac]
push dword [esp + 0xc0]
push edx
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x84]
mov eax, dword [0x46a5cc]
lea edx, [esp + 0x220]
movaps xmm0, xmmword [0x460370]
push edx
movups xmmword [esp + 0x224], xmm0
mov dword [esp + 0x234], 0
mov dword [esp + 0x238], 0x3f800000
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0xb0]
movaps xmm0, xmmword [0x4602b0]
lea edx, [esp + 0xd0]
mov eax, dword [0x46a56c]
movups xmmword [esp + 0x238], xmm0
push edx
movaps xmm0, xmmword [0x4602a0]
lea edx, [esp + 0x23c]
mov dword [esp + 0x250], 0
mov dword [esp + 0x24c], 0
movups xmmword [esp + 0x254], xmm0
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x58]
mov eax, dword [0x46a5cc]
push dword [esp + 0xd0]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xac]
mov edi, dword [sym.imp.D3DCOMPILER_47.dll_D3DReadFileToBlob]
lea eax, [esp + 0xa8]
push eax
push str.VertexShader.cso
mov dword [esp + 0x2a8], str.POSITION
mov dword [esp + 0x2ac], 0
mov dword [esp + 0x2b0], 6
mov dword [esp + 0x2b4], 0
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2bc], 0
mov dword [esp + 0x2c0], 0
mov dword [esp + 0x2c4], str.COLOR
mov dword [esp + 0x2c8], 0
mov dword [esp + 0x2cc], 2
mov dword [esp + 0x2d0], 0
mov dword [esp + 0x2d4], 0xc
mov dword [esp + 0x2d8], 0
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], str.NORMAL
mov dword [esp + 0x2e4], 0
mov dword [esp + 0x2e8], 6
mov dword [esp + 0x2ec], 0
mov dword [esp + 0x2f0], 0x1c
mov dword [esp + 0x2f4], 0
mov dword [esp + 0x2f8], 0
call edi
mov eax, dword [0x46a56c]
mov esi, dword [eax]
lea eax, [esp + 0xd4]
push eax
mov eax, dword [esp + 0xac]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
push eax
mov eax, dword [esp + 0xb0]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
push eax
push 3
lea eax, [esp + 0x2b0]
push eax
push dword [0x46a56c]
call dword [esi + 0x2c]
mov eax, dword [0x46a5cc]
push dword [esp + 0xd4]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [0x46a56c]
mov esi, dword [eax]
lea eax, [esp + 0xc8]
push eax
mov eax, dword [esp + 0xac]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
push eax
mov eax, dword [esp + 0xb4]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
push eax
push dword [0x46a56c]
call dword [esi + 0x30]
mov eax, dword [0x46a5cc]
push 0
push 0
push dword [esp + 0xd0]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x2c]
lea eax, [esp + 0xb8]
push eax
push str.PixelShader.cso
call edi
mov eax, dword [0x46a56c]
mov esi, dword [eax]
lea eax, [esp + 0xd8]
push eax
mov eax, dword [esp + 0xbc]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
push eax
mov eax, dword [esp + 0xc4]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
push eax
push dword [0x46a56c]
call dword [esi + 0x3c]
mov eax, dword [0x46a5cc]
push 0
push 0
push dword [esp + 0xe0]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
movss xmm3, dword [0x460218]
movss xmm2, dword [0x4600a0]
movss xmm1, dword [0x46015c]
movss xmm0, dword [0x460120]
call fcn.0042dcb0
movaps xmmword [esp + 0x80], xmm2
movaps xmm2, xmmword [0x46cef0]
movaps xmmword [esp + 0x70], xmm1
movaps xmm1, xmmword [0x46a790]
movaps xmmword [esp + 0x60], xmm0
movaps xmm0, xmmword [0x46bb50]
movaps xmmword [esp + 0x90], xmm3
call fcn.0042dbc0
movaps xmmword [esp + 0x30], xmm2
lea ecx, [esp + 0x10]
movaps xmm2, xmmword [esp + 0x80]
movaps xmmword [esp + 0x20], xmm1
movaps xmm1, xmmword [esp + 0x70]
movaps xmmword [esp + 0x10], xmm0
movaps xmm0, xmmword [esp + 0x60]
movaps xmmword [esp + 0x40], xmm3
movaps xmm3, xmmword [esp + 0x90]
call fcn.0042dd80
call fcn.0042db80
lea eax, [esp + 0x260]
movaps xmmword [esp + 0x260], xmm0
mov dword [esp + 0x164], eax
lea edx, [esp + 0xdc]
mov eax, dword [0x46a56c]
push edx
lea edx, [esp + 0x168]
movaps xmmword [esp + 0x274], xmm1
push edx
movaps xmmword [esp + 0x288], xmm2
lea edx, [esp + 0x1c0]
movaps xmmword [esp + 0x298], xmm3
mov dword [esp + 0x1c0], 0x40
mov dword [esp + 0x1c4], 2
mov dword [esp + 0x1c8], 4
mov dword [esp + 0x1cc], 0x10000
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1d4], 0
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0xc]
mov eax, dword [0x46a5cc]
lea edx, [esp + 0xdc]
push edx
push 1
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
mov eax, dword [0x46a56c]
lea edx, [esp + 0xe0]
push edx
lea edx, [esp + 0x174]
mov dword [esp + 0x18c], 0x10
push edx
mov dword [esp + 0x194], 2
lea edx, [esp + 0x190]
mov dword [esp + 0x198], 4
mov dword [esp + 0x19c], 0x10000
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x178], 0x46bb50
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0xc]
mov eax, dword [0x46a5cc]
lea edx, [esp + 0xe0]
push edx
push 1
push 1
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
push 0x140
call fcn.00432a3b
movss xmm2, dword [0x4698b8]
lea ecx, [esp + 0x14]
movss xmm5, dword [0x4603a0]
movaps xmm3, xmm2
movss xmm6, dword [0x4600ec]
xorps xmm3, xmm5
mulss xmm3, xmm6
add esp, 4
mov edx, eax
mulss xmm2, xmm6
mov dword [0x46a5c8], edx
movaps xmm1, xmm3
call fcn.0042d860
movups xmm4, xmmword [0x45ff78]
mov dword [esp + 0x34], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x1c], xmm4
movq qword [esp + 0x2c], xmm0
movups xmm0, xmmword [esp + 0x10]
movups xmmword [edx], xmm0
movups xmm0, xmmword [esp + 0x20]
movups xmmword [edx + 0x10], xmm0
lea ecx, [esp + 0x10]
movq xmm0, qword [esp + 0x30]
movq qword [edx + 0x20], xmm0
movss xmm3, dword [0x4698b8]
movaps xmm2, xmm3
xorps xmm3, xmm5
mulss xmm2, xmm6
mulss xmm3, xmm6
movaps xmm1, xmm2
call fcn.0042d860
xorps xmm0, xmm0
mov dword [esp + 0x34], 0
movq qword [esp + 0x2c], xmm0
lea ecx, [esp + 0x10]
movups xmmword [esp + 0x1c], xmm4
movups xmm0, xmmword [esp + 0x10]
movups xmmword [edx + 0x28], xmm0
movups xmm0, xmmword [esp + 0x20]
movups xmmword [edx + 0x38], xmm0
movq xmm0, qword [esp + 0x30]
movq qword [edx + 0x48], xmm0
movss xmm3, dword [0x4698b8]
mulss xmm3, xmm6
movaps xmm2, xmm3
movaps xmm1, xmm3
call fcn.0042d860
xorps xmm0, xmm0
mov dword [esp + 0x34], 0
movq qword [esp + 0x2c], xmm0
lea ecx, [esp + 0x10]
movups xmmword [esp + 0x1c], xmm4
movups xmm0, xmmword [esp + 0x10]
movups xmmword [edx + 0x50], xmm0
movups xmm0, xmmword [esp + 0x20]
movups xmmword [edx + 0x60], xmm0
movq xmm0, qword [esp + 0x30]
movq qword [edx + 0x70], xmm0
movss xmm1, dword [0x4698b8]
movaps xmm3, xmm1
xorps xmm1, xmm5
mulss xmm3, xmm6
mulss xmm1, xmm6
movaps xmm2, xmm3
call fcn.0042d860
xorps xmm0, xmm0
mov dword [esp + 0x34], 0
movq qword [esp + 0x2c], xmm0
lea ecx, [esp + 0x10]
movups xmmword [esp + 0x1c], xmm4
movups xmm0, xmmword [esp + 0x10]
movups xmmword [edx + 0x78], xmm0
movups xmm0, xmmword [esp + 0x20]
movups xmmword [edx + 0x88], xmm0
movq xmm0, qword [esp + 0x30]
movq qword [edx + 0x98], xmm0
movss xmm3, dword [0x4698b8]
xorps xmm3, xmm5
mulss xmm3, xmm6
movaps xmm2, xmm3
movaps xmm1, xmm3
call fcn.0042d860
xorps xmm0, xmm0
mov dword [esp + 0x34], 0
movq qword [esp + 0x2c], xmm0
lea ecx, [esp + 0x10]
movups xmmword [esp + 0x1c], xmm4
movups xmm0, xmmword [esp + 0x10]
movups xmmword [edx + 0xa0], xmm0
movups xmm0, xmmword [esp + 0x20]
movups xmmword [edx + 0xb0], xmm0
movq xmm0, qword [esp + 0x30]
movq qword [edx + 0xc0], xmm0
movss xmm1, dword [0x4698b8]
movaps xmm3, xmm1
mulss xmm1, xmm6
xorps xmm3, xmm5
mulss xmm3, xmm6
movaps xmm2, xmm3
call fcn.0042d860
movups xmmword [esp + 0x1c], xmm4
xorps xmm0, xmm0
mov dword [esp + 0x34], 0
movq qword [esp + 0x2c], xmm0
lea ecx, [esp + 0x10]
movups xmm0, xmmword [esp + 0x10]
movups xmmword [edx + 0xc8], xmm0
movups xmm0, xmmword [esp + 0x20]
movups xmmword [edx + 0xd8], xmm0
movq xmm0, qword [esp + 0x30]
movq qword [edx + 0xe8], xmm0
movss xmm2, dword [0x4698b8]
movaps xmm3, xmm2
xorps xmm2, xmm5
mulss xmm3, xmm6
mulss xmm2, xmm6
movaps xmm1, xmm3
call fcn.0042d860
xorps xmm0, xmm0
mov dword [esp + 0x34], 0
movq qword [esp + 0x2c], xmm0
lea ecx, [esp + 0x10]
movups xmmword [esp + 0x1c], xmm4
movups xmm0, xmmword [esp + 0x10]
movups xmmword [edx + 0xf0], xmm0
movups xmm0, xmmword [esp + 0x20]
movups xmmword [edx + 0x100], xmm0
movq xmm0, qword [esp + 0x30]
movq qword [edx + 0x110], xmm0
movss xmm3, dword [0x4698b8]
movaps xmm2, xmm3
mulss xmm3, xmm6
xorps xmm2, xmm5
mulss xmm2, xmm6
movaps xmm1, xmm2
call fcn.0042d860
xorps xmm0, xmm0
mov dword [esp + 0x34], 0
movq qword [esp + 0x2c], xmm0
movups xmmword [esp + 0x1c], xmm4
push 0x46a564
movups xmm0, xmmword [esp + 0x14]
push 0x46a540
push 0x46a58c
movups xmmword [edx + 0x118], xmm0
movups xmm0, xmmword [esp + 0x2c]
movups xmmword [edx + 0x128], xmm0
movq xmm0, qword [esp + 0x3c]
movq qword [edx + 0x138], xmm0
mov eax, dword [0x46a56c]
mov dword [0x46a58c], 0x140
mov dword [0x46a590], 1
mov dword [0x46a594], 1
mov dword [0x46a598], 0
mov dword [0x46a59c], 0
mov dword [0x46a5a0], 0x28
mov dword [0x46a540], edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
push 0x60
call fcn.00432a3b
add esp, 4
mov dword [eax], 0
mov dword [eax + 4], 1
mov dword [eax + 8], 1
mov dword [eax + 0xc], 2
mov dword [eax + 0x10], 2
mov dword [eax + 0x14], 3
mov dword [eax + 0x18], 3
mov dword [eax + 0x1c], 0
mov dword [eax + 0x20], 4
mov dword [eax + 0x24], 5
mov dword [eax + 0x28], 5
mov dword [eax + 0x2c], 6
mov dword [eax + 0x30], 6
mov dword [eax + 0x34], 7
mov dword [eax + 0x38], 7
mov dword [eax + 0x3c], 4
mov dword [eax + 0x40], 0
mov dword [eax + 0x44], 4
mov dword [eax + 0x48], 1
mov dword [eax + 0x4c], 5
lea edx, [esp + 0xc4]
mov dword [eax + 0x50], 2
mov dword [eax + 0x54], 6
mov dword [eax + 0x58], 3
mov dword [eax + 0x5c], 7
push edx
mov dword [esp + 0x180], eax
lea edx, [esp + 0x180]
mov eax, dword [0x46a56c]
push edx
mov dword [esp + 0x1a8], 0x60
lea edx, [esp + 0x1a8]
mov dword [esp + 0x1ac], 1
mov dword [esp + 0x1b0], 2
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1bc], 4
mov dword [esp + 0xcc], 0
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0xc]
lea eax, [esp + 0xbc]
push eax
push str.cube_vs.cso
call edi
mov eax, dword [0x46a56c]
mov esi, dword [eax]
lea eax, [esp + 0xe4]
push eax
mov eax, dword [esp + 0xc0]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
push eax
mov eax, dword [esp + 0xc8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
push eax
push dword [0x46a56c]
call dword [esi + 0x30]
call fcn.0042e3a0
call fcn.0042e400
movss xmm0, dword [0x4601e0]
xorps xmm1, xmm1
call fcn.0042fbd0
movss xmm1, dword [0x460278]
xorps xmm0, xmm0
call fcn.0042fbd0
call fcn.00406100
xor ecx, ecx
call fcn.00418130
mov ecx, dword [esp + 0x5c]
call fcn.004201d0
call fcn.00420050
movaps xmm0, xmmword [0x460340]
mov esi, dword [sym.imp.USER32.dll_PeekMessageW]
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
movups xmmword [esp + 0x2fc], xmm0
mov dword [esp + 0x1e8], 0
xorps xmm0, xmm0
movaps xmmword [esp + 0x1d0], xmm0
movq qword [esp + 0x1e0], xmm0
push 1
push 0
push 0
push 0
lea eax, [esp + 0x1e0]
push eax
call esi
test eax, eax
je 0x4310a5
lea eax, [esp + 0x1d0]
push eax
call edi
lea eax, [esp + 0x1d0]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
mov eax, dword [0x46a5cc]
lea edx, [esp + 0x2fc]
push edx
push dword [esp + 0xb0]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc8]
mov eax, dword [0x46a5cc]
push 0
mov ecx, dword [eax]
push ecx
mov dword [esp], 0x3f800000
push 3
push dword [esp + 0xcc]
push eax
call dword [ecx + 0xd4]
mov eax, dword [0x46a5cc]
push 0x46a568
push 0x4698b4
push 0x46a564
mov ecx, dword [eax]
push 1
push 0
push eax
call dword [ecx + 0x48]
mov eax, dword [0x46a5cc]
push 0
push 0x2a
push dword [esp + 0xcc]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x4c]
mov eax, dword [0x46a5cc]
push 2
push eax
mov ecx, dword [eax]
call dword [ecx + 0x60]
mov eax, dword [0x46a5cc]
push 0
push 0
push dword [esp + 0xec]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x2c]
mov eax, dword [0x46a5cc]
push 0
push 0
push 0x18
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
cmp dword [0x46a53c], 0
je 0x4311a8
mov eax, dword [0x46a5cc]
push 0x46a568
push 0x4698b4
push 0x46a5b0
mov ecx, dword [eax]
push 1
push 0
push eax
call dword [ecx + 0x48]
mov eax, dword [0x46a5cc]
push 4
push eax
mov ecx, dword [eax]
call dword [ecx + 0x60]
mov eax, dword [0x46a5cc]
push 0
push 0
push dword [esp + 0xd0]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x2c]
mov eax, dword [0x46a5cc]
push 0
push dword [0x46a5b4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x34]
call fcn.004201a0
call fcn.004207a0
call fcn.00406f70
push 0x42
xor edx, edx
mov ecx, str.Marching_Cubes_Parameters
call fcn.0040a6a0
add esp, 4
test al, al
je 0x4312de
movss xmm2, dword [0x460140]
mov edx, 0x4698a4
push 0x4570b0
push 0x32
push 2
mov ecx, str.Resolution
call fcn.00423c20
add esp, 0xc
test al, al
je 0x431201
call fcn.0042e3a0
call fcn.0042e400
movss xmm2, dword [0x46007c]
xorps xmm3, xmm3
push ecx
mov dword [esp], 0x3f800000
mov edx, 0x4698c4
push str._.3f
push ecx
mov ecx, str.Threshold
mov dword [esp], 0x3f800000
call fcn.00423bd0
add esp, 0xc
test al, al
je 0x43123c
call fcn.0042e400
movss xmm3, dword [0x46016c]
mov edx, 0x4698b8
movss xmm2, dword [0x4600a0]
push ecx
mov dword [esp], 0x3f800000
push str._.3f
push ecx
mov ecx, str.Size
mov dword [esp], 0x42480000
call fcn.00423bd0
add esp, 0xc
test al, al
je 0x431286
call fcn.0042e3a0
call fcn.0042e400
call fcn.0042f830
mov edx, 0x4698c0
mov ecx, str.Interpolation
call fcn.00422390
test al, al
je 0x43129e
call fcn.0042e400
push ecx
call fcn.004284e0
add esp, 4
test al, al
je 0x4312b0
call fcn.0042e400
xorps xmm2, xmm2
lea ecx, [esp + 0x60]
xorps xmm1, xmm1
call fcn.00401520
mov edx, eax
mov ecx, str.Generate
call fcn.00421ad0
test al, al
je 0x4312d9
call fcn.0042e3a0
call fcn.0042e400
call fcn.0040be60
call fcn.00407dc0
call fcn.004061e0
mov ecx, eax
call fcn.0041f1d0
mov eax, dword [esp + 0xb0]
push 0
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
cmp dword [esp + 0x1d4], 0x12
jne 0x431077
call fcn.00420140
call fcn.004202c0
call fcn.004061a0
mov eax, dword [esp + 0xac]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esp + 0xb0]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [0x46a5cc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [0x46a56c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push dword [esp + 0x5c]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [esp + 0x10c]
push dword [esp + 0x124]
call dword [sym.imp.USER32.dll_UnregisterClassW]
mov eax, dword [esp + 0x1d8]
pop edi
pop esi
mov ecx, dword [esp + 0x304]
xor ecx, esp
call fcn.00432429
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [esp + 0x30c]
or eax, 0xffffffff
pop edi
pop esi
xor ecx, esp
call fcn.00432429
mov esp, ebp
pop ebp
ret 0x10