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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xf8
mov ebx, edx
mov dword [esp + 0x6c], ecx
mov esi, dword [ecx + 0x38]
mov ecx, dword [edx + 8]
movsd xmm0, qword [edx]
movsd qword [esp + 0xc8], xmm0
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0xc8]
movsd qword [esp], xmm0
call dword [eax + 0x98]
sub esp, 8
mov dword [esp + 0x70], eax
mov dword [esp + 0x9c], edx
lea eax, [esp + 0xd4]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0x20
mov ecx, dword [ebx + 8]
movsd xmm0, qword [ebx]
movsd qword [esp + 0x40], xmm0
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x40]
movsd qword [esp], xmm0
lea edx, [esp + 0xc8]
mov dword [esp + 8], edx
call dword [eax + 0xa4]
sub esp, 0xc
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x30], ecx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0xc0], eax
movsd xmm0, qword [esp + 0xc0]
movsd qword [esp], xmm0
mov ecx, esi
call fcn.0054f680
sub esp, 8
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], eax
lea edi, [esp + 0x38]
mov dword [esp], edi
mov ecx, esi
call fcn.0054f6c2
sub esp, 4
mov byte [esp + 0x1f], al
test al, al
je 0x536118
mov dword [esp + 0x2c], esi
mov eax, dword [0x554c3c]
cmp byte [eax], 0
je 0x536296
mov dword [esp + 0x30], 0x569860
mov dword [esp + 0x90], 1
mov dword [esp + 0x34], 0
lea ebx, [esp + 0x38]
jmp 0x536379
mov dword [esp], edi
mov ecx, esi
call fcn.0054f6f8
sub esp, 4
mov dword [esp + 0x34], eax
test al, al
je 0x5361d0
mov eax, dword [ebx + 8]
movsd xmm0, qword [ebx]
movsd qword [esp + 0x40], xmm0
mov edx, dword [eax]
movsd xmm0, qword [esp + 0x40]
movsd qword [esp + 4], xmm0
mov dword [esp], eax
lea ecx, [esp + 0x7c]
call dword [edx + 0x9c]
sub esp, 0xc
mov eax, dword [esi]
mov dword [esp], esi
lea ecx, [esp + 0x40]
call dword [eax + 0x1c]
sub esp, 4
mov eax, dword [esp + 0x7c]
xor eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x80]
xor ecx, dword [esp + 0x44]
or ecx, eax
je 0x536341
movsd xmm0, qword [esp + 0x7c]
mov eax, dword [esp + 0x84]
movsd qword [esp + 0x20], xmm0
mov edx, dword [eax]
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 4], xmm0
mov dword [esp], eax
lea ecx, [esp + 0x40]
call dword [edx + 0x28]
sub esp, 0xc
test byte [esp + 0x48], 1
lea ebx, [esp + 0x38]
jne 0x536ad7
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
jmp 0x536349
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xbc], eax
movsd xmm0, qword [esp + 0xb8]
movsd qword [esp + 4], xmm0
mov dword [esp], esi
lea ecx, [esp + 0x40]
call fcn.0054f6a4
sub esp, 0xc
mov eax, dword [esi]
mov dword [esp], esi
lea ecx, [esp + 0x7c]
call dword [eax + 0xb4]
sub esp, 4
mov eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x84]
jne 0x53623e
mov eax, dword [esp + 0x40]
xor eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0x80]
or ecx, eax
je 0x536341
mov ecx, esi
call fcn.0054f8a2
mov edi, eax
mov ebx, edx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov edx, dword [eax]
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 4], xmm0
mov dword [esp], eax
lea ecx, [esp + 0x7c]
call dword [edx + 0x48]
sub esp, 0xc
test byte [esp + 0x84], 1
jne 0x536abd
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
jmp 0x536345
lea eax, [esp + 0x4c]
mov dword [esp + 0x34], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], 0x20
mov word [esp + 0x4c], 0x7830
mov dword [esp + 0x44], 2
lea eax, [esp + 0x38]
mov dword [esp], eax
mov ecx, dword [esp + 0x2c]
call fcn.0054f710
sub esp, 4
test eax, eax
je 0x536943
xor ecx, ecx
mov ebx, 0x11
xor esi, esi
nop dword [eax]
mov edi, eax
and edi, 0xf
movzx edx, byte [edi + str.0123456789ABCDEF]
mov byte [esp + ebx + 0x7b], dl
mov edx, ecx
shld edx, eax, 0x1c
dec ebx
shr esi, 4
mov edi, 0xf
cmp edi, eax
mov eax, 0
sbb eax, ecx
mov eax, edx
mov ecx, esi
jb 0x5362e0
mov ecx, 0x11
sub ecx, ebx
cmp ecx, 0xfffffff8
jae 0x536960
cmp ecx, 0xa
ja 0x536716
mov eax, ecx
add al, cl
mov byte [esp + 0x20], al
lea edi, [esp + 0x21]
cmp ebx, 0x11
jne 0x536740
jmp 0x53675a
xor ecx, ecx
xor eax, eax
lea ebx, [esp + 0x38]
test eax, eax
mov edx, 0x569860
cmovne edx, ecx
mov dword [esp + 0x30], edx
cmp eax, 1
mov ecx, eax
adc ecx, 0
mov dword [esp + 0x90], ecx
mov ecx, dword [0x554c3c]
cmp byte [ecx], 0
je 0x53669d
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x20]
mov esi, eax
mov dword [esp + 0x40], 0x569862
mov dword [esp + 0x44], 0xa
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x40]
movsd qword [esp], xmm0
mov dword [esp + 0x98], ecx
call dword [eax + 0x7c]
sub esp, 8
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x40], 0x569370
mov dword [esp + 0x44], 6
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x20], eax
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x40]
movsd qword [esp], xmm0
call dword [eax + 0xa8]
sub esp, 0x10
mov edi, dword [esi + 0x20]
mov dword [esp + 0xb0], str.PCRel
mov dword [esp + 0xb4], 5
mov dword [esp], ebx
mov ebx, dword [esp + 0x2c]
mov ecx, ebx
call fcn.0054f6aa
sub esp, 4
mov edx, dword [edi]
movsd xmm0, qword [esp + 0xb0]
movsd qword [esp], xmm0
mov dword [esp + 8], eax
mov ecx, edi
call dword [edx + 0x20]
sub esp, 0xc
mov edi, dword [esi + 0x20]
mov dword [esp + 0xa8], 0x569873
mov dword [esp + 0xac], 6
lea esi, [esp + 0x38]
mov dword [esp], esi
mov ecx, ebx
call fcn.0054f6c8
sub esp, 4
mov edx, dword [edi]
movsd xmm0, qword [esp + 0xa8]
movsd qword [esp], xmm0
mov dword [esp + 8], eax
mov ecx, edi
call dword [edx + 0x20]
sub esp, 0xc
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x70], eax
mov ecx, ebx
mov edi, dword [esp + 0xc8]
mov ebx, dword [esp + 0xcc]
mov dword [esp], esi
call fcn.0054f69e
sub esp, 4
mov dword [esp + 0x94], eax
mov dword [esp + 0x20], 0x5693a2
mov dword [esp + 0x24], 4
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], edi
lea eax, [esp + 0x94]
mov dword [esp + 4], eax
lea eax, [esp + 0x40]
mov dword [esp], eax
call fcn.0041b930
movzx eax, byte [esp + 0x40]
mov ecx, eax
shr ecx, 1
test al, 1
lea esi, [esp + 0x41]
mov eax, dword [esp + 0x48]
cmove eax, esi
cmovne ecx, dword [esp + 0x44]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx]
movsd xmm0, qword [esp + 0xa0]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esp + 0x74]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x20]
movsd qword [esp], xmm0
call dword [eax + 0xb4]
sub esp, 0x18
test byte [esp + 0x40], 1
je 0x53654d
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
mov eax, dword [esp + 0x6c]
mov edi, dword [eax + 0x20]
cmp byte [esp + 0x1f], 0
je 0x5365b3
lea eax, [esp + 0x38]
mov dword [esp], eax
mov ecx, dword [esp + 0x2c]
call fcn.0054f710
sub esp, 4
mov dword [esp + 0x40], 0x56987a
mov dword [esp + 0x44], 5
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0
mov eax, dword [edi]
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x40]
movsd qword [esp], xmm0
mov ecx, edi
call dword [eax + 0xa8]
sub esp, 0x10
jmp 0x536682
movzx ebx, byte [esp + 0x34]
xor ebx, 7
lea eax, [esp + 0x38]
mov dword [esp], eax
mov ecx, dword [esp + 0x2c]
call fcn.0054f70a
sub esp, 4
mov dword [esp + 0x94], eax
mov eax, 0x569880
cmp byte [esp + 0x34], 0
mov ecx, 0x569348
cmovne ecx, eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x90]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x94]
mov dword [esp + 4], eax
lea eax, [esp + 0x40]
mov dword [esp], eax
call fcn.0041b930
movzx eax, byte [esp + 0x40]
mov ecx, eax
shr ecx, 1
test al, 1
cmovne esi, dword [esp + 0x48]
cmovne ecx, dword [esp + 0x44]
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], ecx
mov eax, dword [edi]
movsd xmm0, qword [esp + 0xa0]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esp + 0x74]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x20]
movsd qword [esp], xmm0
mov ecx, edi
call dword [eax + 0xb4]
sub esp, 0x18
test byte [esp + 0x40], 1
je 0x536682
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
lea esi, [esp + 0xd4]
mov ecx, dword [esp + 0x98]
mov eax, dword [ecx]
call dword [eax + 0x80]
jmp 0x536a7f
mov edi, esi
lea esi, [esp + 0x4c]
mov dword [esp + 0x40], esi
mov dword [esp + 0x48], 0x20
mov word [esp + 0x4c], 0x7830
mov dword [esp + 0x44], 0
xor edx, edx
mov ecx, esi
cmp eax, 0x21
mov ebx, dword [esp + 0x90]
jb 0x5366f1
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [esp + 8], 1
lea ecx, [esp + 0x40]
call fcn.0054f2cc
sub esp, 0xc
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x34], esi
add ecx, edx
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
add dword [esp + 0x44], ebx
mov esi, edi
jmp 0x5367f1
mov esi, ecx
or esi, 7
lea eax, [esi + 1]
mov dword [esp], eax
mov edi, ecx
call sub.libc.dll_operator_new_unsigned_int_
mov ecx, edi
mov edi, eax
mov dword [esp + 0x28], eax
add esi, 2
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ecx
cmp ebx, 0x11
je 0x53675a
lea eax, [esp + ebx]
add eax, 0x7c
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edi
mov esi, ecx
call sub.msvcrt.dll_memcpy
add edi, esi
mov byte [edi], 0
movzx ebx, byte [esp + 0x20]
mov esi, dword [esp + 0x28]
test bl, 1
mov dword [esp + 0x30], esi
je 0x536782
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x44]
lea ecx, [eax + edi]
cmp dword [esp + 0x48], ecx
jb 0x536797
jmp 0x5367ba
mov edi, ebx
shr edi, 1
lea esi, [esp + 0x21]
mov eax, dword [esp + 0x44]
lea ecx, [eax + edi]
cmp dword [esp + 0x48], ecx
jae 0x5367ba
mov dword [esp + 4], ecx
lea eax, [esp + 0x4c]
mov dword [esp], eax
mov dword [esp + 8], 1
lea ecx, [esp + 0x40]
call fcn.0054f2cc
sub esp, 0xc
mov eax, dword [esp + 0x44]
test edi, edi
je 0x5367d6
add eax, dword [esp + 0x40]
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x2c]
add eax, edi
mov dword [esp + 0x44], eax
test bl, 1
je 0x5367f1
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x20]
mov eax, dword [ecx]
call dword [eax + 0x90]
mov edi, eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0054f53c
mov ebx, eax
mov eax, dword [eax + 0x10]
cmp dword [ebx + 0xc], eax
je 0x536837
mov byte [eax], 0x20
inc dword [ebx + 0x10]
jmp 0x536852
mov dword [esp + 4], 1
mov dword [esp], 0x569887
mov ecx, ebx
call fcn.0054f224
sub esp, 8
mov ebx, eax
lea eax, [esp + 0x38]
mov dword [esp], eax
mov ecx, esi
call fcn.0054f6aa
sub esp, 4
mov dword [esp], eax
mov ecx, ebx
call fcn.0054f260
sub esp, 4
mov ebx, eax
mov eax, dword [eax + 0x10]
cmp dword [ebx + 0xc], eax
je 0x536882
mov byte [eax], 0x20
inc dword [ebx + 0x10]
jmp 0x53689d
mov dword [esp + 4], 1
mov dword [esp], 0x569887
mov ecx, ebx
call fcn.0054f224
sub esp, 8
mov ebx, eax
lea eax, [esp + 0x38]
mov dword [esp], eax
mov ecx, esi
call fcn.0054f6c8
sub esp, 4
mov dword [esp], eax
mov ecx, ebx
call fcn.0054f260
sub esp, 4
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
movzx ebx, byte [esp + 0x1f]
test bl, bl
je 0x5368ff
sub ecx, eax
cmp ecx, 3
lea esi, [esp + 0xd4]
ja 0x53690d
mov dword [esp + 4], 4
mov dword [esp], str._n_a
mov ecx, edi
call fcn.0054f224
sub esp, 8
mov eax, dword [edi + 0x10]
cmp dword [edi + 0xc], eax
jne 0x5369bd
jmp 0x536923
cmp ecx, eax
je 0x536969
mov byte [eax], 0x20
inc dword [edi + 0x10]
mov ebx, edi
jmp 0x536984
mov dword [eax], 0x612f6e20
add dword [edi + 0x10], 4
mov eax, dword [edi + 0x10]
cmp dword [edi + 0xc], eax
jne 0x5369bd
mov dword [esp + 4], 1
mov dword [esp], 0x569887
mov ecx, edi
call fcn.0054f224
sub esp, 8
mov edi, eax
jmp 0x5369c3
mov byte [esp + 0x8c], 0x30
mov ebx, 0x10
mov ecx, 0x11
sub ecx, ebx
cmp ecx, 0xfffffff8
jb 0x53631e
lea ecx, [esp + 0x20]
call fcn.00407790
mov dword [esp + 4], 1
mov dword [esp], 0x569887
mov ecx, edi
call fcn.0054f224
sub esp, 8
mov ebx, eax
lea eax, [esp + 0x38]
mov dword [esp], eax
mov ecx, esi
call fcn.0054f6f8
sub esp, 4
movzx eax, al
mov dword [esp], eax
mov ecx, ebx
call fcn.0054f25a
sub esp, 4
lea esi, [esp + 0xd4]
movzx ebx, byte [esp + 0x1f]
mov eax, dword [edi + 0x10]
cmp dword [edi + 0xc], eax
je 0x536923
mov byte [eax], 0x20
inc dword [edi + 0x10]
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov ecx, edi
call fcn.0054f224
sub esp, 8
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x5369f2
mov byte [ecx], 0x20
inc dword [eax + 0x10]
jmp 0x536a0b
mov dword [esp + 4], 1
mov dword [esp], 0x569887
mov ecx, eax
call fcn.0054f224
sub esp, 8
mov edi, dword [esp + 0x34]
movzx ecx, bl
mov dword [esp], ecx
mov ecx, eax
call fcn.0054f25a
sub esp, 4
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x536a2f
mov byte [ecx], 0x20
inc dword [eax + 0x10]
jmp 0x536a48
mov dword [esp + 4], 1
mov dword [esp], 0x569887
mov ecx, eax
call fcn.0054f224
sub esp, 8
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov dword [esp], ecx
mov ecx, eax
call fcn.0054f224
sub esp, 8
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x536a9a
mov byte [ecx], 0xa
inc dword [eax + 0x10]
mov eax, dword [esp + 0x40]
cmp eax, edi
je 0x536a7f
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [esp + 0xc8]
cmp eax, esi
je 0x536a92
mov dword [esp], eax
call sub.msvcrt.dll_free
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 4], 1
mov dword [esp], 0x56988e
mov ecx, eax
call fcn.0054f224
sub esp, 8
mov eax, dword [esp + 0x40]
cmp eax, edi
jne 0x536a77
jmp 0x536a7f
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x74], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ebx
jmp 0x536afb
mov eax, dword [esp + 0x40]
mov dword [esp + 0x40], 0
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x38]
call fcn.0054f8a2
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], eax
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 4], xmm0
lea eax, [esp + 0x74]
mov dword [esp], eax
call fcn.0052c500
int3