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

Disassembly:
sub esp, 0x48
push ebx
push ebp
push esi
movsd qword [esp + 0x44], xmm3
mov esi, ecx
mov ecx, dword [esp + 0x48]
mov ebp, edx
mov edx, dword [esp + 0x58]
push edi
mov edi, dword [esp + 0x48]
mov eax, edi
or eax, ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x54], esi
mov dword [esp + 0x20], edi
jne 0x1008cfe5
xor ecx, ecx
mov eax, ebp
test edx, edx
setne cl
sub eax, esi
add ecx, 5
add ecx, edx
cmp eax, ecx
jge 0x1008cfb6
mov edx, 0x84
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
mov byte [esi], 0x30
inc esi
test edx, edx
je 0x1008cfd2
push edx
mov byte [esi], 0x2e
inc esi
push 0x30
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
add esi, dword [esp + 0x14]
mov dword [esi], 0x30302b65
lea eax, [esi + 4]
xor edx, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
mov ebx, ecx
inc edx
and ebx, 0xfffff
shr ecx, 0x14
mov dword [esp + 0x28], ebx
mov dword [esp + 0x14], edx
test ecx, ecx
jne 0x1008d017
mov eax, 0xfffffbce
mov dword [esp + 0x1c], ecx
xor ebx, ebx
mov dword [esp + 0x24], eax
xor edi, edi
mov dword [esp + 0x18], ecx
jmp 0x1008d270
lea eax, [ecx - 0x433]
mov dword [esp + 0x38], edi
mov dword [esp + 0x2c], eax
or ebx, 0x100000
mov edx, dword [esp + 0x2c]
xor ecx, ecx
mov dword [esp + 0x24], edx
xor eax, eax
mov edx, dword [esp + 0x38]
xor edi, edi
mov dword [esp + 0x30], ebx
xor ebx, ebx
cmp dword [esp + 0x2c], 0xffffffcc
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
jl 0x1008d21d
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jns 0x1008d07b
lea eax, [ebx + 0x78]
mov dword [esp + 0x34], 1
jmp 0x1008d0d3
add ecx, 0xf
shr ecx, 4
mov eax, ecx
mov dword [esp + 0x44], ecx
imul ecx, ecx, 0x134410
shl eax, 4
add eax, 0x78
mov dword [esp + 0x40], 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 + 0x20], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x34], edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
js 0x1008d20b
mov eax, dword [esp + 0x40]
mov edi, 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 + 0x24], ecx
mov ecx, dword [esp + 0x30]
shl eax, 8
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x40], eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], ecx
lea eax, [edx + edx*8]
mov dword [esp + 0x38], eax
movzx eax, word [edi*2 + 0x1022f648]
add eax, edx
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x101b2250]
mov dword [esp + 0x2c], eax
nop dword [eax + eax]
push dword [esp + 0x44]
mov edx, dword [esp + 0x4c]
mov ecx, eax
push dword [esp + 0x44]
call fcn.1008cb50
mov ecx, dword [esp + 0x24]
add esp, 8
mov ebx, eax
test ecx, ecx
je 0x1008d17e
mov edx, dword [esp + 0x14]
lea edi, [ecx + 9]
cmp edi, edx
ja 0x1008d1fe
mov ecx, ebp
sub ecx, esi
cmp ecx, 9
jl 0x1008cfa7
mov edx, esi
mov ecx, ebx
call fcn.100902b0
add esi, 9
mov ecx, edi
xor edi, edi
jmp 0x1008d1da
xor edi, edi
test ebx, ebx
je 0x1008d1de
mov ecx, ebx
call fcn.1008ca20
mov edx, dword [esp + 0x14]
mov edi, eax
mov eax, dword [esp + 0x38]
dec eax
add eax, edi
mov dword [esp + 0x18], eax
cmp edi, edx
ja 0x1008d205
cmp dword [esp + 0x3c], 0
jbe 0x1008d1c7
mov ecx, ebp
lea eax, [edi + 1]
sub ecx, esi
cmp ecx, eax
jl 0x1008cfa7
push esi
mov edx, ebx
mov ecx, edi
call fcn.1008ce90
add esp, 4
add esi, edi
jmp 0x1008d1d5
cmp esi, ebp
je 0x1008cfa7
mov al, bl
add al, 0x30
mov byte [esi], al
mov ecx, edi
xor edi, edi
inc esi
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x34]
sub dword [esp + 0x2c], 0x18
dec eax
sub dword [esp + 0x38], 9
mov dword [esp + 0x34], eax
test eax, eax
js 0x1008d215
mov eax, dword [esp + 0x2c]
jmp 0x1008d130
mov edi, 9
jmp 0x1008d219
mov ecx, dword [esp + 0x1c]
jmp 0x1008d21d
mov edx, dword [esp + 0x14]
xor ecx, ecx
xor eax, eax
jmp 0x1008d21d
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x24], 0
mov dword [esp + 0x38], edi
jge 0x1008d3cd
mov dword [esp + 0x18], eax
mov dword [esp + 0x48], ebx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], edx
test edi, edi
jne 0x1008d3cd
mov eax, dword [esp + 0x24]
cdq
and edx, 0xf
add eax, edx
sar eax, 4
neg eax
mov dword [esp + 0x44], eax
movzx edx, byte [eax + 0x10231968]
cmp edx, 0xc8
jae 0x1008d3cd
movzx ebx, word [eax*2 + 0x1022f6ca]
lea edx, [edx + edx*8]
mov dword [esp + 0x48], ebx
movzx ebx, word [eax*2 + 0x1022f6c8]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ebx
lea eax, [ebx + ebx*2]
lea eax, [eax*8 + 0x101b9510]
mov dword [esp + 0x2c], eax
nop
cmp ebx, dword [esp + 0x48]
jb 0x1008d2ca
xor ebx, ebx
jmp 0x1008d305
mov ecx, dword [esp + 0x20]
mov edx, 8
mov eax, dword [esp + 0x28]
sub edx, dword [esp + 0x44]
shld eax, ecx, 8
shl edx, 4
sub edx, dword [esp + 0x24]
shl ecx, 8
push eax
push ecx
mov ecx, dword [esp + 0x34]
call fcn.1008cb50
mov ecx, dword [esp + 0x24]
mov ebx, eax
mov edx, dword [esp + 0x3c]
add esp, 8
mov eax, dword [esp + 0x2c]
test ecx, ecx
je 0x1008d33f
mov eax, dword [esp + 0x14]
add ecx, 9
mov dword [esp + 0x40], ecx
cmp ecx, eax
ja 0x1008d3c6
mov eax, ebp
sub eax, esi
cmp eax, 9
jl 0x1008cfa7
mov edx, esi
mov ecx, ebx
call fcn.100902b0
mov ecx, dword [esp + 0x40]
add esi, 9
mov edx, dword [esp + 0x34]
jmp 0x1008d39b
test ebx, ebx
je 0x1008d3a3
mov ecx, ebx
call fcn.1008ca20
mov edi, eax
sub eax, edx
sub eax, 0xa
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
cmp edi, eax
ja 0x1008d3d1
cmp dword [esp + 0x3c], 0
jbe 0x1008d388
mov ecx, ebp
lea eax, [edi + 1]
sub ecx, esi
cmp ecx, eax
jl 0x1008cfa7
push esi
mov edx, ebx
mov ecx, edi
call fcn.1008ce90
mov edx, dword [esp + 0x38]
add esp, 4
add esi, edi
jmp 0x1008d396
cmp esi, ebp
je 0x1008cfa7
mov al, bl
add al, 0x30
mov byte [esi], al
mov ecx, edi
xor edi, edi
inc esi
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1c], ecx
inc dword [esp + 0x38]
add edx, 9
add eax, 0x18
mov dword [esp + 0x34], edx
mov dword [esp + 0x2c], eax
cmp edx, 0x708
jge 0x1008d3cd
mov ebx, dword [esp + 0x38]
jmp 0x1008d2c0
mov edi, 9
jmp 0x1008d3d1
mov eax, dword [esp + 0x14]
mov ecx, eax
xor edx, edx
sub ecx, dword [esp + 0x1c]
test edi, edi
mov dword [esp + 0x2c], ecx
cmovne edx, ebx
xor eax, eax
mov ebx, edx
cmp edi, ecx
jbe 0x1008d4b6
sub edi, ecx
je 0x1008d4b6
mov eax, 0xcccccccd
mov ecx, ebx
mul ebx
shr edx, 3
mov ebx, edx
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
mov dword [esp + 0x48], ecx
sub edi, 1
jne 0x1008d3f6
cmp ecx, 5
mov ecx, dword [esp + 0x2c]
jne 0x1008d4b2
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x14], eax
lea edx, [eax + ecx]
neg edx
test edx, edx
jle 0x1008d47a
cmp edx, 0x3c
jge 0x1008d472
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 + 0x28]
cmovae eax, ecx
add ecx, 0xffffffff
adc eax, 0xffffffff
and ecx, edi
and eax, edx
or ecx, eax
mov eax, dword [esp + 0x14]
je 0x1008d47e
xor cl, cl
jmp 0x1008d480
mov edx, dword [esp + 0x28]
xor cl, cl
jmp 0x1008d480
mov edx, dword [esp + 0x28]
mov cl, 1
test eax, eax
jns 0x1008d4a8
test cl, cl
je 0x1008d4a6
neg eax
push edx
push edi
mov ecx, eax
call fcn.1008ca90
add esp, 8
test al, al
je 0x1008d4a6
mov cl, 1
movzx edi, cl
mov ecx, dword [esp + 0x2c]
inc edi
jmp 0x1008d4c1
xor cl, cl
movzx edi, cl
mov ecx, dword [esp + 0x2c]
inc edi
jmp 0x1008d4c1
mov eax, dword [esp + 0x48]
mov edx, 5
cmp edx, eax
sbb edi, edi
neg edi
cmp dword [esp + 0x1c], 0
je 0x1008d4fb
mov eax, ebp
sub eax, esi
cmp eax, ecx
jl 0x1008cfa7
test ebx, ebx
jne 0x1008d4ea
push ecx
push 0x30
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
add esi, dword [esp + 0x2c]
jmp 0x1008d537
push esi
mov edx, ebx
call fcn.10090330
add esp, 4
add esi, dword [esp + 0x2c]
jmp 0x1008d537
cmp dword [esp + 0x3c], 0
jbe 0x1008d529
mov eax, dword [esp + 0x2c]
mov ecx, ebp
sub ecx, esi
inc eax
cmp ecx, eax
jl 0x1008cfa7
mov ecx, dword [esp + 0x2c]
mov edx, ebx
push esi
call fcn.1008ce90
inc esi
add esp, 4
add esi, dword [esp + 0x2c]
jmp 0x1008d537
cmp esi, ebp
je 0x1008cfa7
add bl, 0x30
mov byte [esi], bl
inc esi
test edi, edi
je 0x1008d57b
mov edx, dword [esp + 0x54]
mov eax, esi
cmp esi, edx
je 0x1008d55f
mov cl, byte [eax - 1]
dec eax
cmp cl, 0x2e
je 0x1008d55b
cmp cl, 0x39
jne 0x1008d56d
mov byte [eax], 0x30
mov edi, 1
cmp eax, edx
jne 0x1008d545
mov byte [eax], 0x31
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
jmp 0x1008d57f
cmp edi, 1
je 0x1008d577
test cl, 1
je 0x1008d57b
inc cl
mov byte [eax], cl
mov eax, dword [esp + 0x18]
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
jl 0x1008cfa7
cmp dword [esp + 0x18], 0
mov byte [esi], 0x65
setl al
lea eax, [eax*2 + 0x2b]
mov byte [esi + 1], al
cmp ebx, 0x64
jl 0x1008d5f4
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
mov eax, esi
xor edx, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
mov ax, word [ebx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [esi + 2], ax
add esi, 4
pop edi
mov eax, esi
xor edx, edx
pop esi
pop ebp
pop ebx
add esp, 0x48
ret