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

Disassembly:
sub esp, 0x34
movsd xmm0, qword [esp + 0x44]
push ebx
mov ebx, dword [esp + 0x3c]
push ebp
mov ebp, dword [esp + 0x48]
movsd qword [esp + 0x28], xmm0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
push esi
mov esi, dword [esp + 0x48]
mov dword [esp + 0x20], eax
or eax, ecx
push edi
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x40], esi
jne 0x453f5e
xor ecx, ecx
mov eax, ebp
test edi, edi
setne cl
sub eax, esi
inc ecx
add ecx, edi
cmp eax, ecx
jl 0x454375
mov byte [esi], 0x30
inc esi
test edi, edi
je 0x453f4b
push edi
mov byte [esi], 0x2e
inc esi
push 0x30
push esi
call fcn.0059c4a0
add esp, 0xc
add esi, edi
pop edi
mov dword [ebx], esi
mov eax, ebx
pop esi
pop ebp
mov dword [ebx + 4], 0
pop ebx
add esp, 0x34
ret
mov edx, ecx
shr ecx, 0x14
and edx, 0xfffff
mov dword [esp + 0x28], edx
test ecx, ecx
jne 0x453f7e
mov dword [esp + 0x20], 0xfffffbce
jmp 0x4540bf
lea eax, [ecx - 0x433]
mov byte [esp + 0x13], 0
mov ecx, dword [esp + 0x30]
or edx, 0x100000
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
cmp eax, 0xffffffcc
jl 0x4540bf
test eax, eax
jns 0x453fc0
xor edx, edx
mov ecx, 1
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ecx
lea ebx, [edx + 0x78]
jmp 0x453ffe
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
mov ecx, edx
shr ecx, 1
sub ecx, 1
mov dword [esp + 0x14], ecx
js 0x4540bf
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
sub ebx, eax
lea eax, [ebx + 8]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
shld eax, ebx, 8
shl ebx, 8
mov dword [esp + 0x1c], eax
mov dword [esp + 0x30], ebx
nop
movzx eax, word [edx*2 + 0x5d4e30]
push dword [esp + 0x2c]
add eax, ecx
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x62c620]
push eax
push dword [esp + 0x24]
push ebx
call fcn.0045a390
mov ebx, eax
add esp, 0x10
mov al, byte [esp + 0x13]
test al, al
je 0x454070
mov ecx, ebp
sub ecx, esi
cmp ecx, 9
jl 0x454375
push esi
push ebx
call fcn.00453e60
mov al, byte [esp + 0x1b]
add esp, 8
add esi, 9
jmp 0x4540a2
test ebx, ebx
je 0x4540a2
push ebx
call fcn.00459c20
mov ecx, ebp
mov dword [esp + 0x40], eax
sub ecx, esi
add esp, 4
cmp ecx, eax
jl 0x454375
push esi
push ebx
push eax
call fcn.00453da0
mov al, 1
add esp, 0xc
add esi, dword [esp + 0x3c]
mov byte [esp + 0x13], al
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
sub ecx, 1
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x14], ecx
jns 0x454020
test al, al
jne 0x4540cb
cmp esi, ebp
je 0x454375
mov byte [esi], 0x30
inc esi
test edi, edi
je 0x4540db
cmp esi, ebp
je 0x454375
mov byte [esi], 0x2e
inc esi
mov eax, dword [esp + 0x20]
test eax, eax
jns 0x454346
cdq
xor ebx, ebx
and edx, 0xf
add eax, edx
sar eax, 4
neg eax
mov dword [esp + 0x14], eax
mov eax, 0x38e38e39
mul edi
mov eax, edx
mov edx, dword [esp + 0x14]
shr eax, 1
mov dword [esp + 0x30], eax
lea ecx, [eax + 1]
movzx eax, byte [edx + 0x5d4f40]
mov dword [esp + 0x1c], ecx
cmp ecx, eax
jbe 0x454346
test eax, eax
je 0x454157
mov ebx, eax
mov eax, ebp
sub eax, esi
lea ecx, [ebx + ebx*8]
cmp eax, ecx
jl 0x454375
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0x30
push eax
push ecx
push esi
call fcn.00455040
mov edx, dword [esp + 0x20]
lea eax, [ebx + ebx*8]
mov ecx, dword [esp + 0x28]
add esp, 0xc
add esi, eax
cmp ebx, ecx
jae 0x454360
mov eax, ebp
sub eax, esi
mov dword [esp + 0x18], eax
nop word [eax + eax]
movzx eax, byte [edx + 0x5d4f40]
movzx ecx, word [edx*2 + 0x5d4eb0]
sub ecx, eax
movzx eax, word [edx*2 + 0x5d4eb2]
add ecx, ebx
cmp ecx, eax
jae 0x454341
mov eax, 8
sub eax, edx
shl eax, 4
sub eax, dword [esp + 0x20]
push eax
lea eax, [ecx + ecx*2]
mov ecx, dword [esp + 0x28]
lea eax, [eax*8 + 0x6338e0]
push eax
mov eax, dword [esp + 0x30]
shld eax, ecx, 8
shl ecx, 8
push eax
push ecx
call fcn.0045a390
add esp, 0x10
mov edx, eax
mov dword [esp + 0x2c], edx
cmp ebx, dword [esp + 0x30]
jae 0x454213
cmp dword [esp + 0x18], 9
jl 0x454375
push esi
push edx
call fcn.00453e60
sub dword [esp + 0x20], 9
inc ebx
mov edx, dword [esp + 0x1c]
add esp, 8
add esi, 9
cmp ebx, dword [esp + 0x1c]
jb 0x454170
mov eax, dword [esp + 0x38]
pop edi
mov dword [eax], esi
pop esi
pop ebp
mov dword [eax + 4], 0
pop ebx
add esp, 0x34
ret
lea eax, [ebx + ebx*8]
mov ecx, edi
sub ecx, eax
mov ebx, 9
mov dword [esp + 0x1c], ecx
xor ecx, ecx
sub ebx, dword [esp + 0x1c]
je 0x454297
nop dword [eax + eax]
mov ecx, dword [esp + 0x2c]
mov eax, 0xcccccccd
mul edx
shr edx, 3
mov dword [esp + 0x2c], edx
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
sub ebx, 1
jne 0x454230
cmp ecx, 5
jne 0x454297
not edi
sub edi, dword [esp + 0x20]
test edi, edi
jle 0x454290
cmp edi, 0x3c
jge 0x454289
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 + 0x24]
and eax, dword [esp + 0x28]
or ecx, eax
je 0x454290
mov edi, 1
jmp 0x4542a2
mov edi, 2
jmp 0x4542a2
mov eax, 5
cmp eax, ecx
sbb edi, edi
neg edi
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x4542c3
mov eax, ebp
sub eax, esi
cmp eax, ebx
jl 0x454375
push esi
push edx
push ebx
call fcn.00453d20
add esp, 0xc
add esi, ebx
test edi, edi
je 0x454360
mov ebx, dword [esp + 0x40]
mov eax, esi
mov edx, ebp
cmp esi, ebx
je 0x4542f5
mov cl, byte [eax - 1]
dec eax
cmp cl, 0x2e
jne 0x4542e4
mov edx, eax
jmp 0x4542f1
cmp cl, 0x39
jne 0x45431e
mov byte [eax], 0x30
mov edi, 1
cmp eax, ebx
jne 0x4542d7
mov byte [eax], 0x31
cmp edx, ebp
je 0x454301
mov word [edx], 0x2e30
cmp esi, ebp
je 0x454375
mov eax, dword [esp + 0x38]
mov byte [esi], 0x30
inc esi
pop edi
mov dword [eax], esi
pop esi
pop ebp
mov dword [eax + 4], 0
pop ebx
add esp, 0x34
ret
cmp edi, 1
je 0x454328
test cl, 1
je 0x454360
inc cl
mov byte [eax], cl
mov eax, dword [esp + 0x38]
pop edi
mov dword [eax], esi
pop esi
pop ebp
mov dword [eax + 4], 0
pop ebx
add esp, 0x34
ret
lea eax, [ebx + ebx*8]
sub edi, eax
mov eax, ebp
sub eax, esi
cmp eax, edi
jl 0x454375
test edi, edi
je 0x45435e
push edi
push 0x30
push esi
call fcn.0059c4a0
add esp, 0xc
add esi, edi
mov eax, dword [esp + 0x38]
pop edi
mov dword [eax], esi
pop esi
pop ebp
mov dword [eax + 4], 0
pop ebx
add esp, 0x34
ret
mov eax, dword [esp + 0x38]
pop edi
pop esi
mov dword [eax], ebp
pop ebp
mov dword [eax + 4], 0x84
pop ebx
add esp, 0x34
ret