Function at 0x41b400
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 0x41b483
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 0x41b50c
mov byte [esi], 0x30
inc esi
test edi, edi
je 0x41b46e
push edi
mov byte [esi], 0x2e
inc esi
push 0x30
push esi
call fcn.004235b0
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 0x41b523
mov dword [esp + 0x14], 0xfffffbce
mov ebp, dword [esp + 0x50]
cmp esi, ebp
je 0x41b50c
mov byte [esi], 0x30
inc esi
mov edi, dword [esp + 0x54]
test edi, edi
je 0x41b4bd
cmp esi, ebp
je 0x41b50c
mov byte [esi], 0x2e
inc esi
mov eax, dword [esp + 0x14]
test eax, eax
jns 0x41b99d
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 + 0x46aa80]
cmp ebp, eax
ja 0x41b725
mov eax, dword [esp + 0x50]
sub eax, esi
cmp eax, edi
jge 0x41b9a9
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 0x41b4a1
test ebx, ebx
jns 0x41b55d
xor eax, eax
mov edi, 1
mov dword [esp + 0x20], edi
lea ebp, [eax + 0x78]
jmp 0x41b59b
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 0x41b4a1
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
sub ebp, ebx
mov ebx, dword [esp + 0x1c]
lfence
movzx eax, word [eax*2 + 0x46a8a0]
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 + 0x444de0]
mov dword [esp + 0x24], ecx
push ebx
push edx
mov edx, dword [esp + 0x3c]
call fcn.004197c0
mov ebx, eax
mov al, byte [esp + 0x13]
test al, al
je 0x41b611
mov eax, ebp
sub eax, esi
cmp eax, 9
jl 0x41b50c
mov edx, esi
mov ecx, ebx
call fcn.0041a870
mov al, byte [esp + 0x13]
add esi, 9
jmp 0x41b6f7
test ebx, ebx
je 0x41b6f7
mov ecx, ebx
call fcn.00419740
mov ebp, eax
mov eax, dword [esp + 0x50]
sub eax, esi
mov dword [esp + 0x30], ebp
cmp eax, ebp
jl 0x41b508
xor edi, edi
cmp ebx, 0x2710
jb 0x41b69f
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 0x41b650
mov ebp, dword [esp + 0x30]
nop
cmp ebx, 0x64
jb 0x41b6ca
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 0x41b6e2
mov ax, word [ebx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov ecx, ebp
sub ecx, edi
mov word [ecx + esi - 2], ax
jmp 0x41b6e7
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 0x41b5d8
test al, al
jne 0x41b4ad
nop
jmp 0x41b4a5
test eax, eax
je 0x41b767
mov eax, dword ds:[esp + 0x50]
lfence
movzx ebx, byte [ecx + 0x46aa80]
sub eax, esi
lea ecx, [ebx + ebx*8]
cmp eax, ecx
jl 0x41b508
lea eax, [esp + 0x13]
mov edx, ecx
lfence
push eax
mov ecx, esi
mov byte [esp + 0x17], 0x30
call fcn.0041b9e0
mov ecx, dword [esp + 0x20]
lea eax, [ebx + ebx*8]
add esi, eax
cmp ebx, ebp
jae 0x41b9bb
mov eax, dword [esp + 0x20]
movzx edx, word [ecx*2 + 0x46a922]
movzx ecx, word [ecx*2 + 0x46a920]
mov dword [esp + 0x38], edx
movzx eax, byte [eax + 0x46aa80]
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 + 0x44c0a0]
mov dword [esp + 0x30], ebp
nop
cmp ecx, edx
jae 0x41b988
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.004197c0
mov ecx, dword [esp + 0x34]
mov ebp, eax
dec ecx
cmp ebx, ecx
jae 0x41b845
cmp dword [esp + 0x24], 9
jl 0x41b508
mov edx, esi
mov ecx, ebp
lfence
call fcn.0041a870
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 0x41b7b0
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 0x41b8c5
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 0x41b860
cmp ecx, 5
jne 0x41b8c5
mov edx, dword [esp + 0x14]
not edx
sub edx, edi
test edx, edx
jle 0x41b8be
cmp edx, 0x3c
jge 0x41b8b7
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 0x41b8be
mov edi, 1
jmp 0x41b8d0
mov edi, 2
jmp 0x41b8d0
mov eax, 5
cmp eax, ecx
sbb edi, edi
neg edi
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x41b8f7
mov eax, dword ds:[esp + 0x50]
sub eax, esi
cmp eax, ebx
jl 0x41b508
push esi
mov edx, ebp
mov ecx, ebx
lfence
call fcn.0041a900
add esi, ebx
test edi, edi
je 0x41b9bb
mov ebx, dword [esp + 0x44]
mov eax, esi
mov ebp, dword [esp + 0x50]
mov edx, ebp
cmp esi, ebx
je 0x41b931
nop
mov cl, byte [eax - 1]
dec eax
cmp cl, 0x2e
jne 0x41b91d
mov edx, eax
jmp 0x41b92d
nop dword [eax]
cmp cl, 0x39
jne 0x41b963
mov byte [eax], 0x30
mov edi, 1
cmp eax, ebx
jne 0x41b910
mov byte [eax], 0x31
cmp edx, ebp
je 0x41b93d
mov word [edx], 0x2e30
nop dword [eax]
cmp esi, ebp
je 0x41b50c
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 0x41b96d
test cl, 1
je 0x41b9bb
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 0x41b508
jmp 0x41b9a9
mov eax, ebp
sub eax, esi
cmp eax, edi
jl 0x41b50c
test edi, edi
je 0x41b9b9
push edi
push 0x30
push esi
call fcn.004235b0
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