Function at 0x7107c3
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd0
push ebx
mov ebx, dword [ebp + 8]
xor eax, eax
push esi
mov esi, dword [ebx]
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x74], eax
mov eax, dword [edi + 0x20]
mov dword [ebp - 8], esi
sub esi, dword [ebx + 0xc]
shr eax, 4
fldz
sar esi, 2
fstp qword [ebp - 0x1c]
and al, 1
push edi
push ebx
mov dword [ebp - 0x50], esi
mov byte [ebp - 0x21], al
call fcn.00711e7d
pop ecx
test al, al
pop ecx
je 0x711d6c
jmp 0x71081d
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0x10]
cmp byte [ebp - 0x21], 0
mov dword [ebp - 0x28], eax
je 0x710842
mov ecx, dword [ebp - 8]
lea edx, [esi + 1]
sub ecx, dword [ebx + 0xc]
sar ecx, 2
cmp ecx, edx
jne 0x710842
cmp eax, 0x2f
jne 0x711d6c
mov ecx, dword [edi + 0x18]
test ecx, ecx
mov dword [ebp - 0x44], ecx
jl 0x710864
cmp ecx, 1
jle 0x71085e
cmp ecx, 2
jne 0x710864
mov ecx, dword [ebp + 0x18]
sub ecx, dword [ebp + 0x14]
jmp 0x710861
mov ecx, dword [edi + 0x14]
mov dword [ebp - 4], ecx
mov byte [ebp + 0xb], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ebp + 0x10], ecx
sbb cl, cl
shr eax, 8
inc cl
and eax, 1
mov byte [ebp - 0x2d], cl
mov ecx, dword [ebp - 0x28]
lea eax, [eax + eax*2]
and ecx, 0xff
shl eax, 2
mov dword [ebp - 0x54], ecx
sub ecx, dword [eax + 0x280b3cc4]
js 0x710927
cmp ecx, dword [eax + 0x280b3cc8]
jge 0x710927
mov eax, dword [eax + 0x280b3cc0]
mov cl, byte [eax + ecx]
test cl, cl
mov byte [ebp - 0x2e], cl
je 0x710927
mov eax, dword [ebp + 0x18]
and ecx, 0x3f
sub eax, dword [ebp + 0x10]
cdq
idiv ecx
cmp dword [ebp - 4], eax
jle 0x7108c9
mov dword [ebp - 4], eax
cmp dword [ebp - 0x10], 0
je 0x7108d5
test byte [ebp - 0x2e], 0x80
je 0x710927
cmp dword [ebp - 4], 0
je 0x7108ee
cmp byte [ebp - 0x21], 0
je 0x7108ee
cmp dword [ebp - 0x54], 0x70
je 0x7108ee
mov dword [ebp - 4], 1
mov eax, dword [ebx + 0x10]
sub eax, dword [ebp - 8]
sar eax, 2
cmp eax, dword [ebp - 4]
jge 0x710911
push dword [ebp - 4]
push dword [ebp - 8]
push dword [ebp - 8]
push ebx
call fcn.0072e01d
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x30]
add eax, dword [ebp - 4]
cmp eax, dword [ebx + 0x38]
jl 0x710927
push dword [ebp - 4]
push ebx
call fcn.0072e358
pop ecx
pop ecx
mov edi, dword [ebp - 0x28]
cmp edi, 0x63
jg 0x7111f5
je 0x711185
cmp edi, 0x4a
jg 0x710bd7
je 0x710b5f
cmp edi, 0x42
jg 0x710a7b
je 0x710e29
mov eax, edi
sub eax, 0x25
je 0x711d39
sub eax, 3
je 0x7109c5
sub eax, 7
je 0x7109bb
sub eax, 0x11
je 0x710997
dec eax
jne 0x711d24
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 0x10]
sub eax, esi
cmp dword [ebp - 4], eax
jle 0x710988
mov dword [ebp - 4], eax
cmp dword [ebp - 0x10], 0
je 0x7110c6
jmp 0x711073
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 0x74]
sub eax, esi
cmp dword [ebp - 4], eax
jle 0x7109b1
push 0x280b3e80
push ebx
call fcn.007552a2
pop ecx
pop ecx
mov eax, dword [ebp - 4]
add esi, eax
jmp 0x7110be
push 0x280b3e54
jmp 0x711621
mov eax, dword [ebp + 0xc]
push 9
pop ecx
mov esi, eax
lea edi, [ebp - 0xc8]
mov edx, dword [ebp + 0x10]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xbc]
xor esi, esi
or dword [eax + 0x20], esi
inc dword [eax + 0x1c]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 8]
mov dword [ebx], eax
mov eax, dword [ebp - 4]
dec dword [ebp - 4]
mov dword [ebp - 0x68], edx
test eax, eax
je 0x710a52
mov eax, dword [ebp - 0xa8]
and eax, 8
mov dword [ebp + 0x10], eax
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp - 0xc0]
mov dword [edi], eax
lea eax, [ebp - 0x68]
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push edx
push edi
push ebx
call fcn.007107c3
add esp, 0x18
cmp dword [ebp + 0x10], 0
je 0x710a33
or dword [edi + 0x20], 8
jmp 0x710a37
and dword [edi + 0x20], 0xfffffff7
mov edx, dword [ebp - 0x68]
cmp edx, dword [ebp + 0x18]
jne 0x710a48
cmp dword [ebp - 0xb0], 2
je 0x710a52
mov eax, dword [ebp - 4]
dec dword [ebp - 4]
test eax, eax
jne 0x710a07
mov edi, dword [ebp + 0xc]
mov eax, dword [ebx]
not esi
and dword [edi + 0x20], esi
mov dword [ebp - 8], eax
mov eax, dword [edi + 0x20]
push 9
pop ecx
lea esi, [ebp - 0xc8]
mov dword [ebp - 0xa8], eax
mov dword [ebp + 0x10], edx
rep movsd dword es:[edi], dword [esi]
jmp 0x711b8d
mov eax, edi
sub eax, 0x43
je 0x710c3a
sub eax, 3
je 0x710aee
dec eax
dec eax
je 0x711309
dec eax
jne 0x711d24
mov eax, dword [ebp - 4]
dec dword [ebp - 4]
test eax, eax
jle 0x711b8d
mov eax, dword [ebp - 4]
lea esi, [eax + 1]
push 4
lea eax, [ebp - 0x2c]
push dword [ebp + 0x10]
push eax
call fcn.00766448
add dword [ebp + 0x10], 4
add esp, 0xc
cmp dword [ebp - 0x10], 0
jne 0x711863
push dword [ebp - 0x2c]
add dword [ebp - 8], 4
push ebx
call fcn.0073735f
push eax
push ebx
call fcn.00737012
mov ecx, dword [ebp - 8]
add esp, 0x10
mov dword [ecx], eax
jmp 0x711887
mov eax, dword [ebp - 4]
dec dword [ebp - 4]
test eax, eax
jle 0x711b8d
mov eax, dword [ebp - 4]
lea esi, [eax + 1]
push 8
lea eax, [ebp - 0x8c]
push dword [ebp + 0x10]
push eax
call fcn.00766448
add dword [ebp + 0x10], 8
add esp, 0xc
cmp dword [ebp - 0x10], 0
jne 0x710b46
fld qword [ebp - 0x8c]
add dword [ebp - 8], 4
push ecx
push ecx
fstp qword [esp]
push ebx
call fcn.007372c2
push eax
push ebx
call fcn.00737012
mov ecx, dword [ebp - 8]
add esp, 0x14
mov dword [ecx], eax
jmp 0x710b52
fld qword [ebp - 0x8c]
fadd qword [ebp - 0x1c]
fstp qword [ebp - 0x1c]
dec esi
dec dword [ebp - 4]
test esi, esi
ja 0x710b02
jmp 0x711b8d
mov eax, dword [ebp - 4]
dec dword [ebp - 4]
test eax, eax
jle 0x711b8d
mov eax, dword [ebp - 4]
lea esi, [eax + 1]
push 4
lea eax, [ebp - 0x4c]
push dword [ebp + 0x10]
push eax
call fcn.00766448
add dword [ebp + 0x10], 4
add esp, 0xc
cmp dword [ebp - 0x10], 0
jne 0x710bac
push dword [ebp - 0x4c]
add dword [ebp - 8], 4
push ebx
call fcn.0073735f
push eax
push ebx
call fcn.00737012
mov ecx, dword [ebp - 8]
add esp, 0x10
mov dword [ecx], eax
jmp 0x710bca
cmp dword [ebp - 0x10], 0x20
mov eax, dword [ebp - 0x4c]
jle 0x710bc7
and dword [ebp - 0x78], 0
mov dword [ebp - 0x7c], eax
fild qword [ebp - 0x7c]
fadd qword [ebp - 0x1c]
fstp qword [ebp - 0x1c]
jmp 0x710bca
add dword [ebp - 0xc], eax
dec esi
dec dword [ebp - 4]
test esi, esi
ja 0x710b73
jmp 0x711b8d
cmp edi, 0x56
jg 0x710e06
je 0x711afa
mov eax, edi
sub eax, 0x4c
je 0x711afa
push 2
pop ecx
sub eax, ecx
je 0x711afa
sub eax, ecx
je 0x710d8d
sub eax, 3
je 0x711a6c
sub eax, ecx
jne 0x711d24
cmp dword [ebp - 4], 0
jne 0x710c31
cmp byte [ebp + 0xb], 0
je 0x711b8d
mov eax, dword [ebp + 0xc]
or dword [eax + 0x20], 8
jmp 0x711b8d
mov eax, dword [ebp + 0xc]
test byte [eax + 0x20], 8
jne 0x710cab
cmp dword [ebp - 4], 0
jne 0x710c56
cmp byte [ebp + 0xb], 0
je 0x711b8d
mov eax, dword [ebp + 0xc]
and dword [eax + 0x20], 0xfffffff7
jmp 0x711b8d
cmp dword [ebp - 0x10], 0
jne 0x711070
mov eax, dword [ebp - 4]
dec dword [ebp - 4]
test eax, eax
jle 0x711c81
mov eax, dword [ebp - 4]
lea esi, [eax + 1]
mov eax, dword [ebp + 0x10]
add dword [ebp - 8], 4
mov al, byte [eax]
and eax, 0xff
inc dword [ebp + 0x10]
push eax
push ebx
mov dword [ebp - 0x2c], eax
call fcn.00737313
push eax
push ebx
call fcn.00737012
mov ecx, dword [ebp - 8]
add esp, 0x10
dec esi
dec dword [ebp - 4]
test esi, esi
mov dword [ecx], eax
ja 0x710c74
jmp 0x711c81
mov eax, dword [ebp - 4]
dec dword [ebp - 4]
test eax, eax
jle 0x711b8d
mov esi, dword [ebp + 0x10]
xor edi, edi
cmp esi, dword [ebp + 0x18]
jae 0x711b8d
mov eax, dword [ebx + 0x110]
cmp dword [eax + 0x30], edi
je 0x710cfd
mov eax, dword [ebx + 0x110]
cmp dword [eax + 0x30], 0x18
je 0x710cfd
mov eax, dword [ebx + 0x110]
cmp dword [eax + 0x30], 0xc
je 0x710d11
mov eax, dword [ebx + 0x110]
mov eax, dword [eax + 0x30]
mov eax, dword [eax]
mov eax, dword [eax]
test byte [eax + 0xb], 1
jne 0x710d11
mov eax, dword [ebx + 0x110]
cmp dword [eax + 0x30], edi
jne 0x710d15
test byte [ebx + 0x30f], 1
je 0x710d15
xor eax, eax
jmp 0x710d18
push 0x69
pop eax
push eax
lea eax, [ebp - 0x70]
push eax
mov eax, dword [ebp + 0x18]
sub eax, esi
push eax
push esi
push ebx
call fcn.00751679
add esi, dword [ebp - 0x70]
add esp, 0x14
cmp dword [ebp - 0x10], edi
mov dword [ebp - 0x2c], eax
mov dword [ebp + 0x10], esi
jne 0x710d57
add dword [ebp - 8], 4
push eax
push ebx
call fcn.0073735f
push eax
push ebx
call fcn.00737012
mov ecx, dword [ebp - 8]
add esp, 0x10
mov dword [ecx], eax
jmp 0x710d7a
cmp dword [ebp - 0x10], 0x20
jle 0x710d77
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], edi
fild qword [ebp - 0xa4]
fadd qword [ebp - 0x1c]
fstp qword [ebp - 0x1c]
jmp 0x710d7a
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
dec dword [ebp - 4]
test eax, eax
jg 0x710cbe
jmp 0x711b8d
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x18], ecx
jne 0x710da2
push 0x280b3e28
push ebx
call fcn.007552a2
pop ecx
pop ecx
mov eax, dword [ebx + 0x10]
push 4
sub eax, dword [ebp - 8]
pop esi
and al, 0xfc
cmp eax, esi
jge 0x710dc5
push 1
push dword [ebp - 8]
push dword [ebp - 8]
push ebx
call fcn.0072e01d
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp + 0x10]
cmp eax, esi
jb 0x711b8d
push esi
lea eax, [ebp - 0x38]
push dword [ebp + 0x10]
push eax
call fcn.00766448
push dword [ebp - 4]
add dword [ebp + 0x10], esi
add dword [ebp - 8], esi
push dword [ebp - 0x38]
push ebx
call fcn.007370d7
push eax
push ebx
call fcn.00737012
add esp, 0x20
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
jmp 0x711b8d
mov eax, edi
sub eax, 0x58
je 0x711a4a
dec eax
dec eax
je 0x710978
sub eax, 7
je 0x710978
dec eax
jne 0x711d24
cmp dword [ebp - 0x44], 2
je 0x710e3d
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp + 0x10]
shl eax, 3
cmp dword [ebp - 4], eax
jle 0x710e49
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp + 0x10]
shl eax, 3
mov dword [ebp - 4], eax
cmp dword [ebp - 0x10], 0
je 0x710f99
cmp dword [ebx + 0xc04], 0
jne 0x710eff
mov esi, 0x100
push esi
call fcn.00753bcd
push esi
push 0
push eax
mov dword [ebx + 0xc04], eax
call fcn.00766466
add esp, 0x10
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 0x14]
test al, 1
je 0x710e95
mov ecx, dword [ebx + 0xc04]
add ecx, eax
inc byte [ecx]
test al, 2
je 0x710ea3
mov ecx, dword [ebx + 0xc04]
add ecx, eax
inc byte [ecx]
test al, 4
je 0x710eb1
mov ecx, dword [ebx + 0xc04]
add ecx, eax
inc byte [ecx]
test al, 8
je 0x710ebf
mov ecx, dword [ebx + 0xc04]
add ecx, eax
inc byte [ecx]
test al, 0x10
je 0x710ecd
mov ecx, dword [ebx + 0xc04]
add ecx, eax
inc byte [ecx]
test al, 0x20
je 0x710edb
mov ecx, dword [ebx + 0xc04]
add ecx, eax
inc byte [ecx]
test al, 0x40
je 0x710ee9
mov ecx, dword [ebx + 0xc04]
add ecx, eax
inc byte [ecx]
test al, 0x80
je 0x710ef7
mov ecx, dword [ebx + 0xc04]
add ecx, eax
inc byte [ecx]
inc eax
cmp eax, esi
mov dword [ebp - 0x14], eax
jl 0x710e84
mov eax, dword [ebp - 4]
cmp eax, 8
jl 0x710f32
mov ecx, eax
mov edx, dword [ebx + 0xc04]
shr ecx, 3
mov esi, ecx
neg esi
lea eax, [eax + esi*8]
mov dword [ebp - 4], eax
mov esi, dword [ebp + 0x10]
movzx esi, byte [esi]
movsx esi, byte [esi + edx]
add dword [ebp - 0xc], esi
inc dword [ebp + 0x10]
dec ecx
jne 0x710f1c
mov edi, dword [ebp - 0x28]
test eax, eax
je 0x711b8d
mov ecx, dword [ebp + 0x10]
inc dword [ebp + 0x10]
cmp edi, 0x62
movsx ecx, byte [ecx]
mov dword [ebp - 0x14], ecx
mov ecx, eax
jne 0x710f76
dec eax
test ecx, ecx
mov dword [ebp - 4], eax
jle 0x711b8d
lea esi, [eax + 1]
test byte [ebp - 0x14], 1
je 0x710f65
inc dword [ebp - 0xc]
sar dword [ebp - 0x14], 1
dec esi
dec eax
test esi, esi
ja 0x710f5c
mov dword [ebp - 4], eax
jmp 0x711b8d
dec eax
test ecx, ecx
mov dword [ebp - 4], eax
jle 0x711b8d
lea esi, [eax + 1]
test byte [ebp - 0x14], 0x80
je 0x710f8e
inc dword [ebp - 0xc]
shl dword [ebp - 0x14], 1
dec esi
dec eax
test esi, esi
ja 0x710f85
jmp 0x710f6e
mov eax, dword [ebp - 4]
inc eax
push eax
push ebx
call fcn.007344f2
pop ecx
mov esi, eax
pop ecx
mov eax, dword [esi]
mov ecx, dword [ebp - 4]
mov dword [eax + 4], ecx
mov eax, dword [esi]
or word [esi + 0xa], 0x404
cmp edi, 0x62
mov eax, dword [eax]
jne 0x710ffa
and dword [ebp - 4], 0
mov dword [ebp - 0x20], ecx
test ecx, ecx
jle 0x711039
test byte [ebp - 4], 7
je 0x710fd5
sar dword [ebp - 0x14], 1
jmp 0x710fe1
mov ecx, dword [ebp + 0x10]
inc dword [ebp + 0x10]
movsx ecx, byte [ecx]
mov dword [ebp - 0x14], ecx
mov cl, byte [ebp - 0x14]
and cl, 1
add cl, 0x30
mov byte [eax], cl
inc eax
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x20]
jl 0x710fca
jmp 0x711039
mov edi, dword [ebp - 4]
and dword [ebp - 4], 0
test edi, edi
mov dword [ebp - 0x20], edi
jle 0x711039
test byte [ebp - 4], 7
je 0x711013
shl dword [ebp - 0x14], 1
jmp 0x71101f
mov ecx, dword [ebp + 0x10]
inc dword [ebp + 0x10]
movsx ecx, byte [ecx]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
shr ecx, 7
and cl, 1
add cl, 0x30
mov byte [eax], cl
inc eax
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x20]
jl 0x711008
and byte [eax], 0
mov eax, dword [ebx + 0x10]
mov edi, dword [ebp - 8]
sub eax, edi
and al, 0xfc
cmp eax, 4
jge 0x71105a
push 1
push edi
push edi
push ebx
call fcn.0072e01d
add esp, 0x10
mov edi, eax
add edi, 4
push esi
push ebx
mov dword [ebp - 8], edi
call fcn.00737012
pop ecx
mov dword [edi], eax
pop ecx
jmp 0x711c81
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp - 4]
dec dword [ebp - 4]
test eax, eax
jle 0x711b8d
mov eax, dword [ebp - 4]
lea ecx, [eax + 1]
mov al, byte [esi]
and eax, 0xff
inc esi
cmp dword [ebp - 0x10], 0x20
mov dword [ebp - 0x2c], eax
jle 0x7110b3
and dword [ebp - 0x98], 0
mov dword [ebp - 0x9c], eax
fild qword [ebp - 0x9c]
fadd qword [ebp - 0x1c]
fstp qword [ebp - 0x1c]
jmp 0x7110b6
add dword [ebp - 0xc], eax
dec ecx
dec dword [ebp - 4]
test ecx, ecx
ja 0x711087
mov dword [ebp + 0x10], esi
jmp 0x711b8d
push dword [ebp - 4]
push esi
push ebx
call fcn.007370d7
add esp, 0xc
cmp dword [ebp - 4], 0
mov edi, eax
jle 0x71114b
cmp dword [ebp - 0x28], 0x41
je 0x7110e7
cmp dword [ebp - 0x28], 0x5a
jne 0x71114b
cmp dword [ebp - 0x28], 0x5a
mov dword [ebp - 0x38], esi
mov eax, dword [edi]
jne 0x71110e
mov ecx, dword [eax]
mov eax, ecx
cmp byte [eax], 0
je 0x7110fe
inc eax
jmp 0x7110f6
cmp dword [ebp - 0x44], 2
jne 0x711141
mov edx, eax
sub edx, ecx
inc edx
mov dword [ebp - 4], edx
jmp 0x711141
mov edx, dword [eax]
mov eax, dword [ebp - 4]
lea eax, [edx + eax - 1]
cmp eax, edx
jb 0x71113d
mov cl, byte [eax]
test cl, cl
je 0x71113a
cmp cl, 0x20
je 0x71113a
cmp cl, 9
je 0x71113a
cmp cl, 0xa
je 0x71113a
cmp cl, 0xd
je 0x71113a
cmp cl, 0xc
jne 0x71113d
dec eax
jmp 0x711117
inc eax
and byte [eax], 0
mov ecx, dword [edi]
sub eax, dword [ecx]
mov dword [ecx + 4], eax
mov esi, dword [ebp - 0x38]
add esi, dword [ebp - 4]
mov eax, dword [ebx + 0x10]
mov dword [ebp + 0x10], esi
mov esi, dword [ebp - 8]
sub eax, esi
and al, 0xfc
cmp eax, 4
jge 0x71116f
push 1
push esi
push esi
push ebx
call fcn.0072e01d
add esp, 0x10
mov esi, eax
add esi, 4
push edi
push ebx
mov dword [ebp - 8], esi
call fcn.00737012
pop ecx
mov dword [esi], eax
pop ecx
jmp 0x711c81
mov esi, dword [ebp - 4]
mov eax, esi
dec esi
test eax, eax
mov dword [ebp - 4], esi
jle 0x711b8d
inc esi
mov eax, dword [ebp + 0x10]
inc dword [ebp + 0x10]
movsx eax, byte [eax]
cmp eax, 0x80
mov dword [ebp - 0x20], eax
jl 0x7111b2
sub eax, 0x100
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x10], 0
jne 0x7111d4
add dword [ebp - 8], 4
push eax
push ebx
call fcn.00737313
push eax
push ebx
call fcn.00737012
mov ecx, dword [ebp - 8]
add esp, 0x10
mov dword [ecx], eax
jmp 0x7111e8
cmp dword [ebp - 0x10], 0x20
jle 0x7111e5
fild dword [ebp - 0x20]
fadd qword [ebp - 0x1c]
fstp qword [ebp - 0x1c]
jmp 0x7111e8
add dword [ebp - 0xc], eax
dec esi
dec dword [ebp - 4]
test esi, esi
ja 0x711197
jmp 0x711b8d
mov eax, 0x149
cmp edi, eax
jg 0x711898
je 0x710a9a
cmp edi, 0x6e
jg 0x7114db
je 0x711a6c
mov eax, edi
sub eax, 0x64
je 0x711473
dec eax
dec eax
je 0x71140b
dec eax
dec eax
je 0x711309
dec eax
je 0x7119bf
dec eax
je 0x711298
dec eax
dec eax
jne 0x711d24
mov eax, dword [ebp - 4]
dec dword [ebp - 4]
test eax, eax
jle 0x711b8d
mov eax, dword [ebp - 4]
lea esi, [eax + 1]
push 4
lea eax, [ebp - 0x58]
push dword [ebp + 0x10]
push eax
call fcn.00766448
add dword [ebp + 0x10], 4
add esp, 0xc
cmp dword [ebp - 0x10], 0
jne 0x711997
push dword [ebp - 0x58]
add dword [ebp - 8], 4
push ebx
call fcn.00737313
push eax
push ebx
call fcn.00737012
mov ecx, dword [ebp - 8]
add esp, 0x10
mov dword [ecx], eax
jmp 0x7119ae
mov eax, dword [ebp - 4]
dec dword [ebp - 4]
test eax, eax
jle 0x711b8d
mov eax, dword [ebp - 4]
lea esi, [eax + 1]
push 4
lea eax, [ebp - 0x48]
push dword [ebp + 0x10]
push eax
call fcn.00766448
add dword [ebp + 0x10], 4
add esp, 0xc
cmp dword [ebp - 0x10], 0
jne 0x7112e5
push dword [ebp - 0x48]
add dword [ebp - 8], 4
push ebx
call fcn.00737313
push eax
push ebx
call fcn.00737012
mov ecx, dword [ebp - 8]
add esp, 0x10
mov dword [ecx], eax
jmp 0x7112fc
cmp dword [ebp - 0x10], 0x20
jle 0x7112f6
fild dword [ebp - 0x48]
fadd qword [ebp - 0x1c]
fstp qword [ebp - 0x1c]
jmp 0x7112fc
mov eax, dword [ebp - 0x48]
add dword [ebp - 0xc], eax
dec esi
dec dword [ebp - 4]
test esi, esi
ja 0x7112ac
jmp 0x711b8d
cmp dword [ebp - 0x44], 2
je 0x71131c
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp + 0x10]
shl eax, 1
cmp dword [ebp - 4], eax
jle 0x711327
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp + 0x10]
shl eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
inc eax
push eax
push ebx
call fcn.007344f2
pop ecx
mov esi, eax
pop ecx
mov eax, dword [esi]
mov ecx, dword [ebp - 4]
mov dword [eax + 4], ecx
mov eax, dword [esi]
or word [esi + 0xa], 0x404
cmp edi, 0x68
mov eax, dword [eax]
jne 0x71138f
and dword [ebp - 4], 0
mov dword [ebp - 0x20], ecx
test ecx, ecx
jle 0x7113d5
test byte [ebp - 4], 1
je 0x711364
sar dword [ebp - 0x14], 4
jmp 0x711370
mov ecx, dword [ebp + 0x10]
inc dword [ebp + 0x10]
movsx ecx, byte [ecx]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
mov edx, dword [0x280a8674]
and ecx, 0xf
mov cl, byte [ecx + edx]
mov byte [eax], cl
inc eax
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x20]
jl 0x711358
jmp 0x7113d5
mov edi, dword [ebp - 4]
and dword [ebp - 4], 0
test edi, edi
mov dword [ebp - 0x20], edi
jle 0x7113d5
test byte [ebp - 4], 1
je 0x7113a9
shl dword [ebp - 0x14], 4
jmp 0x7113b5
mov ecx, dword [ebp + 0x10]
inc dword [ebp + 0x10]
movsx ecx, byte [ecx]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
mov edx, dword [0x280a8674]
sar ecx, 4
and ecx, 0xf
mov cl, byte [ecx + edx]
mov byte [eax], cl
inc eax
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x20]
jl 0x71139d
and byte [eax], 0
mov eax, dword [ebx + 0x10]
sub eax, dword [ebp - 8]
and al, 0xfc
cmp eax, 4
jge 0x7113f9
push 1
push dword [ebp - 8]
push dword [ebp - 8]
push ebx
call fcn.0072e01d
add esp, 0x10
mov dword [ebp - 8], eax
add dword [ebp - 8], 4
push esi
push ebx
call fcn.00737012
pop ecx
pop ecx
jmp 0x710dfc
mov eax, dword [ebp - 4]
dec dword [ebp - 4]
test eax, eax
jle 0x711b8d
mov eax, dword [ebp - 4]
lea esi, [eax + 1]
push 4
lea eax, [ebp - 0x64]
push dword [ebp + 0x10]
push eax
call fcn.00766448
add dword [ebp + 0x10], 4
add esp, 0xc
cmp dword [ebp - 0x10], 0
jne 0x71145d
fld dword [ebp - 0x64]
add dword [ebp - 8], 4
push ecx
push ecx
fstp qword [esp]
push ebx
call fcn.007372c2
push eax
push ebx
call fcn.00737012
mov ecx, dword [ebp - 8]
add esp, 0x14
mov dword [ecx], eax
jmp 0x711466
fld dword [ebp - 0x64]
fadd qword [ebp - 0x1c]
fstp qword [ebp - 0x1c]
dec esi
dec dword [ebp - 4]
test esi, esi
ja 0x71141f
jmp 0x711b8d
mov eax, dword [ebp - 4]
dec dword [ebp - 4]
test eax, eax
jle 0x711b8d
mov eax, dword [ebp - 4]
lea esi, [eax + 1]
push 8
lea eax, [ebp - 0x60]
push dword [ebp + 0x10]
push eax
call fcn.00766448
add dword [ebp + 0x10], 8
add esp, 0xc
cmp dword [ebp - 0x10], 0
jne 0x7114c5
fld qword [ebp - 0x60]
add dword [ebp - 8], 4
push ecx
push ecx
fstp qword [esp]
push ebx
call fcn.007372c2
push eax
push ebx
call fcn.00737012
mov ecx, dword [ebp - 8]
add esp, 0x14
mov dword [ecx], eax
jmp 0x7114ce
fld qword [ebp - 0x60]
fadd qword [ebp - 0x1c]
fstp qword [ebp - 0x1c]
dec esi
dec dword [ebp - 4]
test esi, esi
ja 0x711487
jmp 0x711b8d
mov eax, edi
sub eax, 0x70
je 0x711812
sub eax, 3
je 0x711920
dec eax
dec eax
je 0x71162e
dec eax
je 0x711a6c
dec eax
je 0x71150d
dec eax
jne 0x711d24
jmp 0x7118fe
mov edi, dword [ebp + 0x10]
xor esi, esi
xor eax, eax
cmp dword [ebp - 4], esi
mov dword [ebp + 8], esi
jle 0x71160a
cmp edi, dword [ebp + 0x18]
jae 0x711613
mov cl, byte [edi]
mov dl, cl
and edx, 0x7f
shl eax, 7
or eax, edx
inc edi
cmp cl, 0x80
mov dword [ebp + 0x10], edi
jae 0x711565
add dword [ebp - 8], 4
push eax
push ebx
mov dword [ebp + 8], esi
call fcn.0073735f
push eax
push ebx
call fcn.00737012
mov ecx, dword [ebp - 8]
add esp, 0x10
dec dword [ebp - 4]
mov dword [ecx], eax
xor eax, eax
jmp 0x711601
inc dword [ebp + 8]
cmp dword [ebp + 8], 4
jb 0x711601
push eax
push 0xa
push 0x280b3e20
push ebx
call fcn.00737244
add esp, 0x10
mov esi, eax
cmp edi, dword [ebp + 0x18]
jae 0x7115ab
mov al, byte [edi]
and al, 0x7f
push eax
push esi
push ebx
call fcn.00711d8a
mov esi, eax
mov al, byte [edi]
add esp, 0xc
and al, 0x80
inc edi
test al, al
mov dword [ebp + 0x10], edi
jne 0x711585
and dword [ebp + 8], 0
mov ecx, dword [esi + 8]
mov eax, 0x40000
and ecx, eax
cmp ecx, eax
jne 0x7115c7
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov dword [ebp - 0x6c], eax
mov eax, dword [esi]
mov eax, dword [eax]
jmp 0x7115d7
lea eax, [ebp - 0x6c]
push 2
push eax
push esi
push ebx
call fcn.00732144
add esp, 0x10
cmp byte [eax], 0x30
jne 0x7115df
inc eax
jmp 0x7115d7
push eax
push esi
push ebx
call fcn.007340b7
add dword [ebp - 8], 4
push esi
push ebx
call fcn.00737012
mov ecx, dword [ebp - 8]
add esp, 0x14
dec dword [ebp - 4]
mov dword [ecx], eax
xor eax, eax
xor esi, esi
cmp dword [ebp - 4], esi
jg 0x711520
cmp edi, dword [ebp + 0x18]
jb 0x711b8d
cmp dword [ebp + 8], esi
je 0x711b8d
push 0x280b3df4
push ebx
call fcn.007552a2
pop ecx
pop ecx
jmp 0x711b8d
cmp byte [ebx + 0xb4e], 0
jne 0x711654
xor eax, eax
movzx ecx, byte [eax + 0x28099828]
mov byte [ecx + ebx + 0xb01], al
inc eax
cmp eax, 0x41
jb 0x711639
and byte [ebx + 0xb21], 0
mov eax, dword [ebp + 0x18]
push 4
sub eax, dword [ebp + 0x10]
pop ecx
lea eax, [eax + eax*2]
cdq
idiv ecx
mov esi, eax
push esi
push ebx
call fcn.007344f2
pop ecx
mov edi, eax
test esi, esi
pop ecx
je 0x71167a
or word [edi + 0xa], 0x404
mov eax, dword [ebp + 0x18]
cmp dword [ebp + 0x10], eax
jae 0x7117de
mov eax, dword [ebp + 0x10]
mov al, byte [eax]
cmp al, 0x20
jle 0x7117de
cmp al, 0x61
jge 0x7117de
mov eax, dword [ebp + 0x10]
and byte [ebp - 0x3d], 0
movzx eax, byte [eax]
mov al, byte [eax + ebx + 0xb01]
and eax, 0x3f
inc dword [ebp + 0x10]
test eax, eax
mov dword [ebp - 4], eax
jle 0x7117af
mov esi, dword [ebp + 0x10]
mov edx, dword [ebp + 0x18]
cmp esi, edx
jae 0x7116e4
mov al, byte [esi]
cmp al, 0x20
jl 0x7116e4
cmp al, 0x61
jge 0x7116e4
movzx eax, al
mov cl, byte [eax + ebx + 0xb01]
and ecx, 0x3f
inc esi
mov dword [ebp + 0x10], esi
jmp 0x7116e6
xor ecx, ecx
cmp esi, edx
jae 0x71170a
mov al, byte [esi]
cmp al, 0x20
jl 0x71170a
cmp al, 0x61
jge 0x71170a
movzx eax, al
mov al, byte [eax + ebx + 0xb01]
and eax, 0x3f
inc esi
mov dword [ebp + 8], eax
mov dword [ebp + 0x10], esi
jmp 0x71170e
and dword [ebp + 8], 0
cmp esi, edx
jae 0x71172f
mov al, byte [esi]
cmp al, 0x20
jl 0x71172f
cmp al, 0x61
jge 0x71172f
movzx eax, al
mov al, byte [eax + ebx + 0xb01]
and eax, 0x3f
inc esi
mov dword [ebp + 0x10], esi
jmp 0x711731
xor eax, eax
cmp esi, edx
jae 0x711757
mov dl, byte [esi]
cmp dl, 0x20
jl 0x711757
cmp dl, 0x61
jge 0x711757
movzx edx, dl
mov dl, byte [edx + ebx + 0xb01]
and edx, 0x3f
inc esi
mov dword [ebp - 0x28], edx
mov dword [ebp + 0x10], esi
jmp 0x71175b
and dword [ebp - 0x28], 0
mov edx, dword [ebp + 8]
sar edx, 4
shl cl, 2
or dl, cl
mov cl, byte [ebp + 8]
mov byte [ebp - 0x40], dl
mov edx, eax
shl al, 6
or al, byte [ebp - 0x28]
sar edx, 2
shl cl, 4
or dl, cl
cmp dword [ebp - 4], 3
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x3e], al
jle 0x71178d
push 3
pop eax
jmp 0x711790
mov eax, dword [ebp - 4]
push 2
push eax
lea eax, [ebp - 0x40]
push eax
push edi
push ebx
call fcn.007341a3
sub dword [ebp - 4], 3
add esp, 0x14
cmp dword [ebp - 4], 0
jg 0x7116bd
mov eax, dword [ebp + 0x10]
cmp byte [eax], 0xa
jne 0x7117bf
inc dword [ebp + 0x10]
jmp 0x71167a
mov eax, dword [ebp + 0x10]
inc eax
cmp eax, dword [ebp + 0x18]
jae 0x71167a
cmp byte [eax], 0xa
jne 0x71167a
add dword [ebp + 0x10], 2
jmp 0x71167a
mov eax, dword [ebx + 0x10]
mov esi, dword [ebp - 8]
sub eax, esi
and al, 0xfc
cmp eax, 4
jge 0x7117fc
push 1
push esi
push esi
push ebx
call fcn.0072e01d
add esp, 0x10
mov esi, eax
add esi, 4
push edi
push ebx
mov dword [ebp - 8], esi
call fcn.00737012
pop ecx
mov dword [esi], eax
pop ecx
jmp 0x711b8d
mov eax, dword [ebp - 4]
dec dword [ebp - 4]
test eax, eax
jle 0x711b8d
mov eax, dword [ebp - 4]
lea esi, [eax + 1]
push 4
lea eax, [ebp - 0x38]
push dword [ebp + 0x10]
push eax
call fcn.00766448
add dword [ebp + 0x10], 4
add dword [ebp - 8], 4
push 0
push dword [ebp - 0x38]
push ebx
call fcn.00737078
push eax
push ebx
call fcn.00737012
mov ecx, dword [ebp - 8]
add esp, 0x20
dec esi
dec dword [ebp - 4]
test esi, esi
mov dword [ecx], eax
ja 0x711826
jmp 0x711b8d
cmp dword [ebp - 0x10], 0x20
mov eax, dword [ebp - 0x2c]
jle 0x711884
and dword [ebp - 0x80], 0
mov dword [ebp - 0x84], eax
fild qword [ebp - 0x84]
fadd qword [ebp - 0x1c]
fstp qword [ebp - 0x1c]
jmp 0x711887
add dword [ebp - 0xc], eax
dec esi
dec dword [ebp - 4]
test esi, esi
ja 0x710aae
jmp 0x711b8d
mov eax, edi
sub eax, 0x14c
je 0x711afa
sub eax, 7
je 0x711a6c
sub eax, 5
je 0x711a30
sub eax, 0x11
je 0x7119bf
sub eax, 3
je 0x711244
sub eax, 7
je 0x711920
sub eax, 5
jne 0x711d24
cmp dword [ebp - 4], 0
jne 0x7118e4
mov dword [ebp - 4], 1
mov eax, dword [ebp + 0x10]
sub eax, dword [ebp + 0x14]
cdq
idiv dword [ebp - 4]
test edx, edx
mov dword [ebp - 0x20], edx
je 0x7118fa
sub dword [ebp - 4], edx
jmp 0x7118fe
and dword [ebp - 4], 0
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 0x10]
sub eax, esi
cmp dword [ebp - 4], eax
jle 0x711918
push 0x280b3dd4
push ebx
call fcn.007552a2
pop ecx
pop ecx
add esi, dword [ebp - 4]
jmp 0x7110be
mov eax, dword [ebp - 4]
dec dword [ebp - 4]
test eax, eax
jle 0x711b8d
mov eax, dword [ebp - 4]
lea esi, [eax + 1]
push 2
lea eax, [ebp - 0x30]
push dword [ebp + 0x10]
push eax
call fcn.00766448
add dword [ebp + 0x10], 2
add esp, 0xc
cmp dword [ebp - 0x10], 0
jne 0x71196f
movsx eax, word [ebp - 0x30]
add dword [ebp - 8], 4
push eax
push ebx
call fcn.00737313
push eax
push ebx
call fcn.00737012
mov ecx, dword [ebp - 8]
add esp, 0x10
mov dword [ecx], eax
jmp 0x71198a
cmp dword [ebp - 0x10], 0x20
movsx eax, word [ebp - 0x30]
jle 0x711987
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fadd qword [ebp - 0x1c]
fstp qword [ebp - 0x1c]
jmp 0x71198a
add dword [ebp - 0xc], eax
dec esi
dec dword [ebp - 4]
test esi, esi
ja 0x711934
jmp 0x711b8d
cmp dword [ebp - 0x10], 0x20
jle 0x7119a8
fild dword [ebp - 0x58]
fadd qword [ebp - 0x1c]
fstp qword [ebp - 0x1c]
jmp 0x7119ae
mov eax, dword [ebp - 0x58]
add dword [ebp - 0xc], eax
dec esi
dec dword [ebp - 4]
test esi, esi
ja 0x711258
jmp 0x711b8d
mov eax, dword [ebp - 4]
dec dword [ebp - 4]
test eax, eax
jle 0x711b8d
mov eax, dword [ebp - 4]
lea esi, [eax + 1]
push 4
lea eax, [ebp - 0x20]
push dword [ebp + 0x10]
push eax
call fcn.00766448
add dword [ebp + 0x10], 4
add esp, 0xc
cmp dword [ebp - 0x10], 0
jne 0x711a0c
push dword [ebp - 0x20]
add dword [ebp - 8], 4
push ebx
call fcn.00737313
push eax
push ebx
call fcn.00737012
mov ecx, dword [ebp - 8]
add esp, 0x10
mov dword [ecx], eax
jmp 0x711a23
cmp dword [ebp - 0x10], 0x20
jle 0x711a1d
fild dword [ebp - 0x20]
fadd qword [ebp - 0x1c]
fstp qword [ebp - 0x1c]
jmp 0x711a23
mov eax, dword [ebp - 0x20]
add dword [ebp - 0xc], eax
dec esi
dec dword [ebp - 4]
test esi, esi
ja 0x7119d3
jmp 0x711b8d
cmp dword [ebp - 4], 0
jne 0x711a3d
mov dword [ebp - 4], 1
mov eax, dword [ebp + 0x10]
sub eax, dword [ebp + 0x14]
cdq
idiv dword [ebp - 4]
mov dword [ebp - 4], edx
mov esi, dword [ebp + 0x10]
mov eax, esi
sub eax, dword [ebp + 0x14]
cmp dword [ebp - 4], eax
jle 0x711a64
push 0x280b3db4
push ebx
call fcn.007552a2
pop ecx
pop ecx
sub esi, dword [ebp - 4]
jmp 0x7110be
mov eax, dword [ebp - 4]
dec dword [ebp - 4]
test eax, eax
jle 0x711b8d
mov eax, dword [ebp - 4]
lea esi, [eax + 1]
push 2
lea eax, [ebp - 0x34]
push dword [ebp + 0x10]
push eax
call fcn.00766448
add dword [ebp + 0x10], 2
add esp, 0xc
cmp edi, 0x6e
jne 0x711aac
push dword [ebp - 0x34]
mov eax, dword [ebx + 0xc2c]
push eax
call dword [eax + 0xc]
pop ecx
mov dword [ebp - 0x34], eax
pop ecx
cmp dword [ebp - 0x10], 0
jne 0x711ad2
movzx eax, word [ebp - 0x34]
add dword [ebp - 8], 4
push eax
push ebx
call fcn.00737313
push eax
push ebx
call fcn.00737012
mov ecx, dword [ebp - 8]
add esp, 0x10
mov dword [ecx], eax
jmp 0x711aed
cmp dword [ebp - 0x10], 0x20
movzx eax, word [ebp - 0x34]
jle 0x711aea
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fadd qword [ebp - 0x1c]
fstp qword [ebp - 0x1c]
jmp 0x711aed
add dword [ebp - 0xc], eax
dec esi
dec dword [ebp - 4]
test esi, esi
ja 0x711a80
jmp 0x711b8d
mov eax, dword [ebp - 4]
dec dword [ebp - 4]
test eax, eax
jle 0x711b8d
mov eax, dword [ebp - 4]
lea esi, [eax + 1]
push 4
lea eax, [ebp - 0x3c]
push dword [ebp + 0x10]
push eax
call fcn.00766448
add dword [ebp + 0x10], 4
add esp, 0xc
cmp edi, 0x4e
jne 0x711b3a
push dword [ebp - 0x3c]
mov eax, dword [ebx + 0xc2c]
push eax
call dword [eax + 8]
pop ecx
mov dword [ebp - 0x3c], eax
pop ecx
cmp dword [ebp - 0x10], 0
jne 0x711b5e
push dword [ebp - 0x3c]
add dword [ebp - 8], 4
push ebx
call fcn.0073735f
push eax
push ebx
call fcn.00737012
mov ecx, dword [ebp - 8]
add esp, 0x10
mov dword [ecx], eax
jmp 0x711b85
cmp dword [ebp - 0x10], 0x20
mov eax, dword [ebp - 0x3c]
jle 0x711b82
and dword [ebp - 0x90], 0
mov dword [ebp - 0x94], eax
fild qword [ebp - 0x94]
fadd qword [ebp - 0x1c]
fstp qword [ebp - 0x1c]
jmp 0x711b85
add dword [ebp - 0xc], eax
dec esi
dec dword [ebp - 4]
test esi, esi
ja 0x711b0e
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x711c81
push dword [ebp - 0x54]
mov edi, dword [0x2809918c]
push 0x280b3dac
call edi
pop ecx
test eax, eax
pop ecx
jne 0x711be0
cmp esi, 0x20
jle 0x711bc6
push dword [ebp - 0x54]
push 0x280b3d98
call edi
pop ecx
test eax, eax
pop ecx
jne 0x711be0
cmp esi, 0x20
jge 0x711bd3
push 1
mov ecx, esi
pop eax
shl eax, cl
dec eax
and dword [ebp - 0xc], eax
push dword [ebp - 0xc]
push ebx
call fcn.0073735f
pop ecx
pop ecx
jmp 0x711c4c
mov ecx, esi
push 1
and ecx, 0xf
pop eax
shl eax, cl
cmp esi, 0x10
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fst qword [ebp - 0x60]
jl 0x711c0d
shr esi, 4
mov eax, esi
fld st(0)
fmul qword [0x28099b70]
dec eax
fstp st(1)
jne 0x711bfd
fst qword [ebp - 0x60]
fld qword [ebp - 0x1c]
fcom qword [0x28099420]
fnstsw ax
sahf
jae 0x711c21
fld st(1)
faddp st(1)
jmp 0x711c10
fdiv st(1)
lea eax, [ebp - 0xd0]
push eax
push ecx
push ecx
fstp qword [esp]
fstp st(0)
call dword [0x28099234]
fmul qword [ebp - 0x60]
add esp, 4
fst qword [ebp - 0x1c]
fstp qword [esp]
push ebx
call fcn.007372c2
add esp, 0xc
mov esi, dword [ebp - 8]
mov edi, eax
mov eax, dword [ebx + 0x10]
sub eax, esi
and al, 0xfc
cmp eax, 4
jge 0x711c6c
push 1
push esi
push esi
push ebx
call fcn.0072e01d
add esp, 0x10
mov esi, eax
add esi, 4
push edi
push ebx
mov dword [ebp - 8], esi
call fcn.00737012
and dword [ebp - 0x10], 0
pop ecx
pop ecx
mov dword [esi], eax
mov esi, dword [ebp + 0xc]
test byte [esi + 0x20], 4
je 0x711d58
mov eax, dword [ebp - 8]
sub eax, dword [ebx + 0xc]
sar eax, 2
sub eax, dword [ebp - 0x50]
test eax, eax
jg 0x711cab
push 0x280b3e54
push ebx
call fcn.007552a2
pop ecx
pop ecx
push esi
push ebx
call fcn.00711e7d
pop ecx
test al, al
pop ecx
je 0x711d08
cmp dword [esi + 0x18], 1
jne 0x711ccb
push 0x280b3d74
push ebx
call fcn.007552a2
pop ecx
pop ecx
cmp byte [ebp - 0x2d], 0
je 0x711cd8
push 0x280b3d48
jmp 0x711d0d
mov eax, dword [ebp - 8]
sub dword [ebp - 8], 4
mov eax, dword [eax]
mov dword [ebx + 0x54], eax
test byte [eax + 0xa], 1
je 0x711cf1
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
jmp 0x711cfa
push eax
push ebx
call fcn.00730ee5
pop ecx
pop ecx
test eax, eax
mov dword [ebp - 4], eax
jge 0x711d15
push 0x280b3d28
jmp 0x711d0d
push 0x280b3d04
push ebx
call fcn.007552a2
pop ecx
pop ecx
mov eax, dword [esi + 0x10]
and byte [ebp + 0xb], 0
mov dword [ebp - 0x28], eax
jmp 0x710868
and edi, 0xff
push edi
push 0x280b3ce8
push ebx
call fcn.007552a2
add esp, 0xc
cmp dword [ebp - 0x44], 0
jne 0x711d46
mov dword [ebp - 4], 0x10
mov eax, dword [ebp - 4]
and dword [ebp - 0xc], 0
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
fldz
fstp qword [ebp - 0x1c]
push esi
push ebx
call fcn.00711e7d
mov esi, dword [ebp - 0x50]
pop ecx
test al, al
pop ecx
jne 0x71081a
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x711d78
mov ecx, dword [ebp + 0x10]
mov dword [eax], ecx
mov eax, dword [ebp - 8]
pop edi
mov dword [ebx], eax
sub eax, dword [ebx + 0xc]
sar eax, 2
sub eax, esi
pop esi
pop ebx
leave
ret