Function at 0x761f30
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov eax, dword [0x91db50]
sub esp, 0x48
push edi
mov byte [eax + 0x111], 0
mov eax, dword [0xeebb30]
mov edi, 1
cmp eax, edi
jne 0x762f26
mov ecx, dword [0x91cfa4]
mov al, byte [ecx + 0xa5]
test al, al
jne 0x762f26
push ebx
push esi
push edi
call fcn.0075b6d0
movzx ecx, byte [eax + 0xd8]
imul ecx, ecx, 0x274
movzx edx, byte [ecx + 0xe7ea80]
imul edx, edx, 0xab
mov bl, byte [edx + ecx + 0xe7eb27]
add esp, 4
cmp bl, 2
jne 0x761fc0
lea ecx, [eax + 0x291]
mov edx, 0xb
mov al, byte [ecx]
cmp al, 0x2b
je 0x761fac
cmp al, 0x2c
jne 0x761fb0
mov byte [ecx - 8], 0
add ecx, 0x4c0
dec edx
jne 0x761fa2
pop esi
pop ebx
pop edi
add esp, 0x48
ret
mov esi, dword [0x91d3f0]
fld dword [esi + 0x18]
call fcn.0043bd30
test eax, eax
jg 0x761fd4
neg eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fcomp dword [0x8cb958]
fld dword [esi + 0x18]
fnstsw ax
test ah, 0x41
jne 0x762011
fcomp dword [0x879dc4]
mov dword [esp + 0x18], 0xffffffff
fnstsw ax
test ah, 5
jnp 0x762005
mov dword [esp + 0x18], edi
fild dword [esp + 0x18]
fmul dword [0x8cb958]
jmp 0x76203b
push 3
call fcn.0043bd30
mov ecx, dword [0x91db50]
fld dword [ecx + 0x38]
push eax
call fcn.0043bd30
push eax
call fcn.006628b0
movsx edx, ax
mov dword [esp + 0x30], edx
add esp, 0xc
fild dword [esp + 0x24]
mov eax, dword [0x91db50]
fstp dword [eax + 0x38]
mov ecx, dword [0x91db50]
mov al, byte [ecx + 0xe3]
test al, al
jne 0x76206f
mov edx, dword [0x925118]
cmp byte [edx], 0
jne 0x76206f
push 0xff
call fcn.006ace10
add esp, 4
cmp al, 4
jb 0x76209d
mov eax, dword [0x91db50]
fld dword [eax + 0x38]
push 3
push 0
call fcn.0043bd30
push eax
call fcn.006628b0
mov edx, dword [0x91db50]
movsx ecx, ax
mov dword [esp + 0x30], ecx
add esp, 0xc
fild dword [esp + 0x24]
fstp dword [edx + 0x38]
or eax, 0xffffffff
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
push 0
mov word [esp + 0x54], ax
call fcn.0075b6d0
add esp, 4
mov ecx, eax
xor bl, bl
mov esi, 0xa
mov al, byte [ecx + 1]
test al, al
je 0x76212a
mov al, byte [ecx + 0x28d]
test al, al
je 0x76210d
cmp al, 0xff
je 0x7620e2
movzx eax, al
cdq
mov edi, 0x17
idiv edi
jmp 0x7620e7
mov edx, 1
imul edx, edx, 0x4c0
add edx, 0xd92230
cmp byte [edx + 0x291], 0x27
jne 0x76210d
movzx eax, byte [edx + 0x292]
sub eax, 5
je 0x76212a
sub eax, 2
je 0x76212a
cmp byte [ecx + 0xda], 0xb
je 0x76212a
cmp byte [ecx + 0x288], 3
jne 0x76212a
mov al, byte [ecx]
movzx edx, bl
mov byte [esp + edx + 0x48], al
inc bl
add ecx, 0x4c0
dec esi
jne 0x7620c0
push ecx
call fcn.00760340
mov ecx, dword [0x91db50]
mov byte [ecx + 0x110], al
mov eax, dword [0x91db50]
mov cl, byte [eax + 0x110]
add esp, 4
cmp cl, 2
jne 0x762184
inc byte [eax + 0x3c]
mov eax, dword [0x91db50]
movzx edx, byte [eax + 0x3c]
and edx, 0x80000003
jns 0x762171
dec edx
or edx, 0xfffffffc
inc edx
mov byte [eax + 0x3c], dl
mov eax, dword [0x91db50]
mov cl, byte [eax + 0x3c]
test cl, cl
jne case.0x762d73.2
push 1
call fcn.0075b6d0
add esp, 4
mov esi, eax
mov edi, 0xa
mov al, byte [esi + 0x289]
test al, al
je 0x7621df
push esi
call fcn.007601b0
add esp, 4
test al, al
jne 0x7621d8
mov al, byte [esi + 0x289]
cmp al, 0xff
je 0x7621c3
movzx eax, al
cdq
mov ecx, 0x17
idiv ecx
jmp 0x7621c8
mov edx, 1
imul edx, edx, 0x4c0
mov al, byte [edx + 0xd924b8]
test al, al
jne 0x7621df
mov byte [esi + 0x289], 0
add esi, 0x4c0
dec edi
jne 0x762195
xor eax, eax
mov ecx, 0xa
nop
mov edx, dword [0x91db50]
mov byte [eax + edx + 0x94], 0xff
inc eax
dec ecx
jne 0x7621f0
push 1
call fcn.0075b6d0
mov esi, eax
mov cl, byte [esi + 0xd9]
xor eax, eax
add esp, 4
test cl, cl
sete al
mov byte [esp + 0xd], 0
mov dword [esp + 0x14], 0xa
lea eax, [eax + eax - 1]
mov dword [esp + 0x18], eax
push esi
call fcn.007601b0
add esp, 4
test al, al
jne 0x7624b2
movzx ecx, byte [esi + 0xd9]
fld dword [esi + 0x2c4]
mov edx, dword [0x91cfa4]
fsub dword [edx + ecx*4 + 0x64]
call fcn.0043bd30
test eax, eax
jg 0x762263
neg eax
cmp eax, 0x1000
jg 0x7624b2
cmp byte [esi + 0xd6], 0xa
jb 0x762285
mov al, byte [esi + 0x289]
test al, al
je 0x7624b2
movzx eax, byte [esi + 0xd8]
imul eax, eax, 0x274
movzx ecx, byte [eax + 0xe7ea80]
imul ecx, ecx, 0xab
add eax, ecx
cmp byte [eax + 0xe7eb27], 1
jne 0x7622c5
movzx ecx, byte [eax + 0xe7eb28]
movzx eax, byte [esi]
dec eax
cdq
mov edi, 0xb
idiv edi
cmp ecx, edx
je 0x7624b2
mov al, byte [esi + 0x28f]
test al, al
jne 0x7624b2
cmp byte [esi + 0x28c], 2
jae 0x7624b2
mov al, byte [esi + 0x289]
xor bl, bl
test al, al
je 0x762496
cmp al, 0xff
je 0x762301
movzx eax, al
cdq
mov ecx, 0x17
idiv ecx
jmp 0x762306
mov edx, 1
imul edx, edx, 0x4c0
add edx, 0xd92230
push 1
push esi
mov edi, edx
call fcn.0075a590
movzx eax, al
add esp, 8
sub eax, 2
je 0x762342
cmp byte [esi + 0x291], 0x27
jne 0x762344
mov al, byte [esi + 0x292]
cmp al, 5
je 0x762342
cmp al, 6
jbe 0x762344
cmp al, 9
ja 0x762344
mov bl, 1
mov edx, dword [0x91db50]
cmp byte [edx + 0x110], 2
jb 0x762442
xor eax, eax
mov al, byte [esi]
push eax
call fcn.006ace10
add esp, 4
cmp al, 3
je 0x7623d1
jbe 0x76246a
cmp al, 5
ja 0x76246a
fild dword [esp + 0x18]
fld st(0)
fmul dword [esi + 0x2c4]
fxch st(1)
fmul dword [edi + 0x2c4]
fadd dword [0x8d2bf0]
fcompp
fnstsw ax
test ah, 0x41
jne 0x76246a
cmp byte [esi + 0xd6], 9
ja 0x76246a
fld dword [esi + 0x2cc]
fsub dword [edi + 0x2cc]
call fcn.0043bd30
test eax, eax
jg 0x7623c1
neg eax
cmp eax, 0xa00
jl 0x76246e
jmp 0x76246a
cmp byte [esi + 0xd6], 9
ja 0x76246a
fild dword [esp + 0x18]
fld st(0)
fmul dword [esi + 0x2c4]
fxch st(1)
fmul dword [edi + 0x2c4]
fadd dword [0x8ce08c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x76246a
fld dword [esi + 0x2cc]
fsub dword [edi + 0x2cc]
call fcn.0043bd30
test eax, eax
jg 0x762418
neg eax
cmp eax, 0xa00
jge 0x76246a
mov ecx, dword [0x91d3f0]
fld dword [esi + 0x2cc]
fsub dword [ecx + 0x18]
call fcn.0043bd30
test eax, eax
jg 0x762439
neg eax
cmp eax, 0xc00
jl 0x76246e
jmp 0x76246a
push 0x800
push edi
call fcn.006acfe0
add esp, 8
cmp al, 1
ja 0x76246a
movzx edx, byte [esi + 0xd9]
mov cl, byte [esi]
add edx, 0x38
imul edx, edx, 0xb
mov al, byte [edx + edi]
cmp al, cl
je 0x76246e
test bl, bl
je 0x762496
xor al, al
movzx ecx, al
mov cl, byte [esp + ecx + 0x48]
cmp cl, 0xff
je 0x762484
cmp byte [esi + 0x289], cl
je 0x76248c
inc al
cmp al, 0xa
jb 0x762470
jmp 0x7624b2
movzx edx, al
mov byte [esp + edx + 0x48], 0xff
jmp 0x7624b2
mov al, byte [esp + 0xd]
mov dl, byte [esi]
mov edi, dword [0x91db50]
movzx ecx, al
inc al
mov byte [ecx + edi + 0x94], dl
mov byte [esp + 0xd], al
mov eax, dword [esp + 0x14]
add esi, 0x4c0
dec eax
mov dword [esp + 0x14], eax
jne 0x762230
mov ebx, dword [0x91db50]
mov al, 1
lea ecx, [esp + 0x48]
mov byte [esp + 0xd], al
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], 0xa
mov edx, dword [esp + 0x10]
cmp byte [edx], 0xff
je 0x762662
cmp al, 0xa
jae 0x762662
movzx ecx, al
lea edx, [esp + ecx + 0x48]
mov cl, 0xa
sub cl, al
mov dword [esp + 0x14], edx
movzx edx, cl
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x14]
mov al, byte [eax]
cmp al, 0xff
mov edi, dword [0x91d3f0]
mov byte [esp + 0xe], al
je 0x762640
mov ecx, dword [esp + 0x10]
mov al, byte [ecx]
cmp al, 0xff
mov byte [esp + 0xf], al
je 0x762541
movzx eax, al
cdq
mov ecx, 0x17
idiv ecx
jmp 0x762546
mov edx, 1
fld dword [ebx + 0x38]
imul edx, edx, 0x4c0
add edx, 0xd92230
mov esi, edx
fsub dword [esi + 0x2cc]
call fcn.0043bd30
test eax, eax
jg 0x762568
neg eax
fild dword [esp + 0x18]
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
fld st(0)
fmul dword [edi + 0x10]
fld st(1)
fmul dword [esi + 0x2c4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x7625b7
fld dword [esi + 0x2c4]
fsub dword [edi + 0x10]
call fcn.0043bd30
test eax, eax
jg 0x76259f
neg eax
mov ecx, dword [esp + 0x28]
shl eax, 2
cdq
add ecx, eax
mov eax, dword [esp + 0x2c]
adc eax, edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
movzx eax, byte [esp + 0xe]
fld dword [ebx + 0x38]
cdq
mov ecx, 0x17
idiv ecx
mov esi, edx
imul esi, esi, 0x4c0
add esi, 0xd92230
fsub dword [esi + 0x2cc]
call fcn.0043bd30
test eax, eax
jg 0x7625e6
neg eax
fxch st(1)
cdq
fmul dword [esi + 0x2c4]
mov ebx, eax
mov edi, edx
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 0x41
jne 0x762620
mov edx, dword [0x91d3f0]
fld dword [esi + 0x2c4]
fsub dword [edx + 0x10]
call fcn.0043bd30
test eax, eax
jg 0x762618
neg eax
shl eax, 2
cdq
add ebx, eax
adc edi, edx
cmp edi, dword [esp + 0x2c]
ja 0x762640
jb 0x76262e
cmp ebx, dword [esp + 0x28]
jae 0x762640
mov eax, dword [esp + 0x14]
mov cl, byte [eax]
mov edx, dword [esp + 0x10]
mov byte [edx], cl
mov cl, byte [esp + 0xf]
mov byte [eax], cl
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [0x91db50]
inc ecx
dec eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
jne 0x76250e
mov al, byte [esp + 0xd]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
inc al
inc edx
dec ecx
mov byte [esp + 0xd], al
mov dword [esp + 0x10], edx
mov dword [esp + 0x20], ecx
jne 0x7624e3
mov al, 1
mov dword [esp + 0x14], 0
mov byte [esp + 0xd], al
mov dword [esp + 0x1c], 0xa
jmp 0x7626a0
mov edx, dword [esp + 0x14]
cmp byte [edx + ebx + 0x94], 0xff
je 0x7627fa
cmp al, 0xa
jae 0x7627fa
mov dl, 0xa
movzx ecx, al
sub dl, al
movzx eax, dl
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], eax
lea esp, [esp]
mov ecx, dword [esp + 0x10]
cmp byte [ecx + ebx + 0x94], 0xff
je 0x7627de
mov edx, dword [esp + 0x14]
mov al, byte [edx + ebx + 0x94]
cmp al, 0xff
mov byte [esp + 0xf], al
je 0x762702
movzx eax, al
cdq
mov ecx, 0x17
idiv ecx
jmp 0x762707
mov edx, 1
imul edx, edx, 0x4c0
add edx, 0xd92230
mov esi, edx
fld dword [esi + 0x2cc]
fsubr dword [ebx + 0x38]
call fcn.0043bd30
test eax, eax
jg 0x762729
neg eax
fild dword [esp + 0x18]
cdq
mov edi, edx
mov edx, dword [0x91d3f0]
fld st(0)
mov dword [esp + 0x28], eax
fmul dword [esi + 0x2c4]
fxch st(1)
fmul dword [edx + 0x10]
fcompp
fnstsw ax
test ah, 5
jp 0x762776
fld dword [esi + 0x2c4]
mov eax, edx
fsub dword [eax + 0x10]
call fcn.0043bd30
test eax, eax
jg 0x762766
neg eax
mov ecx, dword [esp + 0x28]
shl eax, 2
cdq
add ecx, eax
mov dword [esp + 0x28], ecx
adc edi, edx
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + ebx + 0x94]
cdq
mov ecx, 0x17
idiv ecx
imul edx, edx, 0x4c0
fld dword [edx + 0xd924fc]
fsubr dword [ebx + 0x38]
call fcn.0043bd30
test eax, eax
jg 0x7627a4
neg eax
cdq
cmp edx, edi
ja 0x7627de
jb 0x7627b1
cmp eax, dword [esp + 0x28]
jae 0x7627de
mov eax, dword [esp + 0x10]
mov cl, byte [eax + ebx + 0x94]
mov edx, dword [esp + 0x14]
mov byte [edx + ebx + 0x94], cl
mov ecx, dword [0x91db50]
mov dl, byte [esp + 0xf]
mov byte [eax + ecx + 0x94], dl
mov ebx, dword [0x91db50]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
inc ecx
dec eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], eax
jne 0x7626d0
mov al, byte [esp + 0xd]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
inc al
inc edx
dec ecx
mov byte [esp + 0xd], al
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], ecx
jne 0x7626a0
push 1
call fcn.0075b6d0
lea eax, [esp + 0x4c]
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], 0xa
mov ecx, dword [esp + 0x14]
mov bl, byte [ecx]
cmp bl, 0xff
je 0x762bfb
fld dword [0x8d3858]
mov byte [esp + 0xd], 0xff
call fcn.0043bd30
mov dword [esp + 0x30], eax
movzx eax, bl
mov dword [esp + 0x34], edx
cdq
mov ecx, 0x17
idiv ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0x1c], 0xa
mov esi, edx
imul esi, esi, 0x4c0
add esi, 0xd92230
jmp 0x762890
mov edx, dword [esp + 0x10]
mov eax, dword [0x91db50]
mov al, byte [edx + eax + 0x94]
cmp al, 0xff
je 0x762b80
movzx eax, al
fld dword [esi + 0x2c4]
cdq
mov ecx, 0x17
idiv ecx
movzx eax, byte [esi + 0xd9]
mov edi, edx
mov edx, dword [0x91cfa4]
imul edi, edi, 0x4c0
fsub dword [edx + eax*4 + 0x64]
add edi, 0xd92230
call fcn.0043bd30
test eax, eax
mov ecx, eax
jg 0x7628e5
neg ecx
cmp ecx, 0x800
jge 0x76291a
fld dword [edi + 0x2cc]
fadd dword [edi + 0x174]
fmul dword [0x870774]
fsubr dword [esi + 0x2cc]
call fcn.0043bd30
test eax, eax
jg 0x762910
neg eax
lea eax, [eax + eax*2]
cdq
sub eax, edx
sar eax, 1
jmp 0x762954
test eax, eax
jg 0x762920
neg eax
fld dword [edi + 0x2cc]
mov ebx, eax
fadd dword [edi + 0x174]
fmul dword [0x870774]
fsubr dword [esi + 0x2cc]
call fcn.0043bd30
test eax, eax
jg 0x762945
neg eax
lea eax, [eax + eax*2]
cdq
sub eax, edx
sar eax, 1
lea eax, [eax + ebx - 0x800]
fld dword [esi + 0x2cc]
cdq
fsub dword [edi + 0x174]
mov ebx, eax
mov dword [esp + 0x2c], edx
call fcn.0043bd30
test eax, eax
mov dword [esp + 0x18], eax
mov ecx, eax
jle 0x76297c
mov dword [esp + 0x20], ecx
jmp 0x762986
mov eax, dword [esp + 0x18]
neg eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fcomp dword [0x8ce090]
fnstsw ax
test ah, 0x41
jne 0x7629fe
fld dword [edi + 0x174]
fadd dword [esi + 0x2cc]
call fcn.0043bd30
test eax, eax
jg 0x7629ae
neg eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x2c]
fild dword [esp + 0x20]
mov ecx, eax
and eax, 0x7fffffff
fsubr dword [0x8cdfc4]
and ecx, 0x80000000
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], ebx
fild qword [esp + 0x38]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], 0
fild qword [esp + 0x40]
fchs
faddp st(1)
faddp st(1)
call fcn.0043bd30
mov ecx, dword [esp + 0x18]
mov ebx, eax
mov dword [esp + 0x2c], edx
mov dl, byte [edi + 0x289]
cmp dl, byte [esi]
mov edx, dword [esp + 0x2c]
jne 0x762a59
mov eax, dword [0x91db50]
movzx eax, byte [eax + 0x110]
add ebx, 0x200
adc edx, 0
dec eax
mov dword [esp + 0x2c], edx
je 0x762a4e
dec eax
jne 0x762b60
push 0
push 2
mov ecx, edx
push ecx
push ebx
call fcn.0043d230
shrd eax, edx, 2
shr edx, 2
mov ebx, eax
mov dword [esp + 0x2c], edx
jmp 0x762b60
mov edx, dword [esp + 0x2c]
push 0
push 3
push edx
jmp 0x762a36
add ebx, 0x600
adc edx, 0
test ecx, ecx
mov dword [esp + 0x2c], edx
jg 0x762a6c
neg ecx
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
fcomp dword [0x8cdfc4]
fnstsw ax
test ah, 0x41
je 0x762b80
movzx eax, byte [esi + 0xd9]
fld dword [esi + 0x2c4]
mov ecx, dword [0x91cfa4]
fsub dword [ecx + eax*4 + 0x54]
call fcn.0043bd30
test eax, eax
jg 0x762aa7
neg eax
cmp eax, 0x1000
jg 0x762b80
fld dword [esi + 0x2cc]
call fcn.0043bd30
test eax, eax
jg 0x762ac3
neg eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fcomp dword [0x8cb958]
fnstsw ax
test ah, 0x41
je 0x762b80
xor edx, edx
mov dl, byte [edi]
push edx
call fcn.006ace10
add esp, 4
cmp al, 4
jb 0x762b22
cmp al, 5
ja 0x762b22
fld dword [esi + 0x168]
fadd dword [esi + 0x2c4]
call fcn.0043bd30
test eax, eax
jg 0x762b08
neg eax
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fcomp dword [0x8cb954]
fnstsw ax
test ah, 5
jnp 0x762b80
push edi
call fcn.006ac860
add esp, 4
test al, al
je 0x762b60
fld dword [esi + 0x168]
fadd dword [esi + 0x2c4]
call fcn.0043bd30
test eax, eax
jg 0x762b46
neg eax
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fcomp dword [0x8cb954]
fnstsw ax
test ah, 5
jnp 0x762b80
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x34]
ja 0x762b80
jb 0x762b72
cmp ebx, dword [esp + 0x30]
jae 0x762b80
mov cl, byte [edi]
mov byte [esp + 0xd], cl
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
inc ecx
dec eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], eax
jne 0x762890
mov bl, byte [esp + 0xd]
cmp bl, 0xff
je 0x762bfb
movzx eax, bl
cdq
mov ecx, 0x17
idiv ecx
mov al, byte [esi]
mov ecx, dword [esp + 0x14]
mov esi, dword [0x91db50]
mov byte [ecx], 0xff
mov ecx, 0xa
imul edx, edx, 0x4c0
add edx, 0xd92230
mov byte [edx + 0x289], al
mov byte [edx + 0x28a], 0
xor eax, eax
jmp 0x762be0
cmp bl, byte [eax + esi + 0x94]
jne 0x762bf7
mov byte [eax + esi + 0x94], 0xff
mov esi, dword [0x91db50]
inc eax
dec ecx
jne 0x762be0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
inc ecx
dec eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], eax
jne 0x762832
lea ebx, [esp + 0x48]
mov dword [esp + 0x24], 0xa
nop
mov al, byte [ebx]
cmp al, 0xff
je 0x762cb5
movzx eax, al
cdq
mov ecx, 0x17
idiv ecx
push 1
mov esi, edx
imul esi, esi, 0x4c0
add esi, 0xd92230
call fcn.0075b6d0
mov cl, byte [esi]
add esp, 4
mov edi, eax
xor al, al
cmp byte [edi + 0x289], cl
je 0x762c69
inc al
add edi, 0x4c0
cmp al, 0xa
jb 0x762c53
jmp 0x762ca8
fld dword [esi + 0x2cc]
call fcn.0043bd30
fld dword [esi + 0x2c4]
push eax
call fcn.0043bd30
fld dword [edi + 0x2cc]
push eax
call fcn.0043bd30
fld dword [edi + 0x2c4]
push eax
call fcn.0043bd30
push eax
call fcn.00644320
add esp, 0x10
cmp eax, 0x400000
jb 0x762cb5
mov edx, dword [0x91db50]
mov byte [edx + 0x111], 1
mov eax, dword [esp + 0x24]
inc ebx
dec eax
mov dword [esp + 0x24], eax
jne 0x762c20
push 1
call fcn.0075b6d0
mov esi, eax
xor eax, eax
mov al, byte [esi]
mov bl, 1
push eax
call fcn.006ace10
movzx eax, al
add esp, 8
sub eax, 3
je 0x762d1d
sub eax, 2
je 0x762d1d
lea eax, [esi + 0x291]
mov ecx, 0xa
mov dl, 7
cmp byte [eax - 0x290], 0
je 0x762d0c
cmp byte [eax], 0x27
jne 0x762d0c
cmp byte [eax + 1], dl
jne 0x762d0c
xor bl, bl
add eax, 0x4c0
dec ecx
jne 0x762cf7
test bl, bl
je 0x762d1d
call fcn.007619c0
push 1
xor bl, bl
call fcn.0075b6d0
add esp, 4
add eax, 0x291
mov ecx, 0xa
mov dl, byte [eax - 0x290]
test dl, dl
je 0x762d4a
cmp byte [eax], 0x27
jne 0x762d4a
cmp byte [eax + 1], 6
jne 0x762d4a
inc bl
add eax, 0x4c0
dec ecx
jne 0x762d33
push 1
call fcn.0075b6d0
movzx ecx, byte [eax + 0xd8]
mov edx, dword [0x91cfa4]
movzx ecx, byte [ecx + edx + 0x7c]
add esp, 4
cmp ecx, 4
ja case.default.0x762d73
jmp dword [ecx*4 + 0x762f2c]
cmp bl, 2
jmp 0x762d82
cmp bl, 1
jae case.0x762d73.2
movzx eax, byte [eax]
push eax
call fcn.006ace10
add esp, 4
cmp al, 4
jne case.0x762d73.2
mov ecx, dword [0x91db50]
mov al, byte [ecx + 0x111]
test al, al
jne case.0x762d73.2
cmp bl, 0xff
je case.0x762d73.2
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0xa
lea esp, [esp]
mov edx, dword [esp + 0x18]
mov eax, dword [0x91db50]
mov al, byte [edx + eax + 0x94]
cmp al, 0xff
je 0x762f0c
movzx eax, al
cdq
mov ecx, 0x17
idiv ecx
mov eax, dword [0x91cfa4]
mov esi, edx
imul esi, esi, 0x4c0
add esi, 0xd92230
movzx edx, byte [esi + 0xd8]
cmp byte [edx + eax + 0x7c], 3
jae 0x762f0c
push esi
call fcn.0075a540
add esp, 4
cmp al, 2
je 0x762f0c
cmp byte [esi + 0x291], 0x27
je 0x762f0c
push 0
call fcn.0075b6d0
add esp, 4
mov edi, eax
xor bl, bl
jmp 0x762e50
cmp byte [edi + 0x288], 3
jne 0x762eea
push 1
call fcn.0075b6d0
add esp, 4
xor cl, cl
lea esp, [esp]
mov dl, byte [eax + 1]
test dl, dl
je 0x762ea0
cmp esi, eax
je 0x762ea0
mov dl, byte [eax + 0x289]
cmp dl, byte [edi]
jne 0x762ea0
cmp byte [eax + 0x291], 0x27
jne 0x762e97
cmp byte [eax + 0x292], 6
je 0x762eea
cmp byte [eax + 0xd6], 0xa
jae 0x762eea
inc cl
add eax, 0x4c0
cmp cl, 0xa
jb 0x762e70
fld dword [edi + 0x2cc]
call fcn.0043bd30
test eax, eax
jg 0x762ebd
neg eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fcomp dword [0x8d2d40]
fnstsw ax
test ah, 5
jp 0x762eea
mov al, byte [edi + 0x28d]
test al, al
je 0x762eea
push 2
call fcn.0063c860
add esp, 4
test eax, eax
jne 0x762efd
inc bl
add edi, 0x4c0
cmp bl, 0xa
jb 0x762e50
jmp 0x762f0c
mov al, byte [edi]
mov byte [esi + 0x289], al
mov byte [esi + 0x28a], 3
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
inc ecx
dec eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], eax
jne 0x762dd0
pop esi
pop ebx
pop edi
add esp, 0x48
ret