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

Disassembly:
sub esp, 0x34
movsd xmm0, qword [esp + 0x40]
mov edx, dword [esp + 0x48]
push ebp
mov ebp, dword [esp + 0x40]
push esi
mov esi, dword [esp + 0x40]
movsd qword [esp + 0x48], xmm0
mov ecx, dword [esp + 0x4c]
push edi
mov edi, dword [esp + 0x4c]
mov eax, edi
or eax, ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x14], edi
jne 0x1001099c
xor ecx, ecx
mov eax, ebp
test edx, edx
setne cl
sub eax, esi
add ecx, 5
add ecx, edx
cmp eax, ecx
jge 0x1001096e
pop edi
pop esi
mov eax, ebp
mov edx, 0x84
pop ebp
add esp, 0x34
ret
mov byte [esi], 0x30
inc esi
test edx, edx
je 0x1001098a
push edx
mov byte [esi], 0x2e
inc esi
push 0x30
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
add esi, dword [esp + 0xc]
pop edi
mov dword [esi], 0x30302b65
lea eax, [esi + 4]
pop esi
xor edx, edx
pop ebp
add esp, 0x34
ret
push ebx
mov ebx, ecx
inc edx
and ebx, 0xfffff
shr ecx, 0x14
mov dword [esp + 0x20], ebx
mov dword [esp + 0x10], edx
test ecx, ecx
jne 0x100109cf
mov eax, 0xfffffbce
mov dword [esp + 0x14], ecx
xor ebx, ebx
mov dword [esp + 0x1c], eax
xor edi, edi
mov dword [esp + 0x50], ecx
jmp 0x10010c0e
or ebx, 0x100000
mov dword [esp + 0x48], edi
mov ebp, edi
lea eax, [ecx - 0x433]
mov dword [esp + 0x24], ebx
xor ecx, ecx
mov dword [esp + 0x18], ebp
xor ebx, ebx
mov ebp, dword [esp + 0x24]
xor edi, edi
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x1c], eax
cmp eax, 0xffffffcc
jl 0x10010bbd
test eax, eax
jns 0x10010a2e
mov edx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x30]
lea eax, [ebx + 0x78]
mov dword [esp + 0x28], edx
jmp 0x10010a82
lea ecx, [eax + 0xf]
shr ecx, 4
mov eax, ecx
mov dword [esp + 0x34], ecx
imul ecx, ecx, 0x134410
shl eax, 4
add eax, 0x78
mov dword [esp + 0x38], eax
mov eax, 0x38e38e39
shr ecx, 0x12
add ecx, 0x19
mul ecx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
shr edx, 1
sub edx, 1
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
js 0x10010bb7
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x48]
sub eax, ecx
mov edi, dword [esp + 0x24]
add eax, 8
mov dword [esp + 0x38], eax
mov eax, ebx
mov dword [esp + 0x48], edi
shld dword [esp + 0x48], eax, 8
mov dword [esp + 0x1c], ecx
shl eax, 8
mov dword [esp + 0x30], eax
lea eax, [edx + edx*8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], edi
nop dword [eax]
mov eax, dword [esp + 0x34]
push dword [esp + 0x38]
movzx eax, word [eax*2 + 0x1004ece0]
add eax, edx
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x1005e438]
push eax
push dword [esp + 0x50]
push dword [esp + 0x3c]
call fcn.10011730
mov ecx, dword [esp + 0x24]
add esp, 0x10
mov ebx, eax
test ecx, ecx
je 0x10010b26
mov edx, dword [esp + 0x10]
lea edi, [ecx + 9]
cmp edi, edx
ja 0x10010ba6
mov ecx, ebp
sub ecx, esi
cmp ecx, 9
jl 0x10010f34
push esi
push ebx
call fcn.1000b080
add esp, 8
add esi, 9
mov ecx, edi
xor edi, edi
jmp 0x10010b82
xor edi, edi
test ebx, ebx
je 0x10010b86
push ebx
call fcn.10010fc0
mov edx, dword [esp + 0x14]
mov edi, eax
mov eax, dword [esp + 0x28]
add esp, 4
dec eax
add eax, edi
mov dword [esp + 0x50], eax
cmp edi, edx
ja 0x10010bb1
cmp dword [esp + 0x2c], 0
jbe 0x10010b6f
mov ecx, ebp
lea eax, [edi + 1]
sub ecx, esi
cmp ecx, eax
jl 0x10010f34
push esi
push ebx
push edi
call fcn.1000f6f0
add esp, 0xc
add esi, edi
jmp 0x10010b7d
cmp esi, ebp
je 0x10010f34
mov al, bl
add al, 0x30
mov byte [esi], al
mov ecx, edi
xor edi, edi
inc esi
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x28]
sub dword [esp + 0x24], 9
dec edx
mov dword [esp + 0x28], edx
test edx, edx
jns 0x10010ac0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x50]
jmp 0x10010bbf
mov eax, dword [esp + 0x50]
mov edi, 9
jmp 0x10010bbf
mov ecx, dword [esp + 0x14]
jmp 0x10010bbf
mov edx, dword [esp + 0x10]
xor ecx, ecx
mov eax, ecx
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x34], edi
jge 0x10010d5f
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], edx
test edi, edi
jne 0x10010d5f
mov eax, dword [esp + 0x1c]
cdq
and edx, 0xf
add eax, edx
sar eax, 4
neg eax
mov dword [esp + 0x34], eax
movzx edx, byte [eax + 0x1004edf0]
mov dword [esp + 0x48], edx
cmp edx, 0xc8
jae 0x10010d5f
mov ebx, edx
lea eax, [ebx + ebx*8]
mov dword [esp + 0x28], eax
nop dword [eax]
mov eax, dword [esp + 0x34]
movzx edx, word [eax*2 + 0x1004ed60]
movzx eax, byte [eax + 0x1004edf0]
sub edx, eax
add edx, ebx
mov ebx, dword [esp + 0x34]
movzx eax, word [ebx*2 + 0x1004ed62]
cmp edx, eax
jb 0x10010c6b
xor ebx, ebx
jmp 0x10010ca4
mov ecx, dword [esp + 0x18]
mov eax, 8
sub eax, ebx
shl eax, 4
sub eax, dword [esp + 0x1c]
push eax
lea eax, [edx + edx*2]
lea eax, [eax*8 + 0x100656f8]
push eax
mov eax, dword [esp + 0x28]
shld eax, ecx, 8
shl ecx, 8
push eax
push ecx
call fcn.10011730
mov ecx, dword [esp + 0x24]
add esp, 0x10
mov ebx, eax
test ecx, ecx
je 0x10010cdb
mov eax, dword [esp + 0x10]
add ecx, 9
mov dword [esp + 0x38], ecx
cmp ecx, eax
ja 0x10010d58
mov eax, ebp
sub eax, esi
cmp eax, 9
jl 0x10010f34
push esi
push ebx
call fcn.1000b080
mov ecx, dword [esp + 0x40]
add esp, 8
add esi, 9
jmp 0x10010d35
test ebx, ebx
je 0x10010d39
push ebx
call fcn.10010fc0
mov edi, eax
add esp, 4
sub eax, dword [esp + 0x28]
sub eax, 0xa
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x10]
cmp edi, eax
ja 0x10010d63
cmp dword [esp + 0x2c], 0
jbe 0x10010d22
mov ecx, ebp
lea eax, [edi + 1]
sub ecx, esi
cmp ecx, eax
jl 0x10010f34
push esi
push ebx
push edi
call fcn.1000f6f0
add esp, 0xc
add esi, edi
jmp 0x10010d30
cmp esi, ebp
je 0x10010f34
mov al, bl
add al, 0x30
mov byte [esi], al
mov ecx, edi
xor edi, edi
inc esi
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x28]
inc dword [esp + 0x48]
add eax, 9
mov dword [esp + 0x28], eax
cmp eax, 0x708
jge 0x10010d5f
mov ebx, dword [esp + 0x48]
jmp 0x10010c40
mov edi, 9
jmp 0x10010d63
mov eax, dword [esp + 0x10]
mov ecx, eax
xor edx, edx
sub ecx, dword [esp + 0x14]
test edi, edi
mov dword [esp + 0x48], ecx
cmovne edx, ebx
xor eax, eax
mov ebx, edx
cmp edi, ecx
jbe 0x10010e4f
sub edi, ecx
je 0x10010e4f
nop dword [eax + eax]
mov eax, 0xcccccccd
mov ebp, ebx
mul ebx
shr edx, 3
mov ebx, edx
lea eax, [edx + edx*4]
add eax, eax
sub ebp, eax
mov dword [esp + 0x38], ebp
sub edi, 1
jne 0x10010d90
cmp ebp, 5
mov ebp, dword [esp + 0x4c]
jne 0x10010e4b
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x10], eax
lea edx, [eax + ecx]
neg edx
test edx, edx
jle 0x10010e14
cmp edx, 0x3c
jge 0x10010e0c
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 + 0x20]
cmovae eax, ecx
add ecx, 0xffffffff
adc eax, 0xffffffff
and ecx, edi
and eax, edx
or ecx, eax
mov eax, dword [esp + 0x10]
je 0x10010e18
xor cl, cl
jmp 0x10010e1a
mov edx, dword [esp + 0x20]
xor cl, cl
jmp 0x10010e1a
mov edx, dword [esp + 0x20]
mov cl, 1
test eax, eax
jns 0x10010e41
test cl, cl
je 0x10010e3f
neg eax
push eax
push edx
push edi
call fcn.10011ae0
add esp, 0xc
test al, al
je 0x10010e3f
mov cl, 1
movzx edi, cl
mov ecx, dword [esp + 0x48]
inc edi
jmp 0x10010e5a
xor cl, cl
movzx edi, cl
mov ecx, dword [esp + 0x48]
inc edi
jmp 0x10010e5a
mov eax, dword [esp + 0x38]
mov edx, 5
cmp edx, eax
sbb edi, edi
neg edi
cmp dword [esp + 0x14], 0
je 0x10010e94
mov eax, ebp
sub eax, esi
cmp eax, ecx
jl 0x10010f34
test ebx, ebx
jne 0x10010e83
push ecx
push 0x30
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
add esi, dword [esp + 0x48]
jmp 0x10010ecc
push esi
push ebx
push ecx
call fcn.1000af40
add esp, 0xc
add esi, dword [esp + 0x48]
jmp 0x10010ecc
cmp dword [esp + 0x2c], 0
jbe 0x10010ec2
mov edx, dword [esp + 0x48]
mov ecx, ebp
sub ecx, esi
lea eax, [edx + 1]
cmp ecx, eax
jl 0x10010f34
push esi
push ebx
push edx
call fcn.1000f6f0
mov eax, dword [esp + 0x54]
add esp, 0xc
inc eax
add esi, eax
jmp 0x10010ecc
cmp esi, ebp
je 0x10010f34
add bl, 0x30
mov byte [esi], bl
inc esi
test edi, edi
je 0x10010f16
mov edx, dword [esp + 0x40]
mov eax, esi
cmp esi, edx
je 0x10010efa
nop word [eax + eax]
mov cl, byte [eax - 1]
dec eax
cmp cl, 0x2e
je 0x10010ef6
cmp cl, 0x39
jne 0x10010f08
mov byte [eax], 0x30
mov edi, 1
cmp eax, edx
jne 0x10010ee0
mov byte [eax], 0x31
mov eax, dword [esp + 0x50]
inc eax
mov dword [esp + 0x50], eax
jmp 0x10010f1a
cmp edi, 1
je 0x10010f12
test cl, 1
je 0x10010f16
inc cl
mov byte [eax], cl
mov eax, dword [esp + 0x50]
cdq
mov ecx, ebp
mov ebx, eax
xor ebx, edx
sub ebx, edx
xor edx, edx
cmp ebx, 0x64
setge dl
sub ecx, esi
add edx, 4
cmp ecx, edx
jge 0x10010f43
pop ebx
pop edi
pop esi
mov eax, ebp
mov edx, 0x84
pop ebp
add esp, 0x34
ret
cmp dword [esp + 0x50], 0
mov byte [esi], 0x65
setl al
lea eax, [eax*2 + 0x2b]
mov byte [esi + 1], al
cmp ebx, 0x64
jl 0x10010f9a
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 [esi + 2], ax
mov al, cl
shl cl, 2
add al, cl
add al, al
sub bl, al
add bl, 0x30
mov byte [esi + 4], bl
add esi, 5
pop ebx
pop edi
mov eax, esi
xor edx, edx
pop esi
pop ebp
add esp, 0x34
ret
mov ax, word [ebx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [esi + 2], ax
add esi, 4
pop ebx
pop edi
mov eax, esi
xor edx, edx
pop esi
pop ebp
add esp, 0x34
ret