Function at 0x535fb0
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.0054a81c
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.0054a85e
sub esp, 4
mov byte [esp + 0x1f], al
test al, al
je 0x5360d8
mov dword [esp + 0x2c], esi
mov eax, dword [0x54fc3c]
cmp byte [eax], 0
je 0x536256
mov dword [esp + 0x30], 0x564860
mov dword [esp + 0x90], 1
mov dword [esp + 0x34], 0
lea ebx, [esp + 0x38]
jmp 0x536339
mov dword [esp], edi
mov ecx, esi
call fcn.0054a894
sub esp, 4
mov dword [esp + 0x34], eax
test al, al
je 0x536190
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 0x536301
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 0x536a97
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
jmp 0x536309
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.0054a840
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 0x5361fe
mov eax, dword [esp + 0x40]
xor eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x44]
xor ecx, dword [esp + 0x80]
or ecx, eax
je 0x536301
mov ecx, esi
call fcn.0054aa3e
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 0x536a7d
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
jmp 0x536305
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.0054a8ac
sub esp, 4
test eax, eax
je 0x536903
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 0x5362a0
mov ecx, 0x11
sub ecx, ebx
cmp ecx, 0xfffffff8
jae 0x536920
cmp ecx, 0xa
ja 0x5366d6
mov eax, ecx
add al, cl
mov byte [esp + 0x20], al
lea edi, [esp + 0x21]
cmp ebx, 0x11
jne 0x536700
jmp 0x53671a
xor ecx, ecx
xor eax, eax
lea ebx, [esp + 0x38]
test eax, eax
mov edx, 0x564860
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 [0x54fc3c]
cmp byte [ecx], 0
je 0x53665d
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x20]
mov esi, eax
mov dword [esp + 0x40], 0x564862
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], 0x564370
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.0054a846
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], 0x564873
mov dword [esp + 0xac], 6
lea esi, [esp + 0x38]
mov dword [esp], esi
mov ecx, ebx
call fcn.0054a864
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.0054a83a
sub esp, 4
mov dword [esp + 0x94], eax
mov dword [esp + 0x20], 0x5643a2
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 0x53650d
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 0x536573
lea eax, [esp + 0x38]
mov dword [esp], eax
mov ecx, dword [esp + 0x2c]
call fcn.0054a8ac
sub esp, 4
mov dword [esp + 0x40], 0x56487a
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 0x536642
movzx ebx, byte [esp + 0x34]
xor ebx, 7
lea eax, [esp + 0x38]
mov dword [esp], eax
mov ecx, dword [esp + 0x2c]
call fcn.0054a8a6
sub esp, 4
mov dword [esp + 0x94], eax
mov eax, 0x564880
cmp byte [esp + 0x34], 0
mov ecx, 0x564348
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 0x536642
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 0x536a3f
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 0x5366b1
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [esp + 8], 1
lea ecx, [esp + 0x40]
call fcn.0054a468
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.api_ms_win_crt_private_l1_1_0.dll_memcpy
add dword [esp + 0x44], ebx
mov esi, edi
jmp 0x5367b1
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 0x53671a
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.api_ms_win_crt_private_l1_1_0.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 0x536742
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x44]
lea ecx, [eax + edi]
cmp dword [esp + 0x48], ecx
jb 0x536757
jmp 0x53677a
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 0x53677a
mov dword [esp + 4], ecx
lea eax, [esp + 0x4c]
mov dword [esp], eax
mov dword [esp + 8], 1
lea ecx, [esp + 0x40]
call fcn.0054a468
sub esp, 0xc
mov eax, dword [esp + 0x44]
test edi, edi
je 0x536796
add eax, dword [esp + 0x40]
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x2c]
add eax, edi
mov dword [esp + 0x44], eax
test bl, 1
je 0x5367b1
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.0054a6d8
mov ebx, eax
mov eax, dword [eax + 0x10]
cmp dword [ebx + 0xc], eax
je 0x5367f7
mov byte [eax], 0x20
inc dword [ebx + 0x10]
jmp 0x536812
mov dword [esp + 4], 1
mov dword [esp], 0x564887
mov ecx, ebx
call fcn.0054a3c0
sub esp, 8
mov ebx, eax
lea eax, [esp + 0x38]
mov dword [esp], eax
mov ecx, esi
call fcn.0054a846
sub esp, 4
mov dword [esp], eax
mov ecx, ebx
call fcn.0054a3fc
sub esp, 4
mov ebx, eax
mov eax, dword [eax + 0x10]
cmp dword [ebx + 0xc], eax
je 0x536842
mov byte [eax], 0x20
inc dword [ebx + 0x10]
jmp 0x53685d
mov dword [esp + 4], 1
mov dword [esp], 0x564887
mov ecx, ebx
call fcn.0054a3c0
sub esp, 8
mov ebx, eax
lea eax, [esp + 0x38]
mov dword [esp], eax
mov ecx, esi
call fcn.0054a864
sub esp, 4
mov dword [esp], eax
mov ecx, ebx
call fcn.0054a3fc
sub esp, 4
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
movzx ebx, byte [esp + 0x1f]
test bl, bl
je 0x5368bf
sub ecx, eax
cmp ecx, 3
lea esi, [esp + 0xd4]
ja 0x5368cd
mov dword [esp + 4], 4
mov dword [esp], str._n_a
mov ecx, edi
call fcn.0054a3c0
sub esp, 8
mov eax, dword [edi + 0x10]
cmp dword [edi + 0xc], eax
jne 0x53697d
jmp 0x5368e3
cmp ecx, eax
je 0x536929
mov byte [eax], 0x20
inc dword [edi + 0x10]
mov ebx, edi
jmp 0x536944
mov dword [eax], 0x612f6e20
add dword [edi + 0x10], 4
mov eax, dword [edi + 0x10]
cmp dword [edi + 0xc], eax
jne 0x53697d
mov dword [esp + 4], 1
mov dword [esp], 0x564887
mov ecx, edi
call fcn.0054a3c0
sub esp, 8
mov edi, eax
jmp 0x536983
mov byte [esp + 0x8c], 0x30
mov ebx, 0x10
mov ecx, 0x11
sub ecx, ebx
cmp ecx, 0xfffffff8
jb 0x5362de
lea ecx, [esp + 0x20]
call fcn.00407760
mov dword [esp + 4], 1
mov dword [esp], 0x564887
mov ecx, edi
call fcn.0054a3c0
sub esp, 8
mov ebx, eax
lea eax, [esp + 0x38]
mov dword [esp], eax
mov ecx, esi
call fcn.0054a894
sub esp, 4
movzx eax, al
mov dword [esp], eax
mov ecx, ebx
call fcn.0054a3f6
sub esp, 4
lea esi, [esp + 0xd4]
movzx ebx, byte [esp + 0x1f]
mov eax, dword [edi + 0x10]
cmp dword [edi + 0xc], eax
je 0x5368e3
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.0054a3c0
sub esp, 8
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x5369b2
mov byte [ecx], 0x20
inc dword [eax + 0x10]
jmp 0x5369cb
mov dword [esp + 4], 1
mov dword [esp], 0x564887
mov ecx, eax
call fcn.0054a3c0
sub esp, 8
mov edi, dword [esp + 0x34]
movzx ecx, bl
mov dword [esp], ecx
mov ecx, eax
call fcn.0054a3f6
sub esp, 4
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x5369ef
mov byte [ecx], 0x20
inc dword [eax + 0x10]
jmp 0x536a08
mov dword [esp + 4], 1
mov dword [esp], 0x564887
mov ecx, eax
call fcn.0054a3c0
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.0054a3c0
sub esp, 8
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x536a5a
mov byte [ecx], 0xa
inc dword [eax + 0x10]
mov eax, dword [esp + 0x40]
cmp eax, edi
je 0x536a3f
mov dword [esp], eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov eax, dword [esp + 0xc8]
cmp eax, esi
je 0x536a52
mov dword [esp], eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 4], 1
mov dword [esp], 0x56488e
mov ecx, eax
call fcn.0054a3c0
sub esp, 8
mov eax, dword [esp + 0x40]
cmp eax, edi
jne 0x536a37
jmp 0x536a3f
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 0x536abb
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.0054aa3e
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.0052c4c0
int3