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

Disassembly:
sub esp, 0x4c
push ebp
mov ebp, dword [esp + 0x58]
xor eax, eax
push esi
mov esi, dword [esp + 0x60]
xorps xmm0, xmm0
mov dword [esp + 0x28], eax
push edi
mov edi, dword [esp + 0x6c]
lea eax, [esi + ebp]
movlpd qword [esp + 0x48], xmm0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x68]
add eax, edi
movlpd qword [esp + 0x40], xmm0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x70]
movlpd qword [esp + 0x50], xmm0
mov dword [esp + 0x20], 0
mov dword [eax], 0
mov eax, dword [esp + 0x74]
mov dword [eax], 0
call fcn.00598d40
test eax, eax
jne 0x504181
mov eax, esi
cdq
mov esi, eax
mov ecx, edx
mov eax, edi
cdq
add esi, eax
adc ecx, edx
add esi, 0x11
adc ecx, 0
push ecx
push esi
call fcn.005660f0
add esp, 8
mov dword [esp + 0x28], eax
test eax, eax
je 0x504181
push ebx
mov ebx, eax
mov dword [esp + 0x10], ebx
cmp ebp, dword [esp + 0x28]
jb 0x503df2
xor edi, edi
jmp 0x503e03
lea eax, [esp + 0x4c]
push eax
push ebp
call fcn.00558880
add esp, 8
lea edi, [eax + ebp]
mov eax, dword [esp + 0x4c]
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x68], ebp
mov dword [esp + 0x1c], edi
cmp eax, dword [esp + 0x20]
jb 0x503e2d
mov edx, dword [esp + 0x48]
xor esi, esi
mov eax, dword [esp + 0x44]
jmp 0x503e49
lea ecx, [esp + 0x4c]
push ecx
push eax
call fcn.00558880
mov edx, dword [esp + 0x58]
mov esi, eax
mov eax, dword [esp + 0x54]
add esp, 8
add esi, dword [esp + 0x6c]
mov dword [esp + 0x64], edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], esi
nop dword [eax]
test edi, edi
jne 0x503e6c
test esi, esi
je 0x504149
mov ebx, dword [esp + 0x70]
cmp ebp, edx
jl 0x503e84
jg 0x503e7a
cmp ebx, eax
jbe 0x503e86
mov eax, 1
or ecx, 0xffffffff
jmp 0x503e9a
cmp ebx, eax
jne 0x503e92
cmp ebp, edx
jne 0x503e92
xor eax, eax
xor ecx, ecx
jmp 0x503e9a
or eax, 0xffffffff
mov ecx, 1
cmp dword [esp + 0x60], 0
cmovne eax, ecx
test esi, esi
je 0x50407d
test edi, edi
je 0x503fba
test eax, eax
jne 0x503fae
mov esi, dword [esp + 0x60]
lea eax, [esp + 0x24]
push ebp
push ebx
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x20]
push esi
push eax
call fcn.00512540
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x30]
push eax
call fcn.00510fd0
add esp, 0x24
mov dword [esp + 0x30], eax
test eax, eax
jne 0x504156
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x28]
jb 0x503f0a
xor edi, edi
mov dword [esp + 0x1c], edi
jmp 0x503f3c
lea eax, [esp + 0x34]
push eax
push edi
call fcn.00558880
add edi, eax
add esp, 8
mov dword [esp + 0x1c], edi
test esi, esi
je 0x503f2c
sub ebx, dword [esp + 0x34]
sbb ebp, dword [esp + 0x38]
jmp 0x503f34
add ebx, dword [esp + 0x34]
adc ebp, dword [esp + 0x38]
mov dword [esp + 0x68], ebp
mov dword [esp + 0x70], ebx
mov esi, dword [esp + 0x18]
cmp esi, dword [esp + 0x20]
jb 0x503f59
mov ebx, dword [esp + 0x10]
xor esi, esi
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x6c]
jmp 0x503e51
lea eax, [esp + 0x3c]
push eax
push esi
call fcn.00558880
mov edx, dword [esp + 0x6c]
add esi, eax
mov eax, dword [esp + 0x74]
add esp, 8
cmp dword [esp + 0x60], 0
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], esi
je 0x503f99
sub eax, dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
sbb edx, dword [esp + 0x40]
mov dword [esp + 0x64], edx
jmp 0x503e60
add eax, dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
adc edx, dword [esp + 0x40]
mov dword [esp + 0x64], edx
jmp 0x503e60
test edi, edi
je 0x503fba
test eax, eax
js 0x50407d
push edx
push dword [esp + 0x70]
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x70]
lea eax, [esp + 0x24]
push eax
call fcn.00512540
mov dl, byte [esi]
add esp, 0x18
mov ebp, esi
test dl, dl
je 0x503ff0
mov cl, byte [ebp + 1]
inc ebp
mov al, dl
mov dl, cl
and al, 0x80
or cl, al
jne 0x503fe2
mov eax, dword [esp + 0x14]
inc ebp
mov ebx, dword [esp + 0x10]
mov esi, ebp
sub esi, eax
push esi
push eax
push ebx
call fcn.00430da0
add ebx, esi
add esp, 0xc
mov dword [esp + 0x10], ebx
cmp ebp, dword [esp + 0x20]
jb 0x504027
mov ebp, dword [esp + 0x68]
xor esi, esi
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x6c]
jmp 0x503e51
lea eax, [esp + 0x44]
push eax
push ebp
call fcn.00558880
mov edx, dword [esp + 0x6c]
add esp, 8
cmp dword [esp + 0x60], 0
lea esi, [eax + ebp]
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], esi
je 0x504068
sub eax, dword [esp + 0x44]
mov dword [esp + 0x6c], eax
sbb edx, dword [esp + 0x48]
mov dword [esp + 0x64], edx
jmp 0x503e60
add eax, dword [esp + 0x44]
mov dword [esp + 0x6c], eax
adc edx, dword [esp + 0x48]
mov dword [esp + 0x64], edx
jmp 0x503e60
push ebp
push ebx
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x70]
lea eax, [esp + 0x24]
push eax
call fcn.00512540
mov dl, byte [edi]
add esp, 0x18
mov ebp, edi
test dl, dl
je 0x5040b0
mov cl, byte [ebp + 1]
inc ebp
mov al, dl
mov dl, cl
and al, 0x80
or cl, al
jne 0x5040a2
mov ebx, dword [esp + 0x10]
inc ebp
mov esi, ebp
sub esi, edi
push esi
push edi
push ebx
call fcn.00430da0
add ebx, esi
add esp, 0xc
mov dword [esp + 0x10], ebx
cmp ebp, dword [esp + 0x28]
jb 0x5040eb
mov esi, dword [esp + 0x14]
xor edi, edi
mov ebp, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x1c], edi
jmp 0x503e60
lea eax, [esp + 0x4c]
push eax
push ebp
call fcn.00558880
mov esi, dword [esp + 0x1c]
add esp, 8
cmp dword [esp + 0x60], 0
mov edx, dword [esp + 0x64]
lea edi, [eax + ebp]
mov eax, dword [esp + 0x70]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x1c], edi
je 0x504130
sub eax, dword [esp + 0x4c]
mov dword [esp + 0x70], eax
sbb ebp, dword [esp + 0x50]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x68], ebp
jmp 0x503e60
add eax, dword [esp + 0x4c]
mov dword [esp + 0x70], eax
adc ebp, dword [esp + 0x50]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x68], ebp
jmp 0x503e60
mov eax, dword [esp + 0x2c]
xorps xmm0, xmm0
movq qword [ebx], xmm0
jmp 0x504167
mov eax, dword [esp + 0x2c]
push eax
call fcn.004e51f0
add esp, 4
xor eax, eax
xor ebx, ebx
mov ecx, dword [esp + 0x74]
sub ebx, eax
mov dword [ecx], eax
mov eax, dword [esp + 0x78]
mov dword [eax], ebx
mov eax, dword [esp + 0x30]
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x4c
ret
pop edi
pop esi
mov eax, 7
pop ebp
add esp, 0x4c
ret