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

Disassembly:
sub esp, 0x48
push ebx
push ebp
push esi
mov esi, dword [esp + 0x58]
mov ebp, edx
movsd qword [esp + 0x44], xmm3
mov ebx, dword [esp + 0x44]
mov eax, ebx
push edi
mov edi, ecx
mov dword [esp + 0x3c], esi
mov ecx, dword [esp + 0x4c]
or eax, ecx
mov dword [esp + 0x54], edi
mov dword [esp + 0x28], ebx
jne 0x1001aa3f
xor ecx, ecx
mov eax, ebp
test esi, esi
setne cl
sub eax, edi
add ecx, 5
add ecx, esi
cmp eax, ecx
jge 0x1001aa12
mov edx, 0x84
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
mov byte [edi], 0x30
inc edi
test esi, esi
je 0x1001aa2c
push esi
mov byte [edi], 0x2e
inc edi
push 0x30
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
add edi, esi
mov dword [edi], 0x30302b65
lea eax, [edi + 4]
xor edx, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
mov edx, ecx
inc esi
and edx, 0xfffff
shr ecx, 0x14
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], esi
test ecx, ecx
jne 0x1001aa71
xor esi, esi
mov eax, 0xfffffbce
xor ebx, ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebx
jmp 0x1001acb2
or edx, 0x100000
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], edx
lea eax, [ecx - 0x433]
xor edx, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], edx
xor eax, eax
mov edx, dword [esp + 0x2c]
xor ecx, ecx
mov dword [esp + 0x20], edx
xor ebx, ebx
cmp dword [esp + 0x2c], 0xffffffcc
mov edx, dword [esp + 0x38]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x24], edx
mov edx, eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
jl 0x1001ac69
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jns 0x1001aadb
mov dword [esp + 0x40], eax
lea eax, [ebx + 0x78]
mov dword [esp + 0x34], 1
jmp 0x1001ab2f
add ecx, 0xf
shr ecx, 4
mov eax, ecx
mov dword [esp + 0x40], ecx
imul ecx, ecx, 0x134410
shl eax, 4
add eax, 0x78
mov dword [esp + 0x44], eax
mov eax, 0x38e38e39
shr ecx, 0x12
add ecx, 0x19
mul ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
shr edx, 1
sub edx, 1
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x34], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
js 0x1001ac5d
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
sub eax, ecx
mov edx, dword [esp + 0x30]
add eax, 8
mov dword [esp + 0x48], eax
mov eax, ebx
shld edx, eax, 8
mov dword [esp + 0x20], ecx
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x34]
shl eax, 8
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], ebx
lea eax, [edx + edx*8]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x24], eax
nop dword [eax]
mov eax, dword [esp + 0x40]
push dword [esp + 0x44]
push dword [esp + 0x30]
movzx eax, word [eax*2 + 0x101f3d40]
add eax, edx
mov edx, dword [esp + 0x50]
lea eax, [eax + eax*2]
lea ecx, [eax*8 + 0x101bede0]
call fcn.1001a5b0
mov ecx, dword [esp + 0x20]
add esp, 8
mov edx, eax
mov dword [esp + 0x10], edx
test ecx, ecx
je 0x1001abd8
lea ebx, [ecx + 9]
cmp ebx, esi
ja 0x1001ac52
mov ecx, ebp
sub ecx, edi
cmp ecx, 9
jl 0x1001aa03
mov edx, edi
mov ecx, eax
call fcn.1001f450
mov esi, dword [esp + 0x1c]
add edi, 9
mov ecx, ebx
xor ebx, ebx
jmp 0x1001ac2e
xor ebx, ebx
test edx, edx
je 0x1001ac32
mov ecx, edx
call fcn.1001a480
mov ebx, eax
mov eax, dword [esp + 0x38]
dec eax
add eax, ebx
mov dword [esp + 0x14], eax
cmp ebx, esi
ja 0x1001ac65
cmp dword [esp + 0x3c], 0
jbe 0x1001ac1b
mov ecx, ebp
lea eax, [ebx + 1]
sub ecx, edi
cmp ecx, eax
jl 0x1001aa03
push edi
mov ecx, ebx
call fcn.1001a8f0
add esp, 4
add edi, ebx
jmp 0x1001ac29
cmp edi, ebp
je 0x1001aa03
mov al, dl
add al, 0x30
mov byte [edi], al
mov ecx, ebx
xor ebx, ebx
inc edi
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x34]
sub dword [esp + 0x38], 9
dec edx
mov dword [esp + 0x34], edx
test edx, edx
jns 0x1001ab70
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
jmp 0x1001ac69
mov eax, dword [esp + 0x14]
mov ebx, 9
jmp 0x1001ac69
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x1001ac69
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x20], 0
mov dword [esp + 0x48], ebx
jge 0x1001ae12
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], ecx
mov ecx, ebx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], eax
test ecx, ecx
jne 0x1001ae16
mov eax, dword [esp + 0x20]
cdq
and edx, 0xf
add eax, edx
sar eax, 4
neg eax
mov dword [esp + 0x40], eax
movzx ecx, byte [eax + 0x101f6038]
mov dword [esp + 0x30], ecx
cmp ecx, 0xc8
jae 0x1001ae16
mov esi, ecx
lea edx, [esi + esi*8]
mov dword [esp + 0x34], edx
movzx ecx, word [eax*2 + 0x101f3dc0]
movzx eax, byte [eax + 0x101f6038]
sub ecx, eax
add ecx, esi
mov esi, dword [esp + 0x40]
movzx eax, word [esi*2 + 0x101f3dc2]
cmp ecx, eax
jb 0x1001ad08
xor ecx, ecx
jmp 0x1001ad3f
lea eax, [ecx + ecx*2]
mov edx, 8
sub edx, esi
lea ecx, [eax*8 + 0x101c60a0]
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
shld eax, esi, 8
shl edx, 4
sub edx, dword [esp + 0x20]
push eax
shl esi, 8
push esi
call fcn.1001a5b0
mov edx, dword [esp + 0x3c]
add esp, 8
mov ecx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], ecx
test eax, eax
je 0x1001ad9f
lea esi, [eax + 9]
cmp esi, dword [esp + 0x1c]
ja 0x1001ae0d
mov eax, ebp
sub eax, edi
cmp eax, 9
jl 0x1001aa03
mov edx, edi
call fcn.1001f450
mov edx, dword [esp + 0x34]
add edi, 9
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x10]
inc dword [esp + 0x30]
add edx, 9
mov dword [esp + 0x34], edx
cmp edx, 0x708
jge 0x1001ae16
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x40]
jmp 0x1001ace1
test ecx, ecx
je 0x1001ad77
call fcn.1001a480
mov ebx, eax
sub eax, edx
sub eax, 0xa
mov dword [esp + 0x14], eax
cmp ebx, dword [esp + 0x1c]
ja 0x1001ae12
cmp dword [esp + 0x3c], 0
jbe 0x1001adef
mov ecx, ebp
lea eax, [ebx + 1]
sub ecx, edi
cmp ecx, eax
jl 0x1001aa03
mov esi, dword [esp + 0x10]
mov ecx, ebx
push edi
mov edx, esi
call fcn.1001a8f0
mov edx, dword [esp + 0x38]
add edi, ebx
mov dword [esp + 0x1c], ebx
add esp, 4
xor ebx, ebx
inc edi
jmp 0x1001ad7b
cmp edi, ebp
je 0x1001aa03
mov esi, dword [esp + 0x10]
mov al, cl
add al, 0x30
mov dword [esp + 0x18], ebx
mov byte [edi], al
xor ebx, ebx
inc edi
jmp 0x1001ad7b
mov ebx, 9
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
xor ecx, ecx
sub eax, dword [esp + 0x18]
test ebx, ebx
mov dword [esp + 0x38], eax
cmovne ecx, esi
xor esi, esi
mov edx, ecx
cmp ebx, eax
jbe 0x1001aefc
sub ebx, eax
je 0x1001aefc
nop dword [eax]
mov eax, 0xcccccccd
mov esi, ecx
mul ecx
shr edx, 3
mov ecx, edx
lea eax, [edx + edx*4]
add eax, eax
sub esi, eax
sub ebx, 1
jne 0x1001ae40
mov dword [esp + 0x40], ecx
cmp esi, 5
jne 0x1001aef8
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
lea edx, [eax + ecx]
neg edx
test edx, edx
jle 0x1001aec0
cmp edx, 0x3c
jge 0x1001aeb8
xor ecx, ecx
xor eax, eax
bts ecx, edx
cmp edx, 0x20
cmovae eax, ecx
xor ecx, eax
cmp edx, 0x40
mov edx, dword [esp + 0x24]
cmovae eax, ecx
add ecx, 0xffffffff
adc eax, 0xffffffff
and ecx, ebx
and eax, edx
or ecx, eax
mov eax, dword [esp + 0x1c]
je 0x1001aec4
xor cl, cl
jmp 0x1001aec6
mov edx, dword [esp + 0x24]
xor cl, cl
jmp 0x1001aec6
mov edx, dword [esp + 0x24]
mov cl, 1
test eax, eax
jns 0x1001aeee
test cl, cl
je 0x1001aeec
neg eax
push edx
push ebx
mov ecx, eax
call fcn.1001a4f0
add esp, 8
test al, al
je 0x1001aeec
mov edx, dword [esp + 0x40]
mov cl, 1
movzx esi, cl
inc esi
jmp 0x1001af07
xor cl, cl
mov edx, dword [esp + 0x40]
movzx esi, cl
inc esi
jmp 0x1001af07
mov edx, dword [esp + 0x40]
mov eax, 5
cmp eax, esi
sbb esi, esi
neg esi
cmp dword [esp + 0x18], 0
je 0x1001af41
mov ebx, dword [esp + 0x38]
mov eax, ebp
sub eax, edi
cmp eax, ebx
jl 0x1001aa03
test edx, edx
jne 0x1001af32
push ebx
push 0x30
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
add edi, ebx
jmp 0x1001af79
push edi
mov ecx, ebx
call fcn.1001f4d0
add esp, 4
add edi, ebx
jmp 0x1001af79
cmp dword [esp + 0x3c], 0
jbe 0x1001af6b
mov ebx, dword [esp + 0x38]
mov ecx, ebp
sub ecx, edi
lea eax, [ebx + 1]
cmp ecx, eax
jl 0x1001aa03
push edi
mov ecx, ebx
call fcn.1001a8f0
inc edi
add esp, 4
add edi, ebx
jmp 0x1001af79
cmp edi, ebp
je 0x1001aa03
add dl, 0x30
mov byte [edi], dl
inc edi
test esi, esi
je 0x1001afbd
mov edx, dword [esp + 0x54]
mov eax, edi
cmp edi, edx
je 0x1001afa1
mov cl, byte [eax - 1]
dec eax
cmp cl, 0x2e
je 0x1001af9d
cmp cl, 0x39
jne 0x1001afaf
mov byte [eax], 0x30
mov esi, 1
cmp eax, edx
jne 0x1001af87
mov byte [eax], 0x31
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
jmp 0x1001afc1
cmp esi, 1
je 0x1001afb9
test cl, 1
je 0x1001afbd
inc cl
mov byte [eax], cl
mov eax, dword [esp + 0x14]
cdq
mov ecx, ebp
mov ebx, eax
xor ebx, edx
sub ebx, edx
xor edx, edx
cmp ebx, 0x64
setge dl
sub ecx, edi
add edx, 4
cmp ecx, edx
jl 0x1001aa03
cmp dword [esp + 0x14], 0
mov byte [edi], 0x65
setl al
lea eax, [eax*2 + 0x2b]
mov byte [edi + 1], al
cmp ebx, 0x64
jl 0x1001b036
mov eax, 0x66666667
imul ebx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov ax, word [ecx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + 2], ax
mov al, cl
shl cl, 2
add al, cl
add al, al
sub bl, al
add bl, 0x30
mov byte [edi + 4], bl
add edi, 5
mov eax, edi
xor edx, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
mov ax, word [ebx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + 2], ax
add edi, 4
mov eax, edi
xor edx, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
mov eax, dword [esp + 4]
test eax, eax
jns 0x100212fd
xorps xmm3, xmm3
mov eax, 6
cvtss2sd xmm3, xmm2
mov dword [esp + 4], eax
jmp 0x1001a9c0
cmp eax, 0x3b9aca00
jge 0x10021314
xorps xmm3, xmm3
cvtss2sd xmm3, xmm2
mov dword [esp + 4], eax
jmp 0x1001a9c0
mov ecx, 0x84
mov eax, edx
mov edx, ecx
ret