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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x90
mov ecx, dword [ebp + 0x14]
mov esi, dword [ecx]
mov eax, esi
and eax, 0xffffffcf
mov dword [ecx], eax
mov eax, esi
and eax, 7
cmp eax, 4
ja case.default.0x42e017
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
jmp dword [eax*4 + 0x43ad98]
mov dword [esp + 0x18], esi
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
xor edi, edi
cmp ebx, 0x21
mov eax, 0
jl 0x42e044
xor eax, eax
mov ecx, 0x20
add ecx, ecx
inc eax
cmp ecx, ebx
jl 0x42e03d
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x48], ecx
push eax
call fcn.0042f118
add esp, 4
mov dword [esp + 0x14], ebx
lea ecx, [ebx - 1]
sar ecx, 5
lea ebx, [esi + ecx*4]
mov dword [esp + 0xc], eax
lea ecx, [esi + edi + 4]
mov edx, dword [ecx - 4]
mov eax, dword [esp + 0xc]
mov dword [eax + edi + 0x14], edx
mov eax, dword [esp + 0xc]
add edi, 4
cmp ecx, ebx
jbe 0x42e065
sar edi, 2
mov edx, edi
shl edx, 5
neg edx
mov ecx, dword [eax + edi*4 + 0x10]
test ecx, ecx
jne 0x42e0a4
dec edi
add edx, 0x20
test edi, edi
jne 0x42e089
mov dword [eax + 0x10], 0
xor ebx, ebx
jmp 0x42e0b1
mov dword [eax + 0x10], edi
bsr ebx, ecx
xor ebx, 0x1f
add ebx, edx
neg ebx
push eax
mov edi, eax
call fcn.0042faa7
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
je 0x42e104
mov esi, eax
push eax
push edi
call fcn.0042f9f8
add esp, 8
sub ebx, esi
add esi, dword [ebp + 0xc]
jmp 0x42e107
xor eax, eax
jmp 0x42f0ea
mov dword [edx], 0xffff8000
push 8
push ecx
push str.Infinity
jmp 0x42e252
mov dword [edx], 0xffff8000
push 3
push ecx
push 0x43adcd
jmp 0x42e252
mov esi, dword [ebp + 0xc]
cmp dword [edi + 0x10], 0
mov eax, edi
je 0x42e237
lea edi, [esp + 0x1c]
push edi
push eax
call fcn.0042f804
add esp, 8
lea eax, [esi + ebx - 1]
mov dword [edi], eax
fstp qword [esp + 0x80]
mov edx, 0xfffff
and edx, dword [esp + 0x84]
lea ecx, [esi + ebx]
lea edi, [edx + 0x3ff00000]
movd xmm0, edi
movd xmm3, dword [esp + 0x80]
movdqa xmm1, xmm3
punpckldq xmm1, xmm0
addsd xmm1, qword [0x43ad10]
mulsd xmm1, qword [str.aCoc]
addsd xmm1, qword [0x43ad20]
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
mulsd xmm0, qword [0x43ad28]
addsd xmm0, xmm1
xor edi, edi
inc edi
sub edi, ecx
test ecx, ecx
cmovg edi, eax
cmp edi, 0x436
mov dword [esp + 0x6c], ebx
jl 0x42e1b2
add edi, 0xfffffbcb
xorps xmm1, xmm1
cvtsi2sd xmm1, edi
mulsd xmm1, qword [0x43ad30]
addsd xmm0, xmm1
cvttsd2si edi, xmm0
cvttpd2dq xmm1, xmm0
cvtdq2pd xmm1, xmm1
cmpneqpd xmm1, xmm0
xorpd xmm2, xmm2
cmpltpd xmm0, xmm2
andpd xmm0, xmm1
movd ebx, xmm0
add ebx, edi
mov edi, ecx
shl edi, 0x14
lea edx, [edi + edx + 0x3fe00000]
movd xmm0, edx
punpckldq xmm3, xmm0
cmp ebx, 0x16
mov edx, ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x44], esi
mov dword [esp + 0x10], eax
ja 0x42e213
mov edi, ebx
mov edx, dword [0x43add4]
movsd xmm0, qword [edx + ebx*8]
ucomisd xmm0, xmm3
jbe 0x42e276
lea edx, [edi - 1]
mov eax, edx
xor ebx, ebx
mov edx, esi
neg edx
cmovs edx, ebx
mov dword [esp + 0x28], edx
mov edx, esi
cmovns edx, ebx
test eax, eax
js 0x42e25f
mov dword [esp + 0x30], edx
mov esi, dword [esp + 0x28]
mov ebx, eax
jmp 0x42e288
push eax
call fcn.0042f24a
add esp, 4
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
xor eax, eax
inc eax
mov dword [edx], eax
push eax
push ecx
push 0x43add1
call fcn.0042ddf6
add esp, 0xc
jmp 0x42f0ea
xor esi, esi
inc esi
mov dword [esp + 0x24], esi
sub edx, eax
mov dword [esp + 0x30], edx
mov edx, eax
neg eax
mov dword [esp + 0x3c], eax
jmp 0x42e29f
xor edx, edx
mov ebx, esi
neg esi
cmovs esi, edx
cmovs edx, ebx
mov dword [esp + 0x30], edx
mov ebx, edi
xor eax, eax
inc eax
mov dword [esp + 0x24], eax
add esi, ebx
mov dword [esp + 0x28], esi
mov dword [esp + 0x3c], 0
mov edx, ebx
mov dword [esp + 0x34], ebx
xor eax, eax
mov esi, dword [ebp + 0x18]
cmp esi, 0xa
mov dword [esp + 0x40], 0
cmovae esi, eax
lea edi, [esi - 4]
add ecx, 0x3fd
cmp ecx, 0x7f8
setb byte [esp + 0x4f]
cmp esi, 6
setb al
cmovb edi, esi
cmp edi, 5
mov dword [esp + 0x20], edi
movaps xmmword [esp + 0x50], xmm3
mov byte [esp + 0x2c], al
ja case.default.0x42e2ee
mov esi, edx
xor edx, edx
inc edx
mov ebx, edx
mov ecx, edx
jmp dword [edi*4 + 0x43adac]
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [esp + 0x14]
mulsd xmm0, qword [0x43ad38]
cvttsd2si eax, xmm0
add eax, 3
mov dword [esp + 0x1c], eax
xor edi, edi
dec edi
xor ecx, ecx
inc ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x48], 0
mov cl, 1
mov dword [esp + 0x70], ecx
push eax
call fcn.0042ddc8
movapd xmm5, xmmword [esp + 0x54]
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], 0
mov edx, dword [esp + 0xc]
mov ebx, esi
mov esi, edi
jmp 0x42e3ec
xor esi, esi
dec esi
mov dword [esp + 0x38], esi
mov ebx, edx
mov edx, dword [esp + 0x10]
jmp 0x42e3a5
xor ebx, ebx
mov ecx, dword [ebp + 0x1c]
cmp ecx, 2
cmovge edx, ecx
mov dword [esp + 0x1c], edx
mov ecx, edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x48], edx
mov ebx, esi
mov esi, edx
jmp 0x42e3a5
xor ecx, ecx
mov ebx, esi
mov edi, esi
mov eax, dword [ebp + 0x1c]
add edi, eax
mov dword [esp + 0x38], edi
lea esi, [esi + eax + 1]
cmovns edx, esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], ecx
push edx
call fcn.0042ddc8
add esp, 4
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov eax, ecx
dec eax
je 0x42e3da
test ecx, ecx
mov ecx, 2
cmovle eax, ecx
mov ecx, 3
sub ecx, eax
test byte [esp + 0x18], 8
cmove ecx, eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x70], 0
mov edx, dword [esp + 0xc]
movapd xmm5, xmmword [esp + 0x50]
cmp esi, 0xf
setb al
test ebx, ebx
jne 0x42e63b
mov cl, byte [esp + 0x2c]
and cl, byte [esp + 0x4f]
and cl, al
je 0x42e63b
cmp dword [esp + 0x40], 0
jne 0x42e63b
xor edi, edi
mov eax, dword [esp + 0x74]
cmp eax, 0x17
mov dword [esp + 0x1c], 0
movsd xmm1, qword [0x43ad40]
jb 0x42e470
movsd xmm0, qword [0x43ad48]
ucomisd xmm0, xmm5
jbe 0x42e470
test esi, esi
mov ecx, esi
movapd xmm0, xmm5
je 0x42e476
cmp dword [esp + 0x38], 0
jle 0x42e63b
movsd xmm0, qword [0x43ad50]
mulsd xmm0, xmm5
movsd xmm1, qword [0x43ad58]
xor edi, edi
dec edi
mov ecx, dword [esp + 0x38]
jmp 0x42e476
mov ecx, esi
movapd xmm0, xmm5
mulsd xmm1, xmm0
addsd xmm1, qword [0x43ad60]
movsd qword [esp + 0x78], xmm1
mov edx, 0xfcc00000
add edx, dword [esp + 0x7c]
movd xmm1, edx
movd xmm3, dword [esp + 0x78]
punpckldq xmm3, xmm1
test ecx, ecx
je 0x42e4f9
mov dword [esp + 0x18], edi
cvttsd2si edx, xmm0
add dl, 0x30
mov edi, dword [0x43add4]
movsd xmm1, qword [edi + ecx*8 - 8]
mov eax, dword [esp + 0x10]
lea edi, [eax + 1]
cvttpd2dq xmm2, xmm0
cmp dword [esp + 0x24], 0
cvtdq2pd xmm2, xmm2
subsd xmm0, xmm2
je 0x42e520
movsd xmm2, qword [0x43ad68]
divsd xmm2, xmm1
subsd xmm2, xmm3
mov byte [eax], dl
ucomisd xmm2, xmm0
jbe 0x42e588
mov edx, dword [esp + 0xc]
jmp 0x42e61e
addsd xmm0, qword [0x43ad70]
ucomisd xmm0, xmm3
jbe 0x42e5e9
mov dword [esp + 0x18], 0
mov ebx, edi
xor esi, esi
mov ecx, dword [esp + 0x10]
jmp 0x42e9dd
mulsd xmm1, xmm3
mov dword [esp + 0x1c], 1
mov byte [eax], dl
mov edx, dword [esp + 0x1c]
cmp edx, ecx
je 0x42e565
movsd xmm2, qword [0x43ad50]
inc edx
mov dword [esp + 0x1c], edx
mulsd xmm0, xmm2
cvttsd2si edx, xmm0
cvttpd2dq xmm3, xmm0
cvtdq2pd xmm3, xmm3
subsd xmm0, xmm3
add dl, 0x30
mov byte [edi], dl
inc edi
mov edx, dword [esp + 0x1c]
cmp edx, ecx
jne 0x42e53e
movsd xmm2, qword [0x43ad68]
addsd xmm2, xmm1
ucomisd xmm0, xmm2
jbe 0x42e608
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
jmp 0x42ed42
movsd xmm1, qword [0x43ad48]
movsd xmm3, qword [0x43ad50]
mov edx, dword [esp + 0xc]
movapd xmm4, xmm1
subsd xmm4, xmm0
ucomisd xmm2, xmm4
ja 0x42ed3e
mov edx, dword [esp + 0x1c]
inc edx
mov dword [esp + 0x1c], edx
cmp edx, ecx
mov edx, dword [esp + 0xc]
jge 0x42e63b
mulsd xmm2, xmm3
mulsd xmm0, xmm3
cvttsd2si edx, xmm0
cvttpd2dq xmm4, xmm0
cvtdq2pd xmm4, xmm4
subsd xmm0, xmm4
add dl, 0x30
mov byte [edi], dl
mov edx, dword [esp + 0xc]
inc edi
ucomisd xmm2, xmm0
jbe 0x42e59c
jmp 0x42e61e
xorpd xmm3, xmmword [0x43ad80]
mov dword [esp + 0x18], 0
ucomisd xmm3, xmm0
mov edx, dword [esp + 0xc]
jbe 0x42e63b
jmp 0x42ebea
movsd xmm2, qword [0x43ad68]
subsd xmm2, xmm1
ucomisd xmm2, xmm0
mov edx, dword [esp + 0xc]
jbe 0x42e63b
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jne 0x42e62e
jnp 0x42eccd
mov dword [esp + 0x20], 0x10
jmp 0x42ecd5
cmp dword [esp + 0x44], 0
mov dword [esp + 0x2c], esi
js 0x42e652
mov eax, dword [ebp + 8]
cmp ebx, dword [eax + 0x14]
jle 0x42e704
mov esi, dword [esp + 0x24]
test esi, esi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x24], esi
je 0x42e751
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x14]
sub ecx, eax
lea eax, [ecx + 1]
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x44]
sub edx, ecx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 4]
cmp edx, ecx
jge 0x42e76a
mov edx, dword [esp + 0x20]
cmp edx, 3
je 0x42e6c3
cmp edx, 5
je 0x42e6c3
mov eax, dword [esp + 0x44]
sub eax, ecx
mov edi, eax
inc eax
mov dword [esp + 0x1c], eax
cmp edx, 2
jl 0x42e775
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jle 0x42e775
cmp ecx, edi
jg 0x42e775
mov edx, dword [esp + 0x2c]
lea esi, [edx - 1]
mov ecx, dword [esp + 0x3c]
mov ebx, ecx
sub ebx, esi
neg ebx
xor eax, eax
mov edi, ecx
sub edi, esi
cmovg esi, ecx
mov dword [esp + 0x14], esi
cmovl edi, eax
cmovge ebx, eax
add ebx, dword [esp + 0x34]
mov dword [esp + 0x1c], edx
test edx, edx
js 0x42e7e0
mov eax, edx
mov ecx, dword [esp + 0x30]
mov esi, ecx
jmp 0x42e7f0
mov eax, dword [0x43add4]
movsd xmm0, qword [eax + ebx*8]
cmp dword [esp + 0x48], 0
jns 0x42e78b
test esi, esi
jg 0x42e78b
mov dword [esp + 0x18], 0
test esi, esi
js 0x42ebea
mulsd xmm0, qword [0x43ad90]
ucomisd xmm0, xmm5
mov dword [esp + 0x14], 0
mov esi, 0
mov ecx, dword [esp + 0x10]
jb 0x42e9dd
jmp 0x42ebf6
mov dword [esp + 0x18], 0
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x44], ecx
jmp 0x42e81a
cmp dword [esp + 0x20], 2
jge 0x42e6c3
mov ecx, dword [esp + 0x30]
mov esi, ecx
mov edx, dword [esp + 0x3c]
mov edi, edx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x34]
jmp 0x42e7f0
mov dword [esp + 0x1c], 1
movapd xmm1, xmm5
divsd xmm1, xmm0
cvttsd2si eax, xmm1
cvttpd2dq xmm1, xmm1
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
subsd xmm5, xmm1
mov ecx, eax
add cl, 0x30
mov esi, dword [esp + 0x10]
lea edi, [esi + 1]
mov byte [esi], cl
mov dword [esp + 0x20], 0
xorpd xmm1, xmm1
ucomisd xmm5, xmm1
jne 0x42ecde
jp 0x42ecde
mov ecx, esi
jmp 0x42f0b3
mov ecx, dword [esp + 0x30]
mov esi, ecx
sub esi, edx
mov dword [esp + 0x1c], 0
add ecx, eax
mov dword [esp + 0x44], ecx
add dword [esp + 0x28], eax
push 1
call fcn.0042f349
add esp, 4
mov dword [esp + 0x18], eax
mov ecx, esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x34], ebx
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x14]
test ecx, ecx
jle 0x42e83d
mov edi, dword [esp + 0x28]
test edi, edi
jle 0x42e83d
cmp ecx, edi
mov eax, edi
cmovl eax, ecx
mov dword [esp + 0x1c], eax
sub dword [esp + 0x44], eax
sub ecx, eax
sub edi, eax
mov dword [esp + 0x28], edi
mov ebx, dword [esp + 0x6c]
test esi, esi
mov dword [esp + 0x30], ecx
jle 0x42e8aa
cmp dword [esp + 0x24], 0
je 0x42e89c
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x3c]
test eax, eax
jle 0x42e88a
push eax
push dword [esp + 0x1c]
mov esi, edx
call fcn.0042f4b2
add esp, 8
push esi
mov dword [esp + 0x1c], eax
push eax
call fcn.0042f366
add esp, 8
mov edi, eax
push esi
call fcn.0042f24a
mov eax, dword [esp + 0x40]
add esp, 4
mov edx, edi
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
sub ecx, eax
jne 0x42e8b0
mov dword [esp + 0xc], edx
jmp 0x42e8be
push esi
push edx
call fcn.0042f4b2
add esp, 8
mov dword [esp + 0xc], eax
mov esi, dword [esp + 0x34]
jmp 0x42e8be
push ecx
push edx
call fcn.0042f4b2
add esp, 8
mov dword [esp + 0xc], eax
push 1
call fcn.0042f349
add esp, 4
test esi, esi
jle 0x42e8d6
push esi
push eax
call fcn.0042f4b2
add esp, 8
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x44]
cmp ebx, 1
sete al
mov ecx, dword [esp + 0x70]
and cl, al
mov bl, 1
cmp cl, 1
mov esi, dword [esp + 0xc]
jne 0x42e908
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
inc eax
cmp eax, dword [ebp + 0xc]
jge 0x42e908
inc edx
inc dword [esp + 0x28]
xor ebx, ebx
cmp dword [esp + 0x34], 0
je 0x42e920
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x10]
bsr edi, dword [ecx + eax*4 + 0x10]
xor edi, 0x1f
jmp 0x42e925
mov edi, 0x1f
sub edi, dword [esp + 0x28]
add edi, 0x1c
and edi, 0x1f
mov dword [esp + 0x1c], edi
add edx, edi
jle 0x42e949
push edx
push esi
call fcn.0042f5a9
add esp, 8
mov esi, eax
mov eax, dword [esp + 0x1c]
jmp 0x42e94b
mov eax, edi
add eax, dword [esp + 0x28]
jle 0x42e962
push eax
push dword [esp + 0x18]
call fcn.0042f5a9
add esp, 8
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x20]
cmp dword [esp + 0x74], 0x17
jb 0x42e986
push dword [esp + 0x14]
push esi
call fcn.0042f68f
mov ecx, dword [esp + 0x28]
add esp, 8
test eax, eax
js 0x42eba0
cmp ecx, 3
jl 0x42e9fd
cmp dword [esp + 0x2c], 0
jg 0x42e9fd
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], esi
test ecx, ecx
js 0x42ebf2
push 0
push 5
push dword [esp + 0x1c]
call fcn.0042f28f
add esp, 0xc
mov esi, eax
push eax
push dword [esp + 0x10]
call fcn.0042f68f
add esp, 8
test eax, eax
mov dword [esp + 0x14], esi
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x10]
jle 0x42ebf6
lea edi, [ecx + 1]
mov byte [ecx], 0x31
inc ebx
mov dword [esp + 0x28], 0
mov dword [esp + 0x20], 0x20
mov dword [esp + 0x14], esi
jmp 0x42f071
cmp dword [esp + 0x24], 0
mov eax, dword [esp + 0x18]
je 0x42eeec
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x38], ecx
mov dword [esp + 0xc], esi
add edi, dword [esp + 0x30]
test edi, edi
jle 0x42ea2a
push edi
push eax
call fcn.0042f5a9
add esp, 8
mov ecx, eax
mov dword [esp + 0x28], eax
test bl, bl
jne 0x42ea6b
mov edi, dword [esp + 0x28]
push dword [edi + 4]
call fcn.0042f118
add esp, 4
mov esi, eax
add eax, 0xc
lea ecx, [edi + 0xc]
mov edx, dword [edi + 0x10]
lea edx, [edx*4 + 8]
push edx
push ecx
push eax
call fcn.0042bc88
add esp, 0xc
push 1
push esi
call fcn.0042f5a9
add esp, 8
mov dword [esp + 0x18], eax
xor ecx, ecx
inc ecx
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
push eax
push esi
mov ebx, esi
call fcn.0042de6f
add esp, 8
mov esi, eax
push dword [esp + 0x28]
mov dword [esp + 0x10], ebx
push ebx
call fcn.0042f68f
add esp, 8
mov dword [esp + 0x2c], eax
push dword [esp + 0x18]
push dword [esp + 0x18]
call fcn.0042f6d1
add esp, 8
mov ebx, eax
cmp dword [eax + 0xc], 0
mov ecx, 1
jne 0x42ead1
push ebx
push dword [esp + 0x10]
call fcn.0042f68f
add esp, 8
mov ecx, eax
mov dword [esp + 0x48], esi
lea eax, [esi + 0x30]
mov dword [esp + 0x24], eax
push ebx
mov esi, ecx
call fcn.0042f24a
mov edx, esi
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x20]
or eax, ecx
mov esi, dword [esp + 0x40]
jne 0x42eb07
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
and eax, 1
or eax, esi
je 0x42ee4b
mov eax, esi
mov ebx, dword [esp + 0x2c]
test ebx, ebx
mov esi, dword [esp + 0xc]
js 0x42ec13
or ebx, ecx
jne 0x42eb29
mov ecx, dword [ebp + 0x10]
test byte [ecx], 1
je 0x42ec13
test edx, edx
mov ecx, dword [esp + 0x24]
jle 0x42eb3a
cmp eax, 2
jne 0x42ecf5
mov byte [edi], cl
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0x1c], ecx
mov ebx, dword [esp + 0x50]
je 0x42ed10
xor ebx, ebx
push ebx
mov eax, 0xa
push eax
push esi
call fcn.0042f28f
add esp, 0xc
mov dword [esp + 0xc], eax
push ebx
mov eax, 0xa
push eax
mov ebx, dword [esp + 0x30]
push ebx
call fcn.0042f28f
add esp, 0xc
mov ecx, dword [esp + 0x18]
cmp ebx, ecx
mov dword [esp + 0x28], eax
je 0x42eb91
push 0
push 0xa
push ecx
call fcn.0042f28f
add esp, 0xc
inc edi
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x18], eax
jmp 0x42ea76
dec dword [esp + 0x50]
push 0
push 0xa
push esi
call fcn.0042f28f
add esp, 0xc
mov esi, eax
cmp dword [esp + 0x24], 0
je 0x42ed1a
push 0
push 0xa
push dword [esp + 0x20]
call fcn.0042f28f
add esp, 0xc
cmp dword [esp + 0x20], 3
jl 0x42ee7f
mov ecx, dword [esp + 0x38]
test ecx, ecx
jle 0x42e99a
jmp 0x42ea10
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x48]
not ebx
mov dword [esp + 0x28], 0
mov dword [esp + 0x20], 0x10
mov edi, ecx
jmp 0x42f071
test eax, eax
mov ecx, dword [esp + 0x18]
je 0x42ed7c
cmp dword [esi + 0x10], 1
jg 0x42ec2f
cmp dword [esi + 0x14], 0
je 0x42ed7c
mov edx, 0x10
cmp eax, 2
je 0x42f062
push ecx
push dword [esp + 0x18]
mov ebx, ecx
call fcn.0042f68f
add esp, 8
test eax, eax
jle 0x42effd
mov eax, ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x18], eax
mov byte [edi], bl
inc edi
xor ebx, ebx
push ebx
mov ecx, 0xa
push ecx
push eax
mov esi, dword [esp + 0x34]
call fcn.0042f28f
add esp, 0xc
mov dword [esp + 0x40], eax
cmp esi, dword [esp + 0x18]
cmove esi, eax
mov dword [esp + 0x28], esi
push ebx
mov eax, 0xa
push eax
push dword [esp + 0x14]
call fcn.0042f28f
add esp, 0xc
push dword [esp + 0x14]
mov dword [esp + 0x10], eax
push eax
call fcn.0042de6f
add esp, 8
mov ebx, eax
add ebx, 0x30
mov esi, dword [esp + 0x40]
push esi
push dword [esp + 0x18]
call fcn.0042f68f
mov ecx, esi
add esp, 8
test eax, eax
mov eax, esi
jg 0x42ec5a
jmp 0x42f003
mov dword [esp + 0x20], 0
mov ebx, dword [esp + 0x18]
jmp 0x42f0af
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x2c]
jne 0x42edda
mov esi, dword [esp + 0x40]
jmp 0x42ee2d
cmp ecx, 0x39
mov ebx, dword [esp + 0x50]
je 0x42f00c
mov eax, dword [esp + 0x48]
add al, 0x31
mov byte [edi], al
inc edi
jmp 0x42f035
inc edi
mov edx, dword [esp + 0x10]
jmp 0x42ef74
cmp dword [esp + 0x20], 3
mov eax, dword [esp + 0x18]
jl 0x42eee4
mov ecx, dword [esp + 0x38]
test ecx, ecx
jle 0x42e99a
mov dword [esp + 0x2c], ecx
jmp 0x42eeec
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 1]
dec edi
mov cl, byte [edi]
cmp cl, 0x39
jne 0x42ed66
mov ecx, dword [esp + 0x10]
cmp edi, ecx
lea edi, [edi - 1]
jne 0x42ed4a
inc ebx
mov byte [ecx], 0x30
mov edi, ecx
mov cl, 0x31
jmp 0x42ed6b
inc cl
lea eax, [edi + 1]
mov byte [edi], cl
mov dword [esp + 0x20], 0x20
mov edi, eax
jmp 0x42f0af
test edx, edx
jle 0x42eec0
push 1
push esi
call fcn.0042f5a9
add esp, 8
push dword [esp + 0x14]
mov dword [esp + 0x10], eax
push eax
call fcn.0042f68f
add esp, 8
test eax, eax
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x50]
jg 0x42edba
mov edx, 0x20
jne 0x42edd1
mov eax, ecx
and eax, 1
je 0x42edd1
cmp dword [esp + 0x24], 0x39
je 0x42f00c
add ecx, 0x31
mov edx, 0x20
mov dword [esp + 0x24], ecx
mov esi, dword [esp + 0xc]
jmp 0x42eec6
movsd xmm1, qword [0x43ad50]
xorpd xmm2, xmm2
mov esi, dword [esp + 0x40]
inc ecx
mov dword [esp + 0x1c], ecx
mulsd xmm5, xmm1
movapd xmm3, xmm5
divsd xmm3, xmm0
cvttsd2si eax, xmm3
cvttpd2dq xmm3, xmm3
cvtdq2pd xmm3, xmm3
mulsd xmm3, xmm0
subsd xmm5, xmm3
mov ecx, eax
add cl, 0x30
mov byte [edi], cl
inc edi
ucomisd xmm5, xmm2
jne 0x42ee23
jnp 0x42f0af
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x2c]
jne 0x42edea
test esi, esi
je 0x42ee88
mov dword [esp + 0x20], 0x10
cmp esi, 1
mov ecx, dword [esp + 0x10]
jne 0x42f0b3
jmp 0x42ed46
cmp dword [esp + 0x24], 0x39
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
je 0x42f010
test eax, eax
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x50]
jle 0x42f0f2
mov ecx, dword [esp + 0x48]
add ecx, 0x31
mov eax, 0x20
jmp 0x42f107
mov ecx, dword [esp + 0x38]
jmp 0x42ea10
addsd xmm5, xmm5
ucomisd xmm5, xmm0
mov ecx, dword [esp + 0x10]
ja 0x42ed46
ucomisd xmm5, xmm0
mov dword [esp + 0x20], 0x10
jne 0x42f0b3
jp 0x42f0b3
and eax, 1
jne 0x42ed46
jmp 0x42f0b3
xor edx, edx
mov ebx, dword [esp + 0x50]
cmp dword [esi + 0x10], 1
mov dword [esp + 0xc], esi
jg 0x42eeda
cmp dword [esi + 0x14], 0
je 0x42f066
mov edx, 0x10
jmp 0x42f066
mov eax, dword [esp + 0x38]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], 1
push dword [esp + 0x14]
mov ebx, esi
push esi
call fcn.0042de6f
add esp, 8
add eax, 0x30
mov edx, dword [esp + 0x10]
lea edi, [edx + 1]
mov dword [esp + 0x24], eax
mov byte [edx], al
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x1c], eax
jge 0x42ef6a
mov dword [esp + 0x2c], eax
mov esi, ebx
mov ebx, dword [esp + 0x14]
push 0
push 0xa
push esi
call fcn.0042f28f
add esp, 0xc
mov esi, eax
inc dword [esp + 0x1c]
push ebx
push eax
call fcn.0042de6f
add esp, 8
add eax, 0x30
mov byte [edi], al
inc edi
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x1c], ecx
jl 0x42ef2f
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x10]
jmp 0x42ef70
mov esi, ebx
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x40]
test eax, eax
je 0x42ef9a
cmp eax, 2
jne 0x42efc6
cmp dword [esi + 0x10], 1
mov dword [esp + 0xc], esi
jg 0x42ef8d
cmp dword [esi + 0x14], 0
je 0x42eff3
mov dword [esp + 0x20], 0x10
jmp 0x42f071
mov dword [esp + 0x50], ebx
push 1
push esi
call fcn.0042f5a9
add esp, 8
push dword [esp + 0x14]
mov dword [esp + 0x10], eax
push eax
call fcn.0042f68f
add esp, 8
test eax, eax
jle 0x42efdc
mov eax, edi
mov edx, dword [esp + 0x10]
jmp 0x42f016
cmp dword [esi + 0x10], 1
jg 0x42efd2
cmp dword [esi + 0x14], 0
je 0x42ef7d
mov dword [esp + 0x50], ebx
mov dword [esp + 0xc], esi
jmp 0x42f014
jne 0x42efe9
and dword [esp + 0x24], 1
mov edx, dword [esp + 0x10]
jne 0x42f014
mov esi, dword [esp + 0xc]
mov ebx, dword [esp + 0x50]
jmp 0x42ef7d
mov dword [esp + 0x20], 0
jmp 0x42f071
mov ecx, ebx
mov ebx, dword [esp + 0x24]
cmp ebx, 0x39
jne 0x42f054
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x10]
mov byte [edi], 0x39
inc edi
mov eax, edi
lea edi, [edx + 1]
sub edx, eax
mov ecx, eax
mov bl, byte [ecx - 1]
cmp bl, 0x39
jne 0x42f03f
dec ecx
cmp ecx, dword [esp + 0x10]
jne 0x42f01d
mov ebx, dword [esp + 0x50]
inc ebx
mov byte [eax + edx], 0x31
mov dword [esp + 0x20], 0x20
jmp 0x42f071
inc bl
mov byte [ecx - 1], bl
mov dword [esp + 0x20], 0x20
mov edi, ecx
mov ebx, dword [esp + 0x50]
jmp 0x42f071
inc ebx
mov dword [esp + 0x24], ebx
mov edx, 0x20
mov dword [esp + 0x18], ecx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x24]
mov byte [edi], al
inc edi
push dword [esp + 0x14]
call fcn.0042f24a
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
je 0x42f0ab
cmp dword [esp + 0x28], 0
je 0x42f0a2
cmp dword [esp + 0x28], eax
je 0x42f0a2
push dword [esp + 0x28]
call fcn.0042f24a
mov eax, dword [esp + 0x1c]
add esp, 4
push eax
call fcn.0042f24a
add esp, 4
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov esi, edi
cmp edi, ecx
jbe 0x42f0c2
lea edi, [esi - 1]
cmp byte [esi - 1], 0x30
je 0x42f0b3
push edx
call fcn.0042f24a
add esp, 4
mov byte [esi], 0
inc ebx
mov eax, dword [ebp + 0x20]
mov dword [eax], ebx
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x42f0dd
mov dword [eax], esi
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x20]
or dword [eax], ecx
mov eax, dword [esp + 0x10]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [eax + 0x10], 1
jg 0x42f0fe
cmp dword [eax + 0x14], 0
je 0x42f112
mov eax, 0x10
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], eax
mov byte [edi], cl
jmp 0x42f070
xor eax, eax
jmp 0x42f103