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

Disassembly:
sub esp, 0x3c
movsd xmm0, qword [esp + 0x48]
push ebx
push ebp
push esi
mov esi, edx
movsd qword [esp + 0x34], xmm0
mov ebx, dword [esp + 0x38]
mov edx, ecx
mov ecx, dword [esp + 0x34]
mov eax, ecx
or eax, ebx
mov dword [esp + 0x24], edx
push edi
mov dword [esp + 0x44], esi
mov dword [esp + 0x18], ecx
jne 0x41ad63
mov edi, dword [esp + 0x54]
xor ecx, ecx
mov ebp, dword [esp + 0x50]
test edi, edi
mov eax, ebp
setne cl
sub eax, esi
inc ecx
add ecx, edi
cmp eax, ecx
jl 0x41adec
mov byte [esi], 0x30
inc esi
test edi, edi
je 0x41ad4e
push edi
mov byte [esi], 0x2e
inc esi
push 0x30
push esi
call fcn.00422e10
mov edx, dword [esp + 0x34]
add esp, 0xc
add esi, edi
mov dword [edx], esi
mov eax, edx
mov dword [edx + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret 0x10
mov eax, ebx
shr ebx, 0x14
and eax, 0xfffff
mov dword [esp + 0x1c], eax
test ebx, ebx
jne 0x41ae03
mov dword [esp + 0x14], 0xfffffbce
mov ebp, dword [esp + 0x50]
cmp esi, ebp
je 0x41adec
mov byte [esi], 0x30
inc esi
mov edi, dword [esp + 0x54]
test edi, edi
je 0x41ad9d
cmp esi, ebp
je 0x41adec
mov byte [esi], 0x2e
inc esi
mov eax, dword [esp + 0x14]
test eax, eax
jns 0x41b27d
cdq
xor ebx, ebx
and edx, 0xf
lea ecx, [edx + eax]
mov eax, 0x38e38e39
mul edi
sar ecx, 4
neg ecx
mov ebp, edx
shr ebp, 1
inc ebp
mov dword [esp + 0x20], ecx
mov dword [esp + 0x34], ebp
movzx eax, byte [ecx + 0x4698a0]
cmp ebp, eax
ja 0x41b005
mov eax, dword [esp + 0x50]
sub eax, esi
cmp eax, edi
jge 0x41b289
mov ebp, dword [esp + 0x50]
mov eax, dword [esp + 0x28]
mov dword [eax], ebp
mov dword [eax + 4], 0x84
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret 0x10
add ebx, 0xfffffbcd
mov dword [esp + 0x18], ecx
or eax, 0x100000
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], eax
mov byte [esp + 0x13], 0
cmp ebx, 0xffffffcc
jl 0x41ad81
test ebx, ebx
jns 0x41ae3d
xor eax, eax
mov edi, 1
mov dword [esp + 0x20], edi
lea ebp, [eax + 0x78]
jmp 0x41ae7b
lea eax, [ebx + 0xf]
shr eax, 4
imul ecx, eax, 0x134410
mov ebp, eax
mov dword [esp + 0x34], eax
mov eax, 0x38e38e39
shl ebp, 4
add ebp, 0x78
shr ecx, 0x12
add ecx, 0x19
mul ecx
mov edi, edx
shr edi, 1
sub edi, 1
mov dword [esp + 0x20], edi
js 0x41ad81
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
sub ebp, ebx
mov ebx, dword [esp + 0x1c]
lfence
movzx eax, word [eax*2 + 0x4696c0]
lea edx, [ebp + 8]
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x34], edx
mov edx, ecx
shld ebx, edx, 8
shl edx, 8
add eax, edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x2c], edx
lea eax, [eax + eax*2]
lea ecx, [eax*8 + 0x443de0]
mov dword [esp + 0x24], ecx
push ebx
push edx
mov edx, dword [esp + 0x3c]
call fcn.004190a0
mov ebx, eax
mov al, byte [esp + 0x13]
test al, al
je 0x41aef1
mov eax, ebp
sub eax, esi
cmp eax, 9
jl 0x41adec
mov edx, esi
mov ecx, ebx
call fcn.0041a150
mov al, byte [esp + 0x13]
add esi, 9
jmp 0x41afd7
test ebx, ebx
je 0x41afd7
mov ecx, ebx
call fcn.00419020
mov ebp, eax
mov eax, dword [esp + 0x50]
sub eax, esi
mov dword [esp + 0x30], ebp
cmp eax, ebp
jl 0x41ade8
xor edi, edi
cmp ebx, 0x2710
jb 0x41af7f
add ebp, 0xfffffffc
add ebp, esi
nop dword [eax]
mov eax, 0xd1b71759
lea ebp, [ebp - 4]
mul ebx
add edi, 4
shr edx, 0xd
imul eax, edx, 0x2710
sub ebx, eax
mov eax, 0x51eb851f
mov ecx, ebx
mov ebx, edx
mul ecx
shr edx, 5
imul eax, edx, 0x64
sub ecx, eax
movzx eax, word [ecx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ebp + 6], ax
movzx eax, word [edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ebp + 4], ax
cmp ebx, 0x2710
jae 0x41af30
mov ebp, dword [esp + 0x30]
nop
cmp ebx, 0x64
jb 0x41afaa
mov eax, 0x51eb851f
mov ecx, ebp
mul ebx
sub ecx, edi
shr edx, 5
imul eax, edx, 0x64
sub ebx, eax
add edi, 2
mov ax, word [ebx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov ebx, edx
mov word [ecx + esi - 2], ax
cmp ebx, 0xa
jb 0x41afc2
mov ax, word [ebx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov ecx, ebp
sub ecx, edi
mov word [ecx + esi - 2], ax
jmp 0x41afc7
add bl, 0x30
mov byte [esi], bl
mov edi, dword [esp + 0x20]
mov al, 1
add esi, ebp
mov byte [esp + 0x13], al
mov ebp, dword [esp + 0x50]
mov ecx, dword [esp + 0x24]
dec edi
mov edx, dword [esp + 0x2c]
sub ecx, 0x18
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ecx
test edi, edi
jns 0x41aeb8
test al, al
jne 0x41ad8d
nop
jmp 0x41ad85
test eax, eax
je 0x41b047
mov eax, dword ds:[esp + 0x50]
lfence
movzx ebx, byte [ecx + 0x4698a0]
sub eax, esi
lea ecx, [ebx + ebx*8]
cmp eax, ecx
jl 0x41ade8
lea eax, [esp + 0x13]
mov edx, ecx
lfence
push eax
mov ecx, esi
mov byte [esp + 0x17], 0x30
call fcn.0041b2c0
mov ecx, dword [esp + 0x20]
lea eax, [ebx + ebx*8]
add esi, eax
cmp ebx, ebp
jae 0x41b29b
mov eax, dword [esp + 0x20]
movzx edx, word [ecx*2 + 0x469742]
movzx ecx, word [ecx*2 + 0x469740]
mov dword [esp + 0x38], edx
movzx eax, byte [eax + 0x4698a0]
sub ecx, eax
mov eax, dword [esp + 0x50]
add ecx, ebx
sub eax, esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], ecx
lea eax, [ecx + ecx*2]
lea ebp, [eax*8 + 0x44b0a0]
mov dword [esp + 0x30], ebp
nop
cmp ecx, edx
jae 0x41b268
mov ecx, dword ds:[esp + 0x18]
mov edx, 8
mov eax, dword [esp + 0x1c]
sub edx, dword [esp + 0x20]
shld eax, ecx, 8
shl edx, 4
sub edx, dword [esp + 0x14]
shl ecx, 8
push eax
push ecx
mov ecx, ebp
call fcn.004190a0
mov ecx, dword [esp + 0x34]
mov ebp, eax
dec ecx
cmp ebx, ecx
jae 0x41b125
cmp dword [esp + 0x24], 9
jl 0x41ade8
mov edx, esi
mov ecx, ebp
lfence
call fcn.0041a150
mov ecx, dword [esp + 0x2c]
inc ebx
mov ebp, dword [esp + 0x30]
inc ecx
sub dword [esp + 0x24], 9
add ebp, 0x18
mov edx, dword [esp + 0x38]
add esi, 9
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ebp
cmp ebx, dword [esp + 0x34]
jb 0x41b090
mov eax, dword [esp + 0x28]
mov dword [eax], esi
mov dword [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret 0x10
lea eax, [ebx + ebx*8]
mov edx, edi
sub edx, eax
mov ebx, 9
xor ecx, ecx
mov dword [esp + 0x38], edx
sub ebx, edx
je 0x41b1a5
nop dword [eax + eax]
mov eax, 0xcccccccd
mov ecx, ebp
mul ebp
shr edx, 3
mov ebp, edx
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
sub ebx, 1
jne 0x41b140
cmp ecx, 5
jne 0x41b1a5
mov edx, dword [esp + 0x14]
not edx
sub edx, edi
test edx, edx
jle 0x41b19e
cmp edx, 0x3c
jge 0x41b197
xor ecx, ecx
xor eax, eax
bts ecx, edx
cmp edx, 0x20
cmovae eax, ecx
xor ecx, eax
cmp edx, 0x40
cmovae eax, ecx
add ecx, 0xffffffff
adc eax, 0xffffffff
and ecx, dword [esp + 0x18]
and eax, dword [esp + 0x1c]
or ecx, eax
je 0x41b19e
mov edi, 1
jmp 0x41b1b0
mov edi, 2
jmp 0x41b1b0
mov eax, 5
cmp eax, ecx
sbb edi, edi
neg edi
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x41b1d7
mov eax, dword ds:[esp + 0x50]
sub eax, esi
cmp eax, ebx
jl 0x41ade8
push esi
mov edx, ebp
mov ecx, ebx
lfence
call fcn.0041a1e0
add esi, ebx
test edi, edi
je 0x41b29b
mov ebx, dword [esp + 0x44]
mov eax, esi
mov ebp, dword [esp + 0x50]
mov edx, ebp
cmp esi, ebx
je 0x41b211
nop
mov cl, byte [eax - 1]
dec eax
cmp cl, 0x2e
jne 0x41b1fd
mov edx, eax
jmp 0x41b20d
nop dword [eax]
cmp cl, 0x39
jne 0x41b243
mov byte [eax], 0x30
mov edi, 1
cmp eax, ebx
jne 0x41b1f0
mov byte [eax], 0x31
cmp edx, ebp
je 0x41b21d
mov word [edx], 0x2e30
nop dword [eax]
cmp esi, ebp
je 0x41adec
mov eax, dword [esp + 0x28]
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, 0x3c
ret 0x10
cmp edi, 1
je 0x41b24d
test cl, 1
je 0x41b29b
inc cl
mov byte [eax], cl
mov eax, dword [esp + 0x28]
mov dword [eax], esi
mov dword [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret 0x10
lea eax, [ebx + ebx*8]
sub edi, eax
mov eax, dword [esp + 0x50]
sub eax, esi
cmp eax, edi
jl 0x41ade8
jmp 0x41b289
mov eax, ebp
sub eax, esi
cmp eax, edi
jl 0x41adec
test edi, edi
je 0x41b299
push edi
push 0x30
push esi
call fcn.00422e10
add esp, 0xc
add esi, edi
mov eax, dword [esp + 0x28]
pop edi
mov dword [eax], esi
pop esi
pop ebp
mov dword [eax + 4], 0
pop ebx
add esp, 0x3c
ret 0x10