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

Disassembly:
push ebp
xor edx, edx
push edi
push esi
push ebx
sub esp, 0x9c
mov ebx, dword [esp + 0xbc]
mov eax, dword [ebx]
mov ebp, eax
and eax, 7
and ebp, 0xffffffcf
cmp eax, 4
mov dword [ebx], ebp
ja case.default.0x6a30f7b8
jmp dword [eax*4 + 0x6a319320]
lea eax, [esp + 0x8c]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.6a3115b0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
lea edx, [eax + ecx - 1]
fstp qword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov eax, edx
mov dword [esp + 0x78], edx
sar eax, 0x1f
mov dword [esp + 0x28], eax
xor eax, edx
sub eax, dword [esp + 0x28]
and ecx, 0xfffff
or ecx, 0x3ff00000
mov dword [esp + 0x44], ecx
sub eax, 0x435
fld qword [esp + 0x40]
test eax, eax
fsub dword [0x6a319334]
fmul qword [0x6a319338]
fadd qword [0x6a319340]
fild dword [esp + 0x78]
fmul qword [0x6a319348]
faddp st(1)
jle 0x6a30f845
mov dword [esp + 0x78], eax
fild dword [esp + 0x78]
fmul qword [0x6a319350]
faddp st(1)
fnstcw word [esp + 0x7e]
movzx eax, word [esp + 0x7e]
mov ah, 0xc
mov word [esp + 0x7c], ax
fldcw word [esp + 0x7c]
fist dword [esp + 0x28]
fldcw word [esp + 0x7e]
fldz
fucomp st(1)
fnstsw ax
sahf
jbe 0x6a30f888
fild dword [esp + 0x28]
fucompp
fnstsw ax
sahf
setne al
setp byte [esp + 0x50]
or al, byte [esp + 0x50]
movzx eax, al
sub dword [esp + 0x28], eax
jmp 0x6a30f88a
fstp st(0)
mov eax, edx
shl eax, 0x14
add eax, ecx
cmp dword [esp + 0x28], 0x16
mov dword [esp + 0x44], eax
mov dword [esp + 0x64], 1
ja 0x6a30f8c9
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x64], 0
fld qword [ecx*8 + 0x6a319400]
fld qword [esp + 0x40]
fxch st(1)
fucompp
fnstsw ax
sahf
jbe 0x6a30f8c9
sub dword [esp + 0x28], 1
mov eax, dword [esp + 0x48]
sub eax, 1
sub eax, edx
js 0x6a310410
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], 0
mov ecx, dword [esp + 0x28]
test ecx, ecx
js 0x6a3103f1
mov edx, dword [esp + 0x28]
add dword [esp + 0x58], edx
mov dword [esp + 0x60], 0
mov dword [esp + 0x68], edx
cmp dword [esp + 0xc0], 9
ja 0x6a30ff00
cmp dword [esp + 0xc0], 5
jle 0x6a310cfd
sub dword [esp + 0xc0], 4
xor eax, eax
cmp dword [esp + 0xc0], 3
je 0x6a31029f
jg 0x6a3104a9
cmp dword [esp + 0xc0], 2
jne 0x6a30ff0b
mov dword [esp + 0x6c], 0
mov edx, dword [esp + 0xc4]
test edx, edx
jle 0x6a310749
mov edx, dword [esp + 0xc4]
cmp edx, 0xe
setbe cl
and ecx, eax
mov eax, edx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x70], edx
mov dword [esp + 0x50], edx
mov byte [esp + 0x24], cl
mov dword [esp], eax
call fcn.6a311460
movzx ecx, byte [esp + 0x24]
mov edx, eax
mov eax, dword [esp + 0xb0]
mov eax, dword [eax + 0xc]
sub eax, 1
cmp eax, 0
mov dword [esp + 0x54], eax
je 0x6a30f9c8
jge 0x6a30f9b6
mov dword [esp + 0x54], 2
and ebp, 8
je 0x6a30f9c8
mov eax, 3
sub eax, dword [esp + 0x54]
mov dword [esp + 0x54], eax
test cl, cl
je 0x6a30f9d8
mov ebp, dword [esp + 0x54]
test ebp, ebp
je 0x6a3100e0
cmp dword [esp + 0x28], 0xe
jle 0x6a30ffc0
mov ebp, dword [esp + 0x6c]
test ebp, ebp
jne 0x6a310423
mov edi, dword [esp + 0x60]
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x4c], 0
mov ecx, dword [esp + 0x58]
test ecx, ecx
jle 0x6a30fa26
test ebp, ebp
jle 0x6a30fa26
mov eax, dword [esp + 0x58]
cmp eax, ebp
jle 0x6a30fa15
mov eax, ebp
sub dword [esp + 0x5c], eax
sub ebp, eax
sub dword [esp + 0x58], eax
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x60]
test eax, eax
jle 0x6a30fa84
mov ecx, dword [esp + 0x6c]
test ecx, ecx
je 0x6a310759
test edi, edi
jle 0x6a30fa78
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x20], edx
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.6a311f60
mov dword [esp + 4], esi
mov dword [esp + 0x4c], eax
mov dword [esp], eax
call fcn.6a311cb0
mov dword [esp], esi
mov dword [esp + 0x24], eax
call fcn.6a3117d0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov esi, eax
mov ecx, dword [esp + 0x60]
sub ecx, edi
jne 0x6a310869
mov dword [esp + 0x20], edx
mov dword [esp], 1
call fcn.6a311e10
mov edx, dword [esp + 0x68]
test edx, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x40], eax
jle 0x6a30fabc
mov ecx, dword [esp + 0x68]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.6a311f60
mov edx, dword [esp + 0x20]
mov dword [esp + 0x40], eax
cmp dword [esp + 0xc0], 1
jle 0x6a310597
mov dword [esp + 0x34], 0
mov edi, dword [esp + 0x68]
mov eax, 0x1f
test edi, edi
je 0x6a30faee
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 0x10]
bsr eax, dword [ecx + eax*4 + 0x10]
xor eax, 0x1f
sub eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
lea edi, [eax - 4]
and edi, 0x1f
lea eax, [edi + ecx]
test eax, eax
mov dword [esp + 0x8c], edi
mov dword [esp + 0x2c], edi
jle 0x6a30fb2f
mov dword [esp], esi
mov dword [esp + 0x20], edx
mov dword [esp + 4], eax
call fcn.6a311bb0
mov edx, dword [esp + 0x20]
mov esi, eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
add eax, dword [esp + 0x58]
test eax, eax
jle 0x6a30fb57
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x20], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.6a311bb0
mov edx, dword [esp + 0x20]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x64]
test ecx, ecx
jne 0x6a310510
mov eax, dword [esp + 0x50]
test eax, eax
jle 0x6a310778
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x6a3105d3
add edi, ebp
test edi, edi
jle 0x6a30fb9d
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x20], edx
mov dword [esp + 4], edi
mov dword [esp], ebp
call fcn.6a311bb0
mov edx, dword [esp + 0x20]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x4c]
test ecx, ecx
jne 0x6a310b4d
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x8c], 1
mov dword [esp + 0x48], edx
mov dword [esp + 0x2c], edx
mov ebp, dword [esp + 0x40]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.6a311220
mov dword [esp + 4], ebx
mov dword [esp], esi
add eax, 0x30
mov dword [esp + 0x34], eax
call fcn.6a311510
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 0x38], eax
call fcn.6a311a10
mov ebp, eax
mov eax, 1
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x6a3103e0
mov dword [esp + 0x24], eax
mov dword [esp], ebp
call fcn.6a3117d0
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x6a3102e0
mov ecx, dword [esp + 0xc0]
test ecx, ecx
jne 0x6a3102e0
mov edx, dword [esp + 0x54]
test edx, edx
jne 0x6a3102e0
mov edx, dword [esp + 0xb8]
test byte [edx], 1
jne 0x6a3102e0
cmp dword [esp + 0x34], 0x39
mov dword [esp + 0x4c], ebx
mov edx, dword [esp + 0x48]
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x58]
je 0x6a310c64
cmp dword [esp + 0x38], 0
jle 0x6a310cda
add dword [esp + 0x34], 1
mov dword [esp + 0x30], 0x20
movzx ecx, byte [esp + 0x34]
mov byte [ebp], cl
mov eax, dword [esp + 0x28]
add ebp, 1
add eax, 1
mov dword [esp + 0x2c], eax
lea esi, [esi]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x20], edx
mov dword [esp], eax
call fcn.6a3117d0
test edi, edi
mov edx, dword [esp + 0x20]
je 0x6a30fce6
cmp dword [esp + 0x4c], edi
je 0x6a30fcd6
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x6a30fcd6
mov ecx, dword [esp + 0x4c]
mov dword [esp], ecx
call fcn.6a3117d0
mov edx, dword [esp + 0x20]
mov dword [esp + 0x20], edx
mov dword [esp], edi
call fcn.6a3117d0
mov edx, dword [esp + 0x20]
mov dword [esp + 0x20], edx
mov dword [esp], esi
call fcn.6a3117d0
mov byte [ebp], 0
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
mov dword [eax], ecx
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x6a30fd1b
mov eax, dword [esp + 0xcc]
mov dword [eax], ebp
mov ecx, dword [esp + 0x30]
or dword [ebx], ecx
add esp, 0x9c
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0xb0]
xor edx, edx
mov edi, dword [eax]
mov eax, 0x20
cmp edi, 0x20
jle 0x6a30fd4e
add eax, eax
add edx, 1
cmp edi, eax
jg 0x6a30fd45
mov dword [esp], edx
call fcn.6a311820
mov edx, dword [esp + 0xb8]
mov esi, eax
lea eax, [edi - 1]
sar eax, 5
lea eax, [edx + eax*4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xb8]
lea ecx, [esi + 0x14]
mov dword [esp + 0x48], ecx
mov edx, ecx
lea esi, [esi]
mov ecx, dword [eax]
add eax, 4
mov dword [edx], ecx
add edx, 4
cmp dword [esp + 0x28], eax
jae 0x6a30fd80
sub edx, dword [esp + 0x48]
sar edx, 2
lea eax, [esi + edx*4 + 0x10]
jmp 0x6a30fda2
mov edx, ecx
cmp dword [eax], 0
lea ecx, [edx - 1]
jne 0x6a30fee0
sub eax, 4
test ecx, ecx
jne 0x6a30fda0
mov dword [esi + 0x10], 0
mov dword [esp + 0x48], 0
mov dword [esp], esi
call fcn.6a312190
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x4c], edx
test eax, eax
mov dword [esp + 0x8c], eax
jne 0x6a30feb0
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x6a30f7c0
mov dword [esp], esi
call fcn.6a3117d0
mov ebp, dword [esp + 0xc8]
mov eax, dword [esp + 0xcc]
mov dword [ebp], 1
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov dword [esp], 0x6a31931d
call fcn.6a3114a0
add esp, 0x9c
pop ebx
pop esi
pop edi
pop ebp
mov edx, eax
mov eax, edx
ret
mov ecx, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
mov dword [ecx], 0xffff8000
mov dword [esp + 4], ebp
mov dword [esp + 8], 3
mov dword [esp], 0x6a319319
call fcn.6a3114a0
add esp, 0x9c
pop ebx
pop esi
pop edi
pop ebp
mov edx, eax
mov eax, edx
ret
mov eax, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov dword [eax], 0xffff8000
mov dword [esp + 4], edx
mov dword [esp + 8], 8
mov dword [esp], 0x6a319310
call fcn.6a3114a0
add esp, 0x9c
pop ebx
pop esi
pop edi
pop ebp
mov edx, eax
mov eax, edx
ret
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.6a312080
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0xb4]
sub dword [esp + 0x48], eax
add ecx, eax
mov dword [esp + 0x4c], ecx
jmp 0x6a30fde6
bsr eax, dword [esi + edx*4 + 0x10]
mov dword [esi + 0x10], edx
shl edx, 5
xor eax, 0x1f
sub edx, eax
mov dword [esp + 0x48], edx
jmp 0x6a30fdc4
mov dword [esp + 0xc0], 0
mov dword [esp + 0x78], edi
xor ecx, ecx
fild dword [esp + 0x78]
fmul qword [0x6a319358]
mov dword [esp + 0x6c], 1
mov dword [esp + 0x70], 0xffffffff
mov dword [esp + 0x50], 0xffffffff
mov dword [esp + 0xc4], 0
fldcw word [esp + 0x7c]
fistp dword [esp + 0x78]
fldcw word [esp + 0x7e]
mov eax, dword [esp + 0x78]
add eax, 3
mov dword [esp + 0x8c], eax
jmp 0x6a30f983
fld st(0)
mov eax, dword [esp + 0x50]
fadd st(1)
fadd dword [0x6a31936c]
fstp qword [esp + 0x40]
sub dword [esp + 0x44], 0x3400000
test eax, eax
jne 0x6a310856
fld st(0)
fsub dword [0x6a319370]
fld qword [esp + 0x40]
fxch st(1)
fucom st(1)
fnstsw ax
sahf
ja 0x6a310872
fxch st(1)
fchs
fucompp
fnstsw ax
sahf
ja 0x6a3104d2
jmp 0x6a30ffb9
fstp st(0)
fstp st(0)
jmp 0x6a30ffb9
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x6a30ffb9
fstp st(0)
fstp qword [esp + 0x40]
lea esi, [esi]
mov ecx, dword [esp + 0x4c]
test ecx, ecx
js 0x6a30f9e3
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x28]
test eax, eax
fld qword [ecx*8 + 0x6a319400]
jle 0x6a3107f8
fld qword [esp + 0x40]
lea ebp, [edx + 1]
fld st(0)
fdiv st(2)
fnstcw word [esp + 0x7e]
mov dword [esp + 0x8c], 1
movzx eax, word [esp + 0x7e]
mov ah, 0xc
mov word [esp + 0x7c], ax
fldcw word [esp + 0x7c]
fistp dword [esp + 0x78]
fldcw word [esp + 0x7e]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x78], ecx
lea eax, [ecx + 0x30]
fild dword [esp + 0x78]
fmul st(2)
mov byte [edx], al
fsubp st(1)
fldz
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
sahf
je 0x6a310c9f
mov eax, dword [esp + 0x8c]
cmp dword [esp + 0x50], eax
je 0x6a3106a5
mov edi, edx
fld dword [0x6a319364]
mov edx, dword [esp + 0x50]
jmp 0x6a31006f
mov eax, dword [esp + 0x8c]
cmp edx, eax
je 0x6a3106a1
add eax, 1
fmul st(1), st(0)
mov dword [esp + 0x8c], eax
fld st(1)
fdiv st(3)
fldcw word [esp + 0x7c]
fistp dword [esp + 0x78]
fldcw word [esp + 0x7e]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x78], ecx
lea eax, [ecx + 0x30]
fild dword [esp + 0x78]
fmul st(3)
mov byte [ebp], al
add ebp, 1
fsubp st(2)
fldz
fxch st(2)
fucom st(2)
fnstsw ax
fstp st(2)
sahf
jne 0x6a310060
jp 0x6a310060
fstp st(0)
fstp st(0)
fstp st(0)
mov edx, edi
jmp 0x6a3100c1
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], 0
add ecx, 1
mov dword [esp + 0x2c], ecx
jmp 0x6a30fce6
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x6a30f9d8
mov eax, dword [esp + 0x64]
mov dword [esp + 0x8c], 0
fld qword [esp + 0x40]
test eax, eax
je 0x6a30ff5d
mov ebp, dword [esp + 0x50]
test ebp, ebp
jle 0x6a30ff5d
fld1
fucomp st(1)
fnstsw ax
sahf
jbe 0x6a30ff5d
mov ecx, dword [esp + 0x70]
test ecx, ecx
jle 0x6a30ffb9
fld st(0)
mov ecx, dword [esp + 0x70]
fmul dword [0x6a319364]
mov dword [esp + 0x74], 0xffffffff
fld st(0)
fmul dword [0x6a319368]
fadd dword [0x6a31936c]
fstp qword [esp + 0x40]
sub dword [esp + 0x44], 0x3400000
mov ebp, dword [esp + 0x6c]
test ebp, ebp
je 0x6a310895
fld qword [esp + 0x40]
lea ebp, [edx + 1]
fld dword [0x6a319374]
fdiv qword [ecx*8 + 0x6a3193f8]
fnstcw word [esp + 0x7e]
mov dword [esp + 0x8c], 0
movzx eax, word [esp + 0x7e]
mov ah, 0xc
mov word [esp + 0x7c], ax
fsubrp st(1)
fxch st(1)
fldcw word [esp + 0x7c]
fist dword [esp + 0x78]
fldcw word [esp + 0x7e]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x78], eax
add eax, 0x30
fild dword [esp + 0x78]
fsubp st(1)
fxch st(1)
mov byte [edx], al
fucom st(1)
fnstsw ax
sahf
ja 0x6a31026e
fld st(1)
fsubr dword [0x6a319360]
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
sahf
ja 0x6a3109eb
mov eax, dword [esp + 0x8c]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x8c], eax
jge 0x6a30ffa9
fld dword [0x6a319364]
jmp 0x6a310234
fld st(1)
fsubr dword [0x6a319360]
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
sahf
ja 0x6a3109f3
mov eax, dword [esp + 0x8c]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x8c], eax
jge 0x6a30ffaf
fxch st(1)
fxch st(2)
fmul st(1), st(0)
fmul st(2), st(0)
fxch st(2)
fldcw word [esp + 0x7c]
fist dword [esp + 0x78]
fldcw word [esp + 0x7e]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x78], eax
add eax, 0x30
fild dword [esp + 0x78]
fsubp st(1)
fxch st(1)
mov byte [ebp], al
add ebp, 1
fucom st(1)
fnstsw ax
sahf
jbe 0x6a310200
fstp st(0)
fstp st(1)
fstp st(1)
jmp 0x6a310272
fstp st(0)
fstp st(1)
fldz
fxch st(1)
fucompp
fnstsw ax
sahf
jne 0x6a310c87
jp 0x6a310c87
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x30], 0
add ecx, 1
mov dword [esp + 0x2c], ecx
jmp 0x6a30fce6
mov dword [esp + 0x6c], 0
mov ecx, dword [esp + 0x28]
add ecx, dword [esp + 0xc4]
mov dword [esp + 0x70], ecx
add ecx, 1
test ecx, ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x8c], ecx
jle 0x6a31072a
cmp ecx, 0xe
setbe cl
and ecx, eax
mov eax, dword [esp + 0x50]
jmp 0x6a30f983
cmp dword [esp + 0x38], 0
jl 0x6a310a26
jne 0x6a310308
mov ebp, dword [esp + 0xc0]
test ebp, ebp
jne 0x6a310308
mov edx, dword [esp + 0xb8]
test byte [edx], 1
je 0x6a310a26
test eax, eax
jle 0x6a310354
cmp dword [esp + 0x54], 2
je 0x6a310354
cmp dword [esp + 0x34], 0x39
mov dword [esp + 0x4c], ebx
mov edx, dword [esp + 0x48]
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x58]
je 0x6a310c64
movzx eax, byte [esp + 0x34]
add eax, 1
mov byte [ebp], al
mov ecx, dword [esp + 0x28]
add ebp, 1
mov dword [esp + 0x30], 0x20
add ecx, 1
mov dword [esp + 0x2c], ecx
jmp 0x6a30fca0
mov edx, dword [esp + 0x2c]
movzx eax, byte [esp + 0x34]
mov byte [edx], al
mov ecx, dword [esp + 0x50]
add edx, 1
cmp dword [esp + 0x8c], ecx
mov dword [esp + 0x2c], edx
je 0x6a310bc2
mov dword [esp], esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
call fcn.6a311e40
cmp ebx, edi
mov esi, eax
je 0x6a310488
mov dword [esp], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
call fcn.6a311e40
mov dword [esp], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov ebx, eax
call fcn.6a311e40
mov edi, eax
add dword [esp + 0x8c], 1
jmp 0x6a30fbc8
mov dword [esp + 4], ebp
mov dword [esp], esi
call fcn.6a311510
jmp 0x6a30fc0d
mov ecx, dword [esp + 0x28]
sub dword [esp + 0x5c], ecx
mov dword [esp + 0x68], 0
neg ecx
mov dword [esp + 0x60], ecx
jmp 0x6a30f904
neg eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], 0
jmp 0x6a30f8e4
cmp dword [esp + 0xc0], 1
jle 0x6a31096c
mov edi, dword [esp + 0x50]
sub edi, 1
cmp dword [esp + 0x60], edi
jl 0x6a310843
mov eax, dword [esp + 0x60]
sub eax, edi
mov edi, eax
mov ecx, dword [esp + 0x50]
mov ebp, dword [esp + 0x5c]
test ecx, ecx
mov eax, ecx
mov dword [esp + 0x8c], ecx
js 0x6a310a12
mov dword [esp + 0x20], edx
add dword [esp + 0x5c], eax
add dword [esp + 0x58], eax
mov dword [esp], 1
call fcn.6a311e10
mov edx, dword [esp + 0x20]
mov dword [esp + 0x4c], eax
jmp 0x6a30f9ff
mov dword [esp], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
call fcn.6a311e40
mov ebx, eax
mov edi, eax
jmp 0x6a3103cd
cmp dword [esp + 0xc0], 4
je 0x6a31071d
cmp dword [esp + 0xc0], 5
jne 0x6a30ff0b
mov dword [esp + 0x6c], 1
jmp 0x6a3102a7
fstp st(0)
jmp 0x6a3104d8
fstp st(0)
mov dword [esp + 0x40], 0
mov dword [esp + 0x4c], 0
mov ecx, dword [esp + 0xc4]
mov ebp, edx
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x30], 0x10
mov dword [esp + 0x4c], 0
neg ecx
mov dword [esp + 0x2c], ecx
jmp 0x6a30fca0
mov eax, dword [esp + 0x40]
mov dword [esp + 0x20], edx
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.6a311510
mov edx, dword [esp + 0x20]
test eax, eax
jns 0x6a30fb63
sub dword [esp + 0x28], 1
mov dword [esp], esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
call fcn.6a311e40
mov ecx, dword [esp + 0x70]
cmp dword [esp + 0x6c], 0
mov edx, dword [esp + 0x20]
mov dword [esp + 0x50], ecx
mov esi, eax
je 0x6a30fb63
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov dword [esp], eax
call fcn.6a311e40
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], eax
jmp 0x6a30fb63
cmp dword [esp + 0x48], 1
jne 0x6a30faca
mov ecx, dword [esp + 0xb0]
mov eax, dword [ecx + 4]
add eax, 1
cmp dword [esp + 0xb4], eax
jle 0x6a30faca
add dword [esp + 0x5c], 1
add dword [esp + 0x58], 1
mov dword [esp + 0x34], 1
jmp 0x6a30fad2
mov dword [esp + 0x3c], ebx
mov ebp, edx
mov edi, dword [esp + 0x40]
mov dword [esp + 0x8c], 1
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x30], edx
jmp 0x6a310614
mov dword [esp], esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
call fcn.6a311e40
add dword [esp + 0x8c], 1
mov esi, eax
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.6a311220
add eax, 0x30
mov byte [ebp], al
add ebp, 1
cmp ebx, dword [esp + 0x8c]
jg 0x6a3105f2
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x34], eax
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x54]
test eax, eax
je 0x6a310add
cmp dword [esp + 0x54], 2
je 0x6a310b1d
cmp dword [esi + 0x10], 1
jg 0x6a310672
jmp 0x6a310c70
mov ebp, eax
movzx ecx, byte [ebp - 1]
lea eax, [ebp - 1]
cmp cl, 0x39
jne 0x6a310b9d
cmp edx, eax
jne 0x6a310670
mov byte [edx], 0x31
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], 0x20
add ecx, 2
mov dword [esp + 0x2c], ecx
jmp 0x6a30fca0
fstp st(0)
mov edx, edi
mov eax, dword [esp + 0x54]
test eax, eax
je 0x6a3109b5
fstp st(0)
fstp st(0)
cmp dword [esp + 0x54], 1
je 0x6a3106e0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], 0x10
add eax, 1
mov dword [esp + 0x2c], eax
jmp 0x6a30fce6
mov ebp, eax
jmp 0x6a3106e0
fstp st(0)
fstp st(0)
lea esi, [esi]
movzx ecx, byte [ebp - 1]
lea eax, [ebp - 1]
cmp cl, 0x39
jne 0x6a310bba
cmp edx, eax
jne 0x6a3106d4
add dword [esp + 0x28], 1
mov eax, edx
mov ecx, 0x31
mov byte [edx], 0x30
mov byte [eax], cl
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], 0x20
add eax, 1
mov dword [esp + 0x2c], eax
jmp 0x6a30fce6
mov dword [esp + 0x6c], 1
jmp 0x6a30f954
cmp dword [esp + 0x50], 0xe
mov dword [esp + 0x8c], 1
setbe cl
and ecx, eax
mov eax, 1
jmp 0x6a30f983
mov dword [esp + 0xc4], 1
jmp 0x6a30f963
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 0x20], edx
call fcn.6a311f60
mov edx, dword [esp + 0x20]
mov esi, eax
jmp 0x6a30fa84
cmp dword [esp + 0xc0], 2
jle 0x6a30fb6f
mov ecx, dword [esp + 0x50]
test ecx, ecx
jne 0x6a3104e8
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x20], edx
mov dword [esp + 8], 0
mov dword [esp + 4], 5
mov dword [esp], ebp
call fcn.6a311e40
mov dword [esp], esi
mov dword [esp + 0x40], eax
mov dword [esp + 4], eax
call fcn.6a311510
mov edx, dword [esp + 0x20]
test eax, eax
jle 0x6a3104e8
mov eax, dword [esp + 0x28]
add eax, 2
mov dword [esp + 0x2c], eax
mov byte [edx], 0x31
lea ebp, [edx + 1]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x30], 0x20
mov dword [esp + 0x4c], 0
jmp 0x6a30fca0
mov ebp, dword [esp + 0xc4]
test ebp, ebp
jns 0x6a30ffe3
mov edi, dword [esp + 0x50]
test edi, edi
jne 0x6a3104d6
fmul dword [0x6a319370]
fld qword [esp + 0x40]
fxch st(1)
fucompp
fnstsw ax
sahf
jae 0x6a3104d8
add ecx, 2
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x40], 0
mov dword [esp + 0x4c], 0
jmp 0x6a3107d9
sub edi, dword [esp + 0x60]
add dword [esp + 0x68], edi
add dword [esp + 0x60], edi
xor edi, edi
jmp 0x6a31044a
fld st(0)
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x74], 0
jmp 0x6a31015a
mov dword [esp + 4], ecx
jmp 0x6a310761
fstp st(0)
fstp st(0)
fstp st(0)
mov dword [esp + 0x2c], 2
mov dword [esp + 0x40], 0
mov dword [esp + 0x4c], 0
jmp 0x6a3107d9
fnstcw word [esp + 0x7e]
fld qword [esp + 0x40]
mov ebp, edx
fmul qword [ecx*8 + 0x6a3193f8]
mov dword [esp + 0x8c], 1
movzx eax, word [esp + 0x7e]
mov ah, 0xc
fld dword [0x6a319364]
fxch st(2)
mov word [esp + 0x7c], ax
jmp 0x6a3108d3
fmul st(2)
add eax, 1
mov dword [esp + 0x8c], eax
fldcw word [esp + 0x7c]
fist dword [esp + 0x78]
fldcw word [esp + 0x7e]
mov eax, dword [esp + 0x78]
test eax, eax
je 0x6a3108f1
mov dword [esp + 0x78], eax
fild dword [esp + 0x78]
fsubp st(1)
add eax, 0x30
mov byte [ebp], al
mov eax, dword [esp + 0x8c]
add ebp, 1
cmp eax, ecx
jne 0x6a3108c7
fstp st(2)
fxch st(1)
fld dword [0x6a319374]
fld st(2)
fadd st(1)
fxch st(2)
fucom st(2)
fnstsw ax
fstp st(2)
sahf
ja 0x6a3109fd
fsubrp st(2)
fxch st(1)
fucomp st(1)
fnstsw ax
sahf
jbe 0x6a30ffb7
fstp st(1)
fldz
fucompp
fnstsw ax
sahf
sete al
setnp cl
and eax, ecx
movzx eax, al
sub eax, 1
and eax, 0x10
mov dword [esp + 0x30], eax
jmp 0x6a310953
mov ebp, eax
cmp byte [ebp - 1], 0x30
lea eax, [ebp - 1]
je 0x6a310951
mov eax, dword [esp + 0x74]
add eax, 1
mov dword [esp + 0x2c], eax
jmp 0x6a30fce6
mov ebp, dword [esp + 0xb0]
sub edi, dword [esp + 0x48]
mov ecx, dword [ebp + 4]
lea eax, [edi + 1]
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x8c], eax
sub ebp, edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0x40], ebp
mov ebp, dword [esp + 0x5c]
cmp dword [esp + 0x40], ecx
jge 0x6a310463
mov eax, dword [esp + 0x4c]
sub eax, ecx
add eax, 1
mov dword [esp + 0x8c], eax
jmp 0x6a310463
fadd st(0)
fucom st(1)
fnstsw ax
sahf
ja 0x6a3106d8
fxch st(1)
fucompp
fnstsw ax
sahf
jne 0x6a3109d6
jp 0x6a3109d6
and cl, 1
jne 0x6a3106e0
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], 0x10
mov dword [esp + 0x74], ecx
jmp 0x6a310953
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x6a310a05
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x6a310a05
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x28], ecx
jmp 0x6a3106e0
sub ebp, ecx
xor eax, eax
mov dword [esp + 0x8c], 0
jmp 0x6a310463
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x4c], ebx
mov edx, dword [esp + 0x48]
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x58]
test ecx, ecx
je 0x6a310be1
cmp dword [esi + 0x10], 1
jle 0x6a310bd7
cmp dword [esp + 0x54], 2
je 0x6a310c44
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x3c], edx
jmp 0x6a310a99
mov dword [esp], esi
add ebp, 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
call fcn.6a311e40
mov dword [esp + 4], ebx
mov esi, eax
mov dword [esp], eax
call fcn.6a311220
mov edi, dword [esp + 0x30]
add eax, 0x30
mov dword [esp + 0x34], eax
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.6a311510
test eax, eax
jle 0x6a310c51
movzx ecx, byte [esp + 0x34]
mov byte [ebp], cl
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov dword [esp], edi
call fcn.6a311e40
cmp dword [esp + 0x4c], edi
mov dword [esp + 0x30], eax
jne 0x6a310a65
mov dword [esp + 0x4c], eax
jmp 0x6a310a65
mov dword [esp + 0x20], edx
mov dword [esp], esi
mov dword [esp + 4], 1
call fcn.6a311bb0
mov esi, eax
mov eax, dword [esp + 0x40]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.6a311510
mov edx, dword [esp + 0x20]
cmp eax, 0
jg 0x6a310672
jne 0x6a310b1d
test byte [esp + 0x34], 1
jne 0x6a310672
cmp dword [esi + 0x10], 1
jle 0x6a310caa
mov dword [esp + 0x30], 0x10
nop
jmp 0x6a310b34
mov ebp, eax
cmp byte [ebp - 1], 0x30
lea eax, [ebp - 1]
je 0x6a310b32
mov ecx, dword [esp + 0x28]
add ecx, 1
mov dword [esp + 0x2c], ecx
jmp 0x6a30fca0
mov eax, dword [edi + 4]
mov dword [esp + 0x20], edx
mov dword [esp], eax
call fcn.6a311820
mov ecx, dword [esp + 0x4c]
mov edi, eax
lea ebp, [eax + 0xc]
mov eax, dword [ecx + 0x10]
add ecx, 0xc
mov dword [esp + 4], ecx
mov dword [esp], ebp
lea eax, [eax*4 + 8]
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcpy
mov dword [esp], edi
mov dword [esp + 4], 1
call fcn.6a311bb0
mov edx, dword [esp + 0x20]
mov edi, eax
jmp 0x6a30fbad
add ecx, 1
mov byte [eax], cl
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], 0x20
add eax, 1
mov dword [esp + 0x2c], eax
jmp 0x6a30fca0
add ecx, 1
jmp 0x6a310703
mov dword [esp + 0x4c], ebx
mov edx, dword [esp + 0x48]
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x58]
jmp 0x6a31064a
cmp dword [esi + 0x14], 0
jne 0x6a310a4c
test eax, eax
mov dword [esp + 0x30], 0
jle 0x6a310c34
mov dword [esp + 0x20], edx
mov dword [esp], esi
mov dword [esp + 4], 1
call fcn.6a311bb0
mov esi, eax
mov eax, dword [esp + 0x40]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.6a311510
mov edx, dword [esp + 0x20]
cmp eax, 0
jle 0x6a310cb8
cmp dword [esp + 0x34], 0x39
je 0x6a310c64
add dword [esp + 0x34], 1
mov dword [esp + 0x30], 0x20
cmp dword [esi + 0x10], 1
jg 0x6a310c44
cmp dword [esi + 0x14], 0
je 0x6a30fc83
mov dword [esp + 0x30], 0x10
jmp 0x6a30fc83
cmp dword [esp + 0x34], 0x39
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x2c]
jne 0x6a30fc76
mov byte [ebp], 0x39
add ebp, 1
jmp 0x6a310672
cmp dword [esi + 0x14], 0
jne 0x6a310672
mov dword [esp + 0x30], 0
jmp 0x6a310b34
mov eax, dword [esp + 0x74]
mov dword [esp + 0x30], 0x10
add eax, 1
mov dword [esp + 0x2c], eax
jmp 0x6a30fce6
jnp 0x6a3100bd
jmp 0x6a31003b
cmp dword [esi + 0x14], 0
nop
jne 0x6a310b27
jmp 0x6a310c7a
nop
lea esi, [esi]
jne 0x6a310ccd
test byte [esp + 0x34], 1
jne 0x6a310c20
mov dword [esp + 0x30], 0x20
jmp 0x6a310c34
cmp dword [esi + 0x10], 1
nop
jg 0x6a310c44
cmp dword [esi + 0x14], 0
mov dword [esp + 0x30], 0
je 0x6a30fc83
jmp 0x6a310c44
mov eax, 1
jmp 0x6a30f92a