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

Disassembly:
sub esp, 0x44
movsd xmm0, qword [esp + 0x50]
push ebx
push ebp
mov ebp, dword [esp + 0x50]
mov ebx, ecx
movsd qword [esp + 0x38], xmm0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
push esi
mov esi, edx
mov dword [esp + 0x2c], eax
or eax, ecx
mov dword [esp + 0x38], ebx
push edi
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x4c], esi
jne 0x1003849a
xor ecx, ecx
mov eax, ebp
test edi, edi
setne cl
sub eax, esi
inc ecx
add ecx, edi
cmp eax, ecx
jl 0x100388c5
mov byte [esi], 0x30
inc esi
test edi, edi
je 0x10038487
push edi
mov byte [esi], 0x2e
inc esi
push 0x30
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
add esi, edi
mov dword [ebx], esi
mov eax, ebx
mov dword [ebx + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov edx, ecx
shr ecx, 0x14
and edx, 0xfffff
mov dword [esp + 0x34], edx
test ecx, ecx
jne 0x100384ba
mov dword [esp + 0x28], 0xfffffbce
jmp 0x10038600
lea eax, [ecx - 0x433]
mov byte [esp + 0x17], 0
mov ecx, dword [esp + 0x40]
or edx, 0x100000
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
cmp eax, 0xffffffcc
jl 0x10038600
test eax, eax
jns 0x100384f8
xor eax, eax
mov edx, 1
mov dword [esp + 0x1c], edx
lea ebx, [eax + 0x78]
jmp 0x10038530
add eax, 0xf
shr eax, 4
imul ecx, eax, 0x134410
mov ebx, eax
mov dword [esp + 0x18], eax
mov eax, 0x38e38e39
shl ebx, 4
add ebx, 0x78
shr ecx, 0x12
add ecx, 0x19
mul ecx
shr edx, 1
sub edx, 1
mov dword [esp + 0x1c], edx
js 0x10038600
mov eax, dword [esp + 0x18]
sub ebx, dword [esp + 0x28]
movzx eax, word [eax*2 + 0x10066d80]
lea ecx, [ebx + 8]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x34]
shld ecx, ebx, 8
shl ebx, 8
add eax, edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x2c], ebx
lea eax, [eax + eax*2]
lea ecx, [eax*8 + 0x10048a40]
mov dword [esp + 0x20], ecx
nop word [eax + eax]
push dword [esp + 0x18]
mov edx, dword [esp + 0x28]
push ebx
call fcn.100388e0
mov dl, byte [esp + 0x1f]
add esp, 8
mov ebx, eax
test dl, dl
je 0x100385aa
mov ecx, ebp
sub ecx, esi
cmp ecx, 9
jl 0x100388c5
mov edx, esi
mov ecx, ebx
call fcn.10038c20
mov dl, byte [esp + 0x17]
add esi, 9
jmp 0x100385dc
test ebx, ebx
je 0x100385dc
mov ecx, ebx
call fcn.10038ca0
mov ecx, ebp
mov dword [esp + 0x38], eax
sub ecx, esi
cmp ecx, eax
jl 0x100388c5
push esi
mov edx, ebx
mov ecx, eax
call fcn.10038350
mov dl, 1
add esp, 4
add esi, dword [esp + 0x38]
mov byte [esp + 0x17], dl
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
dec eax
mov ebx, dword [esp + 0x2c]
sub ecx, 0x18
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
test eax, eax
jns 0x10038570
test dl, dl
jne 0x1003860c
cmp esi, ebp
je 0x100388c5
mov byte [esi], 0x30
inc esi
test edi, edi
je 0x1003861c
cmp esi, ebp
je 0x100388c5
mov byte [esi], 0x2e
inc esi
mov eax, dword [esp + 0x28]
test eax, eax
jns 0x10038896
cdq
xor ebx, ebx
and edx, 0xf
lea ecx, [edx + eax]
mov eax, 0x38e38e39
mul edi
sar ecx, 4
mov eax, edx
neg ecx
shr eax, 1
mov dword [esp + 0x38], ecx
mov dword [esp + 0x48], eax
movzx ecx, byte [ecx + 0x10066e00]
lea edx, [eax + 1]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], edx
cmp edx, ecx
jbe 0x10038896
test ecx, ecx
je 0x10038695
mov ebx, ecx
mov eax, ebp
sub eax, esi
lea ecx, [ebx + ebx*8]
cmp eax, ecx
jl 0x100388c5
test ecx, ecx
je 0x1003868f
push ecx
push 0x30
push esi
call sub.VCRUNTIME140.dll_memset
mov edx, dword [esp + 0x24]
lea ecx, [ebx + ebx*8]
add esp, 0xc
add esi, ecx
mov ecx, dword [esp + 0x24]
cmp ebx, edx
jae 0x100388b0
mov eax, dword [esp + 0x38]
movzx edx, word [eax*2 + 0x10066e4a]
movzx eax, word [eax*2 + 0x10066e48]
sub eax, ecx
mov dword [esp + 0x40], edx
lea ecx, [eax + ebx]
mov eax, ebp
sub eax, esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], eax
lea eax, [ecx + ecx*2]
lea eax, [eax*8 + 0x1004fd00]
mov dword [esp + 0x2c], eax
cmp ecx, edx
jae 0x10038891
mov ecx, dword [esp + 0x30]
mov edx, 8
mov eax, dword [esp + 0x34]
sub edx, dword [esp + 0x38]
shld eax, ecx, 8
shl edx, 4
sub edx, dword [esp + 0x28]
shl ecx, 8
push eax
push ecx
mov ecx, dword [esp + 0x34]
call fcn.100388e0
add esp, 8
mov edx, eax
mov dword [esp + 0x20], edx
cmp ebx, dword [esp + 0x48]
jae 0x1003875f
cmp dword [esp + 0x1c], 9
jl 0x100388c5
mov edx, esi
mov ecx, eax
call fcn.10038c20
mov ecx, dword [esp + 0x24]
inc ebx
sub dword [esp + 0x1c], 9
inc ecx
add dword [esp + 0x2c], 0x18
add esi, 9
mov edx, dword [esp + 0x40]
mov dword [esp + 0x24], ecx
cmp ebx, dword [esp + 0x18]
jb 0x100386d4
mov eax, dword [esp + 0x3c]
mov dword [eax], esi
mov dword [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
lea eax, [ebx + ebx*8]
mov ecx, edi
sub ecx, eax
mov ebx, 9
mov dword [esp + 0x18], ecx
xor ecx, ecx
sub ebx, dword [esp + 0x18]
je 0x100387e7
nop word [eax + eax]
mov ecx, dword [esp + 0x20]
mov eax, 0xcccccccd
mul edx
shr edx, 3
mov dword [esp + 0x20], edx
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
sub ebx, 1
jne 0x10038780
cmp ecx, 5
jne 0x100387e7
not edi
sub edi, dword [esp + 0x28]
test edi, edi
jle 0x100387e0
cmp edi, 0x3c
jge 0x100387d9
xor ecx, ecx
xor eax, eax
bts ecx, edi
cmp edi, 0x20
cmovae eax, ecx
xor ecx, eax
cmp edi, 0x40
cmovae eax, ecx
add ecx, 0xffffffff
adc eax, 0xffffffff
and ecx, dword [esp + 0x30]
and eax, dword [esp + 0x34]
or ecx, eax
je 0x100387e0
mov edi, 1
jmp 0x100387f2
mov edi, 2
jmp 0x100387f2
mov eax, 5
cmp eax, ecx
sbb edi, edi
neg edi
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x10038813
mov eax, ebp
sub eax, esi
cmp eax, ebx
jl 0x100388c5
push esi
mov ecx, ebx
call fcn.10038dd0
add esp, 4
add esi, ebx
test edi, edi
je 0x100388b0
mov ebx, dword [esp + 0x4c]
mov eax, esi
mov edx, ebp
cmp esi, ebx
je 0x10038845
mov cl, byte [eax - 1]
dec eax
cmp cl, 0x2e
jne 0x10038834
mov edx, eax
jmp 0x10038841
cmp cl, 0x39
jne 0x1003886e
mov byte [eax], 0x30
mov edi, 1
cmp eax, ebx
jne 0x10038827
mov byte [eax], 0x31
cmp edx, ebp
je 0x10038851
mov word [edx], 0x2e30
cmp esi, ebp
je 0x100388c5
mov eax, dword [esp + 0x3c]
mov byte [esi], 0x30
inc esi
mov dword [eax], esi
mov dword [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
cmp edi, 1
je 0x10038878
test cl, 1
je 0x100388b0
inc cl
mov byte [eax], cl
mov eax, dword [esp + 0x3c]
mov dword [eax], esi
mov dword [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
lea eax, [ebx + ebx*8]
sub edi, eax
mov eax, ebp
sub eax, esi
cmp eax, edi
jl 0x100388c5
test edi, edi
je 0x100388ae
push edi
push 0x30
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
add esi, edi
mov eax, dword [esp + 0x3c]
mov dword [eax], esi
mov dword [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov eax, dword [esp + 0x3c]
pop edi
pop esi
mov dword [eax], ebp
pop ebp
mov dword [eax + 4], 0x84
pop ebx
add esp, 0x44
ret