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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x190
mov edi, edx
mov ebx, ecx
mov ecx, dword [ebp + 8]
test ecx, ecx
mov dword [esp + 4], ebx
je 0x52ee31
call fcn.0054f8a2
mov word [esp + 0x30], 0x305
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], 0x568145
mov ecx, ebx
call fcn.0054f8a2
lea ecx, [esp + 0x20]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
mov word [esp + 0x98], 0x502
lea eax, [esp + 0x88]
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], 0x568147
mov word [esp + 0x48], 0x302
lea eax, [esp + 0x38]
lea ecx, [esp + 0x10]
push eax
call fcn.0054f5a2
jmp 0x52eeb6
mov dword [esp + 0xc], edi
mov ecx, ebx
call fcn.0054f8a2
test eax, eax
je 0x52ee62
cmp edx, 0xfffffff8
jae 0x52fb11
mov edi, eax
cmp edx, 0xb
jae 0x52ee75
mov eax, edx
add al, dl
mov byte [esp + 0x10], al
lea esi, [esp + 0x11]
test edx, edx
jne 0x52ee9f
jmp 0x52eeae
xorps xmm0, xmm0
movsd qword [esp + 0x10], xmm0
mov dword [esp + 0x18], 0
jmp 0x52eeb2
mov ebx, edx
or ebx, 7
lea eax, [ebx + 1]
push eax
mov esi, edx
call sub.libc.dll_operator_new_unsigned_int_
mov edx, esi
add esp, 4
mov esi, eax
mov dword [esp + 0x18], eax
add ebx, 2
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 4]
mov dword [esp + 0x14], edx
push edx
push edi
push esi
mov edi, edx
call sub.msvcrt.dll_memmove
mov edx, edi
add esp, 0xc
mov byte [esi + edx], 0
mov edi, dword [esp + 0xc]
xorps xmm0, xmm0
movsd qword [esp + 0x20], xmm0
mov dword [esp + 0x28], 0
mov eax, dword [ebx]
mov edx, ebx
lea ebx, [esp + 8]
mov ecx, ebx
push edx
call dword [eax + 8]
mov eax, dword [esp + 8]
test eax, eax
je 0x52ef85
mov dword [esp + 0x34], eax
mov dword [esp + 8], 0
lea eax, [esp + 0x34]
lea esi, [esp + 0x38]
push eax
push esi
call fcn.0054f518
add esp, 8
mov ecx, esi
push str.unable_to_continue_dumping__the_file_is_corrupt:
push 0
call fcn.0054f9b6
movzx ecx, word [eax]
mov edx, dword [eax + 2]
mov dword [esp + 0x88], edx
movzx edx, word [eax + 6]
mov word [esp + 0x8c], dx
mov edx, dword [eax + 8]
xorps xmm0, xmm0
movsd qword [eax], xmm0
mov dword [eax + 8], 0
mov word [esp + 0x20], cx
mov eax, dword [esp + 0x88]
mov dword [esp + 0x22], eax
movzx eax, word [esp + 0x8c]
mov word [esp + 0x26], ax
mov dword [esp + 0x28], edx
test byte [esp + 0x38], 1
je 0x52ef6b
push dword [esp + 0x40]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x52ef78
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x52ef85
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x38], 0
mov byte [esp + 0x78], 0
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 4]
cmp eax, 0xa
jne 0x52efa5
push edi
push ecx
push ebx
call fcn.004086b0
jmp 0x52eff8
lea ecx, [eax - 0xd]
cmp ecx, 3
ja 0x52efba
push edi
push dword [esp + 8]
push ebx
call fcn.00425e90
jmp 0x52eff8
lea ecx, [eax - 0x11]
cmp ecx, 3
ja 0x52efcf
push edi
push dword [esp + 8]
push ebx
call fcn.005306a0
jmp 0x52eff8
cmp eax, 0x16
jne 0x52efe1
push edi
push dword [esp + 8]
push ebx
call fcn.0053bec0
jmp 0x52eff8
add eax, 0xfffffff5
cmp eax, 1
ja 0x52fb1a
push edi
push dword [esp + 8]
push ebx
call fcn.0053f910
add esp, 0xc
mov edi, dword [esp + 8]
cmp dword [0x577c7c], 0
mov dword [esp + 0x1c], edi
je 0x52f3cf
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x2c]
test al, al
je 0x52f0da
xorps xmm0, xmm0
movups xmmword [esp + 0x90], xmm0
xorps xmm1, xmm1
movsd qword [esp + 0xc0], xmm1
movups xmmword [esp + 0xb0], xmm0
movups xmmword [esp + 0xa0], xmm0
lea esi, [esp + 0x98]
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 2
cmp byte [esp + 0x78], 0
je 0x52f1a7
lea eax, [esp + 0x88]
lea ecx, [esp + 0x38]
push eax
call fcn.0052fc50
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
test ecx, ecx
je 0x52f188
lea edx, [ecx + ecx*2]
lea ebx, [eax + edx*8]
add ebx, 0xffffffe8
shl ecx, 3
lea esi, [ecx + ecx*2]
neg esi
jmp 0x52f0c8
mov eax, 4
mov ecx, ebx
mov edx, dword [ecx]
call dword [edx + eax*4]
add ebx, 0xffffffe8
add esi, 0x18
je 0x52f17a
mov ecx, dword [ebx + 0x10]
cmp ebx, ecx
je 0x52f0b0
mov eax, 5
test ecx, ecx
jne 0x52f0b7
jmp 0x52f0bc
call fcn.0054f9d4
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf0], 0x16
sub esp, 0x10
movsd xmm0, qword [esp + 0x100]
movsd qword [esp + 4], xmm0
lea esi, [esp + 0x94]
mov dword [esp], esi
mov dword [esp + 0xc], str.__sort_symbols_is_not_supported_yet_for_this_format
call fcn.0054f2f0
add esp, 0x10
movzx eax, byte [esp + 0x10]
mov ecx, eax
shr ecx, 1
test al, 1
lea eax, [esp + 0x11]
cmovne eax, dword [esp + 0x18]
mov dword [esp + 0xe8], eax
cmovne ecx, dword [esp + 0x14]
mov dword [esp + 0xec], ecx
sub esp, 0xc
movsd xmm0, qword [esp + 0xf4]
movsd qword [esp + 4], xmm0
mov dword [esp], esi
call fcn.0052c770
add esp, 0xc
mov ecx, dword [esp + 0x84]
test ecx, ecx
je 0x52f3cf
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x52f3cf
mov eax, dword [esp + 0x88]
lea esi, [esp + 0x98]
cmp eax, esi
je 0x52f195
push eax
call sub.msvcrt.dll_free
add esp, 4
mov eax, dword [0x577c7c]
mov dword [esp + 0xc], eax
test eax, eax
jne 0x52f1d5
jmp 0x52f3cf
lea eax, [esp + 0x48]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 2
mov byte [esp + 0x78], 1
mov eax, dword [0x577c7c]
mov dword [esp + 0xc], eax
test eax, eax
je 0x52f3cf
mov eax, dword [0x577c78]
mov dword [esp + 0x80], eax
shl dword [esp + 0xc], 2
xor ebx, ebx
lea esi, [esp + 0xf8]
jmp 0x52f20a
mov eax, 4
mov ecx, edx
mov edx, dword [ecx]
call dword [edx + eax*4]
add ebx, 4
cmp dword [esp + 0xc], ebx
je 0x52f3cf
mov eax, dword [esp + 0x80]
mov eax, dword [eax + ebx]
cmp eax, 1
je 0x52f280
test eax, eax
jne 0x52f1fd
mov dword [esp + 0x110], 0x5681d8
mov dword [esp + 0x114], edi
lea esi, [esp + 0x110]
mov dword [esp + 0x120], esi
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
lea edx, [ecx + 1]
cmp edx, dword [esp + 0x40]
ja 0x52f355
mov ecx, dword [esp + 0x3c]
lea ecx, [ecx + ecx*2]
lea edi, [eax + ecx*8]
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x52f2cd
cmp ecx, esi
je 0x52f2df
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [edi + 0x10], eax
jmp 0x52f2eb
mov dword [esp + 0xf8], 0x5681fc
mov dword [esp + 0xfc], edi
mov dword [esp + 0x108], esi
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
lea edx, [ecx + 1]
cmp edx, dword [esp + 0x40]
ja 0x52f37b
mov ecx, dword [esp + 0x3c]
lea ecx, [ecx + ecx*2]
lea edi, [eax + ecx*8]
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x52f2d6
cmp ecx, esi
je 0x52f311
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [edi + 0x10], eax
jmp 0x52f31d
mov dword [edi + 0x10], 0
jmp 0x52f2eb
mov dword [edi + 0x10], 0
jmp 0x52f31d
mov dword [edi + 0x10], edi
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx]
push edi
call dword [eax + 0xc]
inc dword [esp + 0x3c]
mov ecx, dword [esp + 0x120]
lea edx, [esp + 0x110]
cmp ecx, edx
mov edi, dword [esp + 0x1c]
lea esi, [esp + 0xf8]
jne 0x52f337
jmp 0x52f1f1
mov dword [edi + 0x10], edi
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx]
push edi
call dword [eax + 0xc]
inc dword [esp + 0x3c]
mov ecx, dword [esp + 0x108]
lea esi, [esp + 0xf8]
cmp ecx, esi
mov edi, dword [esp + 0x1c]
je 0x52f349
mov eax, 5
test ecx, ecx
jne 0x52f1f8
jmp 0x52f1fd
mov eax, 4
mov ecx, esi
jmp 0x52f1f8
lea ecx, [ecx + ecx*2]
lea ecx, [eax + ecx*8]
cmp ecx, esi
seta cl
cmp eax, esi
ja 0x52f368
test cl, cl
jne 0x52f3a1
lea ecx, [esp + 0x38]
push edx
call fcn.00417c10
mov eax, dword [esp + 0x38]
jmp 0x52f252
lea ecx, [ecx + ecx*2]
lea ecx, [eax + ecx*8]
cmp ecx, esi
seta cl
cmp eax, esi
ja 0x52f38e
test cl, cl
jne 0x52f3b8
lea ecx, [esp + 0x38]
push edx
call fcn.00417c10
mov eax, dword [esp + 0x38]
jmp 0x52f2ae
sub esi, eax
lea ecx, [esp + 0x38]
push edx
call fcn.00417c10
mov eax, dword [esp + 0x38]
add esi, eax
jmp 0x52f252
sub esi, eax
lea ecx, [esp + 0x38]
push edx
call fcn.00417c10
mov eax, dword [esp + 0x38]
add esi, eax
jmp 0x52f2ae
movzx eax, byte [esp + 0x10]
mov ecx, eax
shr ecx, 1
test al, 1
lea eax, [esp + 0x11]
cmovne eax, dword [esp + 0x18]
mov dword [esp + 0xe0], eax
cmovne ecx, dword [esp + 0x14]
mov dword [esp + 0xe4], ecx
mov eax, dword [0x577c3c]
mov dword [esp + 0xd8], eax
mov ecx, dword [0x577c40]
sub ecx, eax
sar ecx, 2
imul eax, ecx, 0xaaaaaaab
mov dword [esp + 0xdc], eax
mov eax, dword [edi]
sub esp, 0x18
movsd xmm0, qword [esp + 0xf0]
movsd qword [esp + 0xc], xmm0
movsd xmm0, qword [esp + 0xf8]
movsd qword [esp], xmm0
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 0x1c]
mov dword [esp + 8], esi
mov ecx, edi
call dword [eax + 0xc]
cmp byte [0x577c27], 0
je 0x52f460
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x10]
mov eax, dword [esi + 4]
add eax, 0xfffffff3
cmp eax, 0xfffffffe
jb 0x52f47e
cmp byte [0x577c5d], 0
je 0x52f47e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xb8]
movzx eax, byte [esp + 0x20]
test al, 1
je 0x52f48d
mov eax, dword [esp + 0x24]
jmp 0x52f48f
shr eax, 1
test eax, eax
jne 0x52fab9
movzx eax, byte [0x577c49]
movzx ecx, byte [0x577c4a]
or cl, al
je 0x52f4c9
cmp dword [0x577c10], 1
mov ecx, 0x14
mov edx, 0x80
cmovne edx, ecx
test al, al
mov eax, dword [edi]
cmove edx, ecx
mov ecx, edi
call dword [eax + edx]
cmp byte [0x577c28], 0
je 0x52f4d9
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x54]
movzx eax, byte [0x577c48]
mov edx, dword [0x577c4c]
test al, al
jne 0x52f4ef
cmp edx, 1
jne 0x52f4fb
mov esi, dword [edi]
movzx eax, al
mov ecx, edi
push edx
push eax
call dword [esi + 0x24]
cmp byte [0x577c2d], 0
je 0x52f50b
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x40]
cmp byte [0x577c52], 0
je 0x52f51b
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x44]
cmp byte [0x577c2a], 0
je 0x52f52b
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x18]
cmp byte [0x577cba], 0
je 0x52f53b
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x3c]
cmp byte [0x577c24], 0
je 0x52f54b
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x28]
movzx ebx, byte [0x577c74]
mov bh, byte [0x577c39]
mov eax, ebx
or al, bh
je 0x52f671
movzx ecx, byte [0x577c2e]
mov byte [esp + 0x140], 0
mov byte [esp + 0x180], 0
cmp byte [esp + 0x78], 0
je 0x52f5cd
lea eax, [esp + 0x150]
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 2
cmp dword [esp + 0x3c], 0
je 0x52f5c5
lea eax, [esp + 0x38]
mov byte [esp + 0xc], cl
lea ecx, [esp + 0x140]
push eax
call fcn.00417950
movzx ecx, byte [esp + 0xc]
mov byte [esp + 0x180], 1
xor eax, eax
test bh, bh
setne al
mov edx, dword [edi]
lea esi, [esp + 0x140]
movzx edi, cl
movzx ebx, bl
mov ecx, dword [esp + 0x1c]
push esi
push edi
mov edi, dword [esp + 0x24]
push eax
push ebx
call dword [edx + 0x20]
cmp byte [esp + 0x180], 0
je 0x52f671
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x144]
test ecx, ecx
je 0x52f65d
lea edx, [ecx + ecx*2]
lea esi, [eax + edx*8]
add esi, 0xffffffe8
shl ecx, 3
lea ebx, [ecx + ecx*2]
neg ebx
jmp 0x52f644
mov eax, 4
mov ecx, esi
mov edx, dword [ecx]
call dword [edx + eax*4]
add esi, 0xffffffe8
add ebx, 0x18
je 0x52f656
mov ecx, dword [esi + 0x10]
cmp esi, ecx
je 0x52f630
mov eax, 5
test ecx, ecx
jne 0x52f637
jmp 0x52f63c
mov eax, dword [esp + 0x140]
lea ecx, [esp + 0x150]
cmp eax, ecx
je 0x52f671
push eax
call sub.msvcrt.dll_free
add esp, 4
mov ecx, dword [0x577c18]
mov eax, dword [0x577c1c]
cmp ecx, eax
mov esi, dword [esp + 4]
je 0x52f6c4
mov dword [esp + 0xd0], ecx
sub eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
mov dword [esp + 0xd4], eax
movzx eax, byte [0x577c16]
sub esp, 0x10
movsd xmm0, qword [esp + 0xe0]
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], eax
mov dword [esp], esi
mov ecx, edi
call fcn.00539960
mov ecx, dword [0x577c68]
mov eax, dword [0x577c6c]
cmp ecx, eax
je 0x52f713
mov dword [esp + 0xc8], ecx
sub eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
mov dword [esp + 0xcc], eax
movzx eax, byte [0x577c16]
sub esp, 0x10
movsd xmm0, qword [esp + 0xd8]
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], eax
mov dword [esp], esi
mov ecx, edi
call fcn.0053aa90
cmp byte [0x577cbb], 0
je 0x52f723
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x4c]
cmp byte [0x577c2f], 0
je 0x52f733
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x50]
cmp byte [0x577c2c], 0
je 0x52f743
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x5c]
cmp byte [0x577c2b], 0
je 0x52f756
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xb4]
mov eax, dword [esi + 4]
lea ecx, [eax - 0xd]
cmp ecx, 3
ja 0x52f80e
cmp byte [0x577c58], 0
je 0x52f775
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x38]
cmp byte [0x577c56], 0
je 0x52f785
mov eax, dword [edi]
mov ecx, edi
call dword [eax + pe_nt_image_headers32]
cmp byte [0x577c54], 0
je 0x52f798
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x84]
cmp byte [0x577c35], 0
je 0x52f7a8
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x60]
cmp byte [0x577c32], 0
je 0x52f7b8
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x64]
cmp byte [0x577cb9], 0
je 0x52f7c8
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x68]
cmp byte [0x577cb8], 0
je 0x52f7d8
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x6c]
cmp byte [0x577c65], 0
je 0x52f7e8
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x70]
cmp byte [0x577c63], 0
je 0x52f7f8
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x74]
cmp byte [0x577c64], 0
je 0x52f80b
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x88]
mov eax, dword [esi + 4]
cmp eax, 0xa
jne 0x52f911
cmp byte [0x577c26], 0
je 0x52f82a
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x8c]
cmp byte [0x577c25], 0
je 0x52f83d
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x90]
cmp byte [0x577c37], 0
je 0x52f850
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x94]
cmp byte [0x577c36], 0
je 0x52f863
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x98]
cmp byte [0x577c57], 0
je 0x52f876
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x9c]
cmp byte [0x577c55], 0
je 0x52f889
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xa0]
cmp byte [0x577c31], 0
je 0x52f89c
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xa4]
cmp byte [0x577c38], 0
je 0x52f8af
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xa8]
cmp byte [0x577cb9], 0
je 0x52f8bf
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x68]
cmp byte [0x577c65], 0
je 0x52f8cf
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x70]
cmp byte [0x577c75], 0
je 0x52f8e2
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xac]
cmp byte [0x577c5b], 0
je 0x52f911
movzx eax, byte [0x577c5a]
mov edx, dword [edi]
mov ecx, edi
push eax
push 0x577b94
push 0x577b38
push 0x577af8
push 0x577ab8
call dword [edx + 0xb0]
mov eax, dword [esi + 4]
add eax, 0xffffffef
cmp eax, 3
ja 0x52f9a2
cmp byte [0x577c50], 0
je 0x52f933
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc4]
cmp byte [0x577c5c], 0
je 0x52f946
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xd4]
cmp byte [0x577c59], 0
je 0x52f959
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xd8]
cmp byte [0x577c30], 0
je 0x52f96c
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xd0]
cmp byte [0x577c51], 0
je 0x52f97f
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc8]
cmp byte [0x577c33], 0
je 0x52f992
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xcc]
cmp byte [0x577cb9], 0
je 0x52f9a2
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x68]
mov eax, dword [esi + 4]
add eax, 0xfffffff5
cmp eax, 1
ja 0x52f9ff
movzx eax, byte [0x577c5f]
movzx edx, byte [0x577c60]
movzx ecx, byte [0x577c61]
test al, al
jne 0x52f9ce
test dl, dl
jne 0x52f9ce
test cl, cl
je 0x52f9ec
xor ebx, ebx
test dl, dl
setne bl
xor edx, edx
test cl, cl
setne dl
mov esi, dword [edi]
movzx eax, al
mov ecx, edi
push edx
push ebx
push eax
call dword [esi + 0xc0]
cmp byte [0x577c5e], 0
je 0x52f9ff
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xbc]
cmp byte [0x577c34], 0
je 0x52fa12
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xdc]
cmp byte [0x577c53], 0
je 0x52fa22
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x7c]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp byte [esp + 0x78], 0
je 0x52fa8b
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x52fa7a
lea edx, [ecx + ecx*2]
lea esi, [eax + edx*8]
add esi, 0xffffffe8
shl ecx, 3
lea edi, [ecx + ecx*2]
neg edi
jmp 0x52fa64
mov eax, 4
mov ecx, esi
mov edx, dword [ecx]
call dword [edx + eax*4]
add esi, 0xffffffe8
add edi, 0x18
je 0x52fa76
mov ecx, dword [esi + 0x10]
cmp esi, ecx
je 0x52fa50
mov eax, 5
test ecx, ecx
jne 0x52fa57
jmp 0x52fa5c
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x48]
cmp eax, ecx
je 0x52fa8b
push eax
call sub.msvcrt.dll_free
add esp, 4
test byte [esp + 0x20], 1
je 0x52fa9e
push dword [esp + 0x28]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x10], 1
je 0x52fab1
push dword [esp + 0x18]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov word [esp + 0x98], 0x104
lea eax, [esp + 0x20]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x88]
lea esi, [esp + 0x130]
push eax
push esi
call fcn.0041ba30
add esp, 8
lea eax, [esp + 0x10]
lea ecx, [esp + 0x128]
push eax
call fcn.0052e620
sub esp, 0xc
movsd xmm0, qword [esp + 0x134]
movsd qword [esp + 4], xmm0
mov dword [esp], esi
call fcn.0052c500
lea ecx, [esp + 0x10]
call fcn.00407790
call fcn.0054f9d4
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], 0x16
sub esp, 0x10
movsd xmm0, qword [esp + 0x98]
movsd qword [esp + 4], xmm0
lea esi, [esp + 0x14c]
mov dword [esp], esi
mov dword [esp + 0xc], str.unsupported_object_file_format
call fcn.0054f2f0
add esp, 0x10
lea eax, [esp + 0x10]
lea ecx, [esp + 0x134]
push eax
call fcn.0052e620
sub esp, 0xc
movsd xmm0, qword [esp + 0x140]
movsd qword [esp + 4], xmm0
mov dword [esp], esi
call fcn.0052c500
int3