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

Disassembly:
push edi
lea edi, [esp + 8]
and esp, 0xfffffff8
push dword [edi - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x520
call fcn.0044b4e0
mov esi, eax
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0x3607
xor eax, eax
test esi, esi
setne al
mov dword [esp + 4], 0x568d30
mov dword [esp], eax
call fcn.0044c570
call fcn.0044b5c0
mov ebx, eax
mov dword [ebp - 0x4f0], eax
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0x3609
xor eax, eax
test ebx, ebx
setne al
mov dword [esp + 4], 0x567888
mov dword [esp], eax
call fcn.0044c570
mov dword [esp], 0x55db00
mov edx, esi
mov eax, ebx
mov dword [esp + 4], 0
mov ecx, 8
call fcn.0045ab00
test eax, eax
je 0x46b785
mov ebx, eax
mov eax, dword [eax]
lea edx, [ebp - 0x4ac]
mov dword [esp + 4], edx
mov dword [esp], ebx
call dword [eax + 0x40]
sub esp, 8
mov edi, eax
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0x3613
mov dword [esp + 8], edi
not edi
shr edi, 0x1f
mov dword [esp + 4], 0x5677b0
mov dword [esp], edi
call fcn.0044c570
lea edx, [ebp - 0x424]
xor eax, eax
mov ecx, 0xf
mov edi, edx
fldz
lea edx, [ebp - 0x438]
rep stosd dword es:[edi], eax
fst dword [ebp - 0x434]
mov eax, ebx
fstp dword [ebp - 0x430]
mov dword [ebp - 0x438], 0x50
fld1
fst dword [ebp - 0x42c]
fstp dword [ebp - 0x428]
call fcn.0044f0c0
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x504], eax
mov eax, ebx
mov dword [esp + 4], 0x1e0
mov dword [esp], 0x280
call fcn.0044c590
mov ecx, dword [ebp - 0x504]
mov edx, eax
mov edi, eax
mov dword [ebp - 0x500], eax
mov eax, ebx
call fcn.0044c710
mov eax, dword [ebx]
mov dword [esp + 4], edi
mov dword [esp], ebx
call dword [eax + 0x34]
sub esp, 8
mov edi, eax
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0x3618
mov dword [esp + 8], edi
not edi
shr edi, 0x1f
mov dword [esp + 4], 0x56a0c0
mov dword [esp], edi
call fcn.0044c570
mov eax, ebx
call fcn.0044ca20
mov edx, dword [ebp - 0x4ac]
mov dword [ebp - 0x4a8], eax
mov ecx, dword [edx]
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 0
call dword [ecx + 0x20]
sub esp, 0xc
mov edi, eax
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0x361c
mov dword [esp + 8], edi
not edi
shr edi, 0x1f
mov dword [esp + 4], 0x568fd4
mov dword [esp], edi
call fcn.0044c570
mov eax, dword [ebp - 0x4a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov dword [ebp - 0x508], esi
mov dword [ebp - 0x4fc], 0
sub esp, 4
mov dword [ebp - 0x4d4], 0
xor eax, eax
mov ecx, 0x16
lea edi, [ebp - 0x494]
mov dword [ebp - 0x4a4], 0x6c
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x4d4]
mov edi, dword [ebp - 0x4f0]
mov dword [ebp - 0x4a0], 0x47
mov dword [ebp - 0x43c], 0x24000
lea ecx, [ebp - 0x4a8]
mov eax, dword [eax*8 + 0x56f1e0]
mov dword [ebp - 0x498], 0x280
mov dword [ebp - 0x49c], 0x1e0
mov dword [ebp - 0x4f4], eax
mov dword [ebp - 0x48c], eax
mov eax, dword [edi]
mov dword [esp + 8], ecx
lea ecx, [ebp - 0x4a4]
mov dword [esp + 0xc], 0
mov dword [esp + 4], ecx
mov dword [esp], edi
call dword [eax + 0x18]
sub esp, 0x10
test eax, eax
js 0x46b758
mov eax, dword [ebp - 0x4ac]
mov ecx, dword [ebp - 0x4a8]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 8
mov esi, eax
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0x3630
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x568fa8
mov dword [esp], esi
call fcn.0044c570
mov eax, dword [ebx]
mov dword [esp + 8], 0
mov edx, dword [ebp - 0x4ac]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x3c]
sub esp, 0xc
mov esi, eax
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0x3632
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x56c1f8
mov dword [esp], esi
call fcn.0044c570
mov ecx, dword [ebp - 0x500]
mov eax, dword [ecx]
mov dword [esp], ecx
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x553660
mov dword [esp + 4], 1
call dword [eax + 0x30]
sub esp, 0x10
mov esi, eax
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0x3635
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x56ae8c
mov dword [esp], esi
call fcn.0044c570
mov eax, dword [ebx]
mov dword [esp], ebx
call dword [eax + 0x28]
sub esp, 4
mov esi, eax
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0x3637
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x56a468
mov dword [esp], esi
call fcn.0044c570
mov eax, dword [ebx]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], 0x5535e0
mov dword [esp + 8], 2
mov dword [esp + 4], 5
mov dword [esp], ebx
call dword [eax + 0x74]
sub esp, 0x18
mov esi, eax
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0x3639
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x56a4b2
mov dword [esp], esi
call fcn.0044c570
mov eax, dword [ebx]
mov dword [esp], ebx
call dword [eax + 0x2c]
sub esp, 4
mov esi, eax
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0x363b
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x56a4f4
mov dword [esp], esi
call fcn.0044c570
lea edx, [ebp - 0x4a0]
xor eax, eax
mov ecx, 0x1a
mov dword [ebp - 0x4a4], 0x6c
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x4a8]
lea edi, [ebp - 0x4a4]
mov edx, dword [eax]
mov dword [esp + 8], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x11
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x64]
sub esp, 0x14
mov esi, eax
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0x3640
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x567740
mov dword [esp], esi
call fcn.0044c570
mov edi, dword [ebp - 0x4d4]
xor eax, eax
mov dword [ebp - 0x4b4], 0
fnstcw word [ebp - 0x4ae]
cmp dword [ebp - 0x4f4], 0x10
mov dword [ebp - 0x4e8], 1
mov ecx, dword [edi*8 + 0x56f1e4]
setne al
mov dword [ebp - 0x4f8], ebx
movzx edx, word [ebp - 0x4ae]
lea eax, [eax + eax + 2]
mov dword [ebp - 0x4b8], ecx
fild qword [ebp - 0x4b8]
lea eax, [eax + eax*4]
or dh, 0xc
mov dword [ebp - 0x4d8], ecx
mov word [ebp - 0x4b0], dx
fstp qword [ebp - 0x4e0]
fild qword [ebp - 0x4b8]
fmul dword [0x571a20]
fldcw word [ebp - 0x4b0]
fistp qword [ebp - 0x4b8]
fldcw word [ebp - 0x4ae]
mov edi, dword [ebp - 0x4b8]
mov dword [ebp - 0x4b8], 0x3c
mov dword [ebp - 0x4c8], edi
mov edi, eax
shl eax, 4
shl edi, 5
mov dword [ebp - 0x4ec], eax
mov dword [ebp - 0x4e4], edi
fild dword [ebp - 0x4b8]
mov eax, dword [ebp - 0x4ec]
mov ebx, 0x50
fmul qword [0x571a30]
mov dword [ebp - 0x4c4], eax
fstp qword [ebp - 0x4d0]
mov dword [ebp - 0x4c0], ebx
fild dword [ebp - 0x4c0]
fmul qword [0x571a28]
fadd qword [ebp - 0x4d0]
fmul qword [ebp - 0x4e0]
mov eax, dword [ebp - 0x4b8]
imul eax, dword [ebp - 0x494]
mov edx, dword [ebp - 0x4c4]
add edx, dword [ebp - 0x480]
mov esi, dword [ebp - 0x4d8]
fldcw word [ebp - 0x4b0]
fistp qword [ebp - 0x4c0]
fldcw word [ebp - 0x4ae]
and esi, dword [edx + eax]
mov edi, dword [ebp - 0x4c0]
call fcn.0054f6e0
mov dword [eax], 0x567528
mov ecx, edi
mov dword [eax + 4], 0x3650
mov eax, esi
sub ecx, esi
sub eax, edi
cmp esi, edi
cmovb eax, ecx
cmp dword [ebp - 0x4c8], eax
jb 0x46b460
mov eax, dword [ebp - 0x4b8]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], eax
mov eax, dword [ebp - 0x4c8]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x4c0]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], esi
mov eax, dword [ebp - 0x4d4]
mov dword [esp + 4], 0x56c270
mov dword [esp + 8], eax
mov dword [esp], 1
call fcn.0044c570
add ebx, 0xa0
mov edi, dword [ebp - 0x4e4]
add dword [ebp - 0x4c4], edi
cmp ebx, 0x2d0
je 0x46b548
fnstcw word [ebp - 0x4ae]
movzx eax, word [ebp - 0x4ae]
or ah, 0xc
mov word [ebp - 0x4b0], ax
jmp 0x46b355
mov edx, dword [str.windows]
mov dword [ebp - 0x4e8], ecx
mov dword [esp + 4], 0x5674f2
mov dword [esp], edx
mov dword [ebp - 0x4c0], edx
call dword [sym.imp.msvcrt.dll_strcmp]
mov edx, dword [ebp - 0x4c0]
mov ecx, dword [ebp - 0x4e8]
test eax, eax
jne 0x46b580
mov dword [ebp - 0x4c0], ecx
mov dword [esp + 4], 0x5674f2
mov dword [esp], edx
call dword [sym.imp.msvcrt.dll_strcmp]
mov ecx, dword [ebp - 0x4c0]
test eax, eax
jne 0x46b510
xor eax, eax
mov edx, dword [ebp - 0x4b8]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], edx
mov edx, dword [ebp - 0x4c8]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], esi
mov edi, dword [ebp - 0x4d4]
mov dword [esp + 4], 0x56c270
mov dword [esp + 8], edi
mov dword [esp], eax
call fcn.0044c570
mov dword [ebp - 0x4e8], 0
jmp 0x46b420
mov eax, dword [ebp - 0x4f0]
lea edx, [ebp - 0x438]
call fcn.0044cae0
mov ecx, dword [ebp - 0x4c0]
test eax, eax
je 0x46b4b8
cmp dword [ebp - 0x30], 0x1002
jne 0x46b4b8
xor eax, eax
cmp dword [ebp - 0x4f4], 0x18
sete al
jmp 0x46b4ba
add dword [ebp - 0x4b8], 0x78
mov eax, dword [ebp - 0x4b8]
cmp eax, 0x21c
je 0x46b5c0
fnstcw word [ebp - 0x4ae]
movzx eax, word [ebp - 0x4ae]
or ah, 0xc
mov word [ebp - 0x4b0], ax
jmp 0x46b332
mov eax, dword [ebp - 0x4f0]
lea edx, [ebp - 0x438]
mov dword [ebp - 0x4c0], ecx
call fcn.0044cae0
mov ecx, dword [ebp - 0x4c0]
test eax, eax
je 0x46b5b3
cmp dword [ebp - 0x30], 0x10de
mov eax, 1
je 0x46b4ba
mov edx, dword [str.windows]
jmp 0x46b497
mov eax, dword [ebp - 0x4a8]
mov ebx, dword [ebp - 0x4f8]
mov edx, dword [eax]
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + pe_nt_image_headers32]
sub esp, 8
mov esi, eax
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0x365a
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x567764
mov dword [esp], esi
call fcn.0044c570
mov eax, dword [ebp - 0x4ac]
mov ecx, dword [ebp - 0x4a8]
cmp dword [ebp - 0x4e8], 1
sbb dword [ebp - 0x4fc], 0xffffffff
mov edx, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 0xc
mov esi, eax
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0x3660
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x568fd4
mov dword [esp], esi
call fcn.0044c570
mov eax, dword [ebp - 0x4a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
add dword [ebp - 0x4d4], 1
mov eax, dword [ebp - 0x4d4]
cmp eax, 3
jne 0x46afbf
mov esi, dword [ebp - 0x508]
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0x3664
mov dword [esp + 4], 0x56c220
mov eax, dword [ebp - 0x4fc]
mov dword [esp], eax
call fcn.0044c570
mov edx, dword [ebp - 0x500]
mov eax, ebx
call fcn.0044c9c0
mov ecx, dword [ebp - 0x504]
mov eax, dword [ecx]
mov dword [esp], ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x4ac]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebx]
sub esp, 4
mov dword [esp], ebx
call dword [eax + 8]
sub esp, 4
mov ebx, eax
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0x366a
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x56a640
mov dword [esp], eax
call fcn.0044c570
mov ebx, dword [ebp - 0x4f0]
mov eax, dword [ebx]
mov dword [esp], ebx
call dword [eax + 8]
sub esp, 4
mov dword [esp], esi
call dword [sym.imp.user32.dll_DestroyWindow]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0x362b
mov eax, dword [ebp - 0x4d4]
mov dword [esp], 0x56c1cc
mov dword [esp + 4], eax
call fcn.0044bfd0
jmp 0x46b67e
mov eax, 0x360c
call fcn.0044bd10
mov dword [esp], 0x56c19c
call fcn.0044bfd0
jmp 0x46b72b