Function at 0x7bcfb0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov ecx, dword [0x91db50]
push ebx
push esi
mov esi, dword [ebp + 8]
movzx eax, byte [esi + 0xd9]
mov byte [eax + ecx + 0xbe], 0
xor edx, edx
mov dx, word [esi + 0xea]
xor eax, eax
mov ax, word [esi + 0xee]
push edi
push edx
push eax
call fcn.006442a0
add esp, 8
cmp ax, 0x48
jbe 0x7bd008
movzx ecx, byte [esi + 0xd9]
mov edx, dword [0x91db50]
mov byte [ecx + edx + 0xbe], 1
movzx eax, byte [esi + 0xd9]
mov ecx, dword [0x91db50]
mov byte [eax + ecx + 0xd6], 0
movzx edx, byte [esi + 0xd9]
mov dword [esi + 0x2a4], 0
mov eax, dword [0x91db50]
push 1
push esi
mov byte [edx + eax + 0xe8], 1
call fcn.006a3580
push 0
push 1
push esi
call fcn.006ad2e0
add esp, 0x14
cmp al, 0xff
je 0x7bd06e
push 0
push 1
push esi
call fcn.006ad2e0
movzx eax, al
cdq
mov ecx, 0x17
add esp, 0xc
idiv ecx
jmp 0x7bd073
mov edx, 1
imul edx, edx, 0x4c0
add edx, 0xd92230
mov edi, edx
fld dword [edi + 0x2d8]
fmul dword [0x870770]
fadd dword [edi + 0x2cc]
call fcn.0043bd30
fld dword [edi + 0x2d0]
fmul dword [0x870770]
push eax
fadd dword [edi + 0x2c4]
call fcn.0043bd30
fld dword [esi + 0x2cc]
push eax
call fcn.0043bd30
fld dword [esi + 0x2c4]
push eax
call fcn.0043bd30
push eax
call fcn.00644320
push esi
mov ebx, eax
xor edi, edi
call fcn.006acbc0
add esp, 0x14
test al, al
jne 0x7bd147
push esi
mov edi, 1
call fcn.006acb60
add esp, 4
test al, al
jne 0x7bd111
xor edx, edx
mov dx, word [esi + 0xee]
push 0x4000000
push 0xa
push edx
push esi
call fcn.006a2b10
add esp, 0x10
test al, al
je 0x7bd111
xor edi, edi
cmp byte [esi + 0xda], 0xb
jne 0x7bd126
cmp word [esi + 0xdc], 4
jne 0x7bd126
xor edi, edi
mov eax, dword [0x91db50]
mov cl, byte [eax + 0xe2]
test cl, cl
je 0x7bd13a
mov edi, 2
mov ecx, dword [0x925118]
cmp byte [ecx], 0
je 0x7bd147
xor edi, edi
movzx eax, di
dec eax
je 0x7bd225
dec eax
jne 0x7bd4ae
movzx edx, byte [esi + 0xd8]
imul edx, edx, 0x274
movzx ecx, byte [edx + 0xe7ecd1]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax + 4]
push 0x64
mov dword [ebp + 8], ecx
call fcn.0063c860
movzx edx, byte [esi + 0xd8]
imul edx, edx, 0x274
movzx ecx, byte [edx + 0xe7ecd0]
add esp, 4
cmp eax, ecx
jge 0x7bd1a8
shr word [ebp + 8], 1
movzx edx, byte [esi + 0xd9]
mov eax, dword [0x91db50]
movzx eax, byte [edx + eax + 0xca]
dec eax
je 0x7bd1c4
sub eax, 0xe
jne 0x7bd1cb
mov dword [ebp + 8], 0
movzx ecx, word [ebp + 8]
push ecx
call fcn.0063c860
add esp, 4
test eax, eax
jne 0x7bd1f6
cmp ebx, 0x400000
jle 0x7bd1f6
push 0xe
push esi
call fcn.0079bea0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ebx, 0x240000
jge 0x7bd4ae
push esi
call fcn.006acbc0
add esp, 4
test al, al
je 0x7bd4ae
push 0xc
push esi
call fcn.0079bea0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ebx, 0x510000
jle 0x7bd3e3
movzx eax, byte [esi + 0xd8]
mov di, word [esi + 0xee]
lea edx, [eax + eax*4]
movzx eax, byte [esi + 0xd7]
lea ecx, [eax + edx*8]
imul ecx, ecx, 0x110
mov edx, dword [ecx + 0xeb6634]
shr edx, 0xb
and edx, 0x7f
push 0x1e
push edx
call fcn.00614f40
add esp, 8
cmp eax, 0x3c
jle 0x7bd29e
mov eax, dword [0x91cfa8]
mov eax, dword [eax + 0x68]
shr eax, 4
and eax, 3
dec eax
je 0x7bd292
sub eax, 2
jne 0x7bd29e
mov di, word [esi + 0xee]
sub di, 0x2000
jmp 0x7bd29e
mov di, word [esi + 0xee]
add di, 0x2000
mov eax, dword [esi + 0xe0]
test eax, eax
je 0x7bd2cc
fld dword [esi + 0x2cc]
call fcn.0043bd30
test eax, eax
jg 0x7bd2b9
neg eax
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fcomp dword [0x8d2d70]
fnstsw ax
test ah, 0x41
jne 0x7bd2f3
xor ecx, ecx
mov cx, word [esi + 0xea]
push ecx
push edi
call fcn.006442a0
add esp, 8
cmp ax, 0x20
jbe 0x7bd2f3
push 0
push edi
push esi
call fcn.00682020
add esp, 0xc
jmp 0x7bd30d
cmp dword [esi + 0xe0], 0x10
jge 0x7bd30d
push esi
call fcn.007acdc0
add esp, 4
test al, al
jne 0x7be15d
mov ebx, dword [0x91d3f0]
fld dword [ebx + 0x18]
call fcn.0043bd30
fld dword [ebx + 0x10]
push eax
call fcn.0043bd30
fld dword [esi + 0x2cc]
push eax
call fcn.0043bd30
fld dword [esi + 0x2c4]
push eax
call fcn.0043bd30
push eax
call fcn.00644320
add esp, 0x10
cmp eax, 0x64000
jbe 0x7bd35f
push 0
push edi
push esi
call fcn.00682020
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [0x91cfa8]
cmp byte [edx + 0x71], 1
jb 0x7bd4ae
xor eax, eax
mov al, byte [esi + 0xd8]
xor al, 1
push eax
call fcn.00777cf0
xor ecx, ecx
mov cl, byte [esi + 0xd8]
mov edi, eax
push ecx
call fcn.00777cf0
sub eax, edi
add esp, 8
test eax, eax
jle 0x7bd4ae
dec eax
je 0x7bd4ae
dec eax
jne 0x7be15d
movzx eax, byte [esi + 0xd8]
lea edx, [eax + eax*4]
movzx eax, byte [esi + 0xd7]
lea ecx, [eax + edx*8]
imul ecx, ecx, 0x110
mov eax, dword [ecx + 0xeb6640]
test ah, 0x40
jne 0x7be15d
test ah, 0x20
je 0x7bd4ae
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ebx, 0x90000
jg 0x7bd4ae
mov al, byte [esi + 0xd9]
xor edx, edx
test al, al
sete dl
lea edx, [edx + edx - 1]
mov dword [ebp + 8], edx
fild dword [ebp + 8]
fmul dword [esi + 0x2c4]
fcomp dword [0x8cba44]
fnstsw ax
test ah, 5
jnp 0x7bd4ae
push esi
call fcn.007072f0
add esp, 4
test al, al
jne 0x7bd4ae
movzx eax, byte [esi + 0xd8]
movzx ecx, byte [esi + 0xd7]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
imul eax, eax, 0x110
mov ecx, dword [eax + 0xeb6640]
test ch, 0x21
jne 0x7bd4ae
mov edx, dword [eax + 0xeb6628]
push 0x240000
shr edx, 0x19
push 0x28
push edx
call fcn.00614f40
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov ecx, 0x30
sub ecx, edx
xor edx, edx
mov dx, word [esi + 0xee]
add esp, 8
push ecx
push edx
push esi
call fcn.006a2b10
add esp, 0x10
test al, al
jne 0x7bd4ae
push esi
call fcn.007ac1b0
add esp, 4
test al, al
jne 0x7be15d
cmp byte [esi + 0xe8], 2
je 0x7bd4d6
cmp dword [0xeebb28], 0xa
je 0x7bd4d6
mov eax, dword [0x91cfa8]
mov cl, byte [eax + 9]
mov edx, dword [0x91db50]
mov byte [edx + 0xce], cl
jmp 0x7bd4e2
mov eax, dword [0x91db50]
mov byte [eax + 0xce], 3
movzx ecx, byte [esi + 0xd9]
mov edx, dword [0x91db50]
movzx eax, byte [ecx + edx + 0xca]
dec eax
cmp eax, 0xe
ja case.default.0x7bd501
jmp dword [eax*4 + 0x7be164]
push 0xb
jmp 0x7bdb1e
mov eax, esi
call fcn.007bcee0
push esi
movzx di, al
call fcn.006accf0
add esp, 4
test al, al
je case.0x7bd501.1
movzx eax, di
push eax
call fcn.0063c860
add esp, 4
test eax, eax
jne case.0x7bd501.1
push 4
push esi
call fcn.0079bea0
add esp, 8
push 1
jmp 0x7bdb1e
push esi
call fcn.006acc20
add esp, 4
test al, al
je 0x7bd55a
push 2
jmp 0x7bd55c
push 9
push esi
call fcn.0079bea0
add esp, 8
push esi
call fcn.006acc80
add esp, 4
test al, al
je case.default.0x7bd501
xor ecx, ecx
mov cl, byte [esi]
push ecx
call fcn.006ace10
add esp, 4
cmp al, 3
jne case.default.0x7bd501
mov eax, esi
call fcn.007bcee0
movzx ax, al
movzx edx, ax
push edx
jmp 0x7bd626
mov eax, esi
call fcn.007bcee0
push esi
movzx di, al
call fcn.006acc80
add esp, 4
test al, al
je 0x7bd5cb
movzx eax, di
push eax
call fcn.0063c860
add esp, 4
test eax, eax
jne 0x7bd5cb
push 4
jmp 0x7bd5cd
push 1
push esi
call fcn.0079bea0
add esp, 8
push esi
call fcn.006acc80
add esp, 4
test al, al
je case.default.0x7bd501
xor ecx, ecx
mov cl, byte [esi]
push ecx
call fcn.006ace10
add esp, 4
cmp al, 3
jne case.default.0x7bd501
push esi
call fcn.006acc80
add esp, 4
test al, al
je case.default.0x7bd501
xor edx, edx
mov dl, byte [esi]
push edx
call fcn.006ace10
add esp, 4
cmp al, 3
jne case.default.0x7bd501
movzx eax, di
push eax
call fcn.0063c860
add esp, 4
test eax, eax
jne case.default.0x7bd501
push 7
jmp 0x7bdb1e
movzx eax, byte [esi + 0xd8]
movzx edx, byte [esi + 0xd7]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
imul eax, eax, 0x110
mov ecx, dword [eax + 0xeb6634]
shr ecx, 0xb
and ecx, 0x7f
push 0x1e
push ecx
mov dword [ebp + 8], 0
call fcn.00614f40
add esp, 8
cmp eax, 0x32
jle 0x7bd711
push 0
push esi
call fcn.00771240
push 0x82
movzx edi, al
call fcn.0063c860
add esp, 0xc
cmp eax, edi
jl 0x7bd70a
push 1
push esi
call fcn.00771240
push 0x82
movzx edi, al
call fcn.0063c860
add esp, 0xc
cmp eax, edi
jl 0x7bd70a
push 2
push esi
call fcn.00771240
push 0x82
movzx edi, al
call fcn.0063c860
add esp, 0xc
cmp eax, edi
jl 0x7bd70a
push 3
push esi
call fcn.00771240
push 0x82
movzx edi, al
call fcn.0063c860
add esp, 0xc
cmp eax, edi
jl 0x7bd70a
push 4
push esi
call fcn.00771240
push 0x82
movzx edi, al
call fcn.0063c860
add esp, 0xc
cmp eax, edi
jge 0x7bd711
mov dword [ebp + 8], 1
movzx eax, byte [esi + 0xd8]
lea edx, [eax + eax*4]
movzx eax, byte [esi + 0xd7]
lea ecx, [eax + edx*8]
imul ecx, ecx, 0x110
mov edx, dword [ecx + 0xeb6628]
shr edx, 0x19
push 0x28
push edx
call fcn.00614f40
add esp, 8
cmp eax, 0x32
jle 0x7bd7aa
push esi
call fcn.006acc80
add esp, 4
test al, al
je 0x7bd7aa
xor eax, eax
mov ax, word [esi + 0xee]
push 0x240000
push 0x40
push eax
push esi
call fcn.006a2b10
add esp, 0x10
test al, al
je 0x7bd7aa
movzx eax, byte [esi + 0xd8]
movzx edx, byte [esi + 0xd7]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
imul eax, eax, 0x110
mov ecx, dword [eax + 0xeb6628]
shr ecx, 0x19
push 0x28
push ecx
call fcn.00614f40
push 0x64
mov edi, eax
call fcn.0063c860
add esp, 0xc
cmp eax, edi
jl 0x7bd7b5
cmp word [ebp + 8], 0
je case.0x7bd501.9
push 5
jmp 0x7bdb1e
movzx eax, byte [esi + 0xd8]
lea edx, [eax + eax*4]
movzx eax, byte [esi + 0xd7]
lea ecx, [eax + edx*8]
imul ecx, ecx, 0x110
mov edx, dword [ecx + 0xeb6634]
shr edx, 0xb
and edx, 0x7f
push 0x1e
push edx
mov dword [ebp + 8], 0
call fcn.00614f40
add esp, 8
cmp eax, 0x32
jle 0x7bd870
push 0
push esi
call fcn.00771240
push 0x82
movzx edi, al
call fcn.0063c860
add esp, 0xc
cmp eax, edi
jl 0x7bd869
push 1
push esi
call fcn.00771240
push 0x82
movzx edi, al
call fcn.0063c860
add esp, 0xc
cmp eax, edi
jl 0x7bd869
push 2
push esi
call fcn.00771240
push 0x82
movzx edi, al
call fcn.0063c860
add esp, 0xc
cmp eax, edi
jl 0x7bd869
push 3
push esi
call fcn.00771240
push 0x82
movzx edi, al
call fcn.0063c860
add esp, 0xc
cmp eax, edi
jge 0x7bd870
mov dword [ebp + 8], 1
movzx eax, byte [esi + 0xd8]
movzx ecx, byte [esi + 0xd7]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
imul edx, edx, 0x110
mov eax, dword [edx + 0xeb6628]
shr eax, 0x19
push 0x28
push eax
call fcn.00614f40
add esp, 8
cmp eax, 0x32
jle 0x7bd8e5
movzx eax, byte [esi + 0xd8]
movzx edx, byte [esi + 0xd7]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
imul eax, eax, 0x110
mov ecx, dword [eax + 0xeb6628]
shr ecx, 0x19
push 0x28
push ecx
call fcn.00614f40
push 0x64
mov edi, eax
call fcn.0063c860
add esp, 0xc
cmp eax, edi
jge 0x7bd8e5
mov dword [ebp + 8], 1
movzx edx, byte [esi + 0xd9]
fld dword [esi + 0x2c4]
mov eax, dword [0x91cfa4]
fsub dword [eax + edx*4 + 0x54]
call fcn.0043bd30
test eax, eax
jg 0x7bd906
neg eax
cmp eax, 0x800
mov edi, 0x200
jl 0x7bd920
cmp word [ebp + 8], 0
je 0x7bd920
push 5
jmp 0x7bda7d
push 2
push esi
call fcn.0079bea0
movzx ecx, byte [esi + 0xd9]
mov edx, dword [0x91db50]
mov al, byte [ecx + edx + 0xbe]
add esp, 8
test al, al
je 0x7bd9a6
push 4
push esi
call fcn.00771240
push 0x82
movzx ebx, al
call fcn.0063c860
add esp, 0xc
cmp eax, ebx
jl 0x7bd98f
movzx eax, byte [esi + 0xd8]
movzx ecx, byte [esi + 0xd7]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
imul edx, edx, 0x110
test dword [edx + 0xeb6640], edi
je 0x7bd9a6
push 0xa
call fcn.0063c860
add esp, 4
test eax, eax
jne 0x7bd9a6
mov eax, dword [0x91db50]
mov cl, byte [eax + 0x54]
test cl, cl
jne 0x7bd9a6
push 6
push esi
call fcn.0079bea0
add esp, 8
push esi
call fcn.006acd50
add esp, 4
test al, al
je 0x7bda86
movzx eax, byte [esi + 0xd8]
movzx edx, byte [esi + 0xd7]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
imul eax, eax, 0x110
mov ecx, dword [eax + 0xeb6628]
shr ecx, 0x19
push 0x28
push ecx
call fcn.00614f40
add esp, 8
cmp eax, 0x32
jl 0x7bda86
xor edx, edx
mov dx, word [esi + 0xea]
xor eax, eax
mov ax, word [esi + 0xee]
push edx
push eax
call fcn.006442a0
add esp, 8
cmp ax, 0x20
jae 0x7bda86
movzx eax, byte [esi + 0xd8]
movzx edx, byte [esi + 0xd7]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
imul eax, eax, 0x110
mov ecx, dword [eax + 0xeb663c]
push 0x310000
shr ecx, 0xe
and ecx, 0x7f
push 0x28
push ecx
call fcn.00614f40
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov ecx, 0xc
sub ecx, edx
xor edx, edx
mov dx, word [esi + 0xee]
add esp, 8
shl ecx, 2
push ecx
push edx
push esi
call fcn.006a2b10
add esp, 0x10
test al, al
je 0x7bda86
push 1
push esi
call fcn.0079bea0
add esp, 8
movzx eax, byte [esi + 0xd9]
mov ecx, dword [0x91db50]
mov dl, byte [eax + ecx + 0xbe]
test dl, dl
je case.default.0x7bd501
push 4
push esi
call fcn.00771240
push 0x82
movzx ebx, al
call fcn.0063c860
add esp, 0xc
cmp eax, ebx
jl 0x7bdafc
movzx eax, byte [esi + 0xd8]
lea edx, [eax + eax*4]
movzx eax, byte [esi + 0xd7]
lea ecx, [eax + edx*8]
imul ecx, ecx, 0x110
test dword [ecx + 0xeb6640], edi
je 0x7bdaee
push 0xa
call fcn.0063c860
add esp, 4
test eax, eax
je 0x7bdafc
push 0x14
call fcn.0063c860
add esp, 4
test eax, eax
jne case.default.0x7bd501
mov edx, dword [0x91db50]
mov al, byte [edx + 0x54]
test al, al
jne case.default.0x7bd501
push 6
jmp 0x7bdb1e
push 0x20
push 0xa
push esi
call fcn.0079bf70
add esp, 0xc
jmp case.default.0x7bd501
push 9
push esi
call fcn.0079bea0
add esp, 8
push esi
call fcn.006acc80
add esp, 4
test al, al
je 0x7bdbfa
push 0x400
push esi
call fcn.006acfb0
add esp, 8
test al, al
jne 0x7bdb91
xor eax, eax
mov ax, word [esi + 0xee]
push 0x900000
push 0x20
push eax
push esi
call fcn.006a2b10
add esp, 0x10
test al, al
je 0x7bdb91
xor ecx, ecx
mov cx, word [esi + 0xee]
push 0x400000
push 0x30
push ecx
push esi
call fcn.006a2b10
add esp, 0x10
test al, al
je 0x7bdb91
push 1
push esi
call fcn.0079bea0
add esp, 8
push esi
call fcn.006acd50
add esp, 4
test al, al
je 0x7bdbfa
xor edx, edx
mov dx, word [esi + 0xee]
xor eax, eax
mov ax, word [esi + 0xea]
push edx
push eax
call fcn.006442a0
add esp, 8
cmp ax, 0x60
ja 0x7bdbfa
mov ecx, dword [0x91db50]
mov al, byte [ecx + 0x54]
test al, al
je 0x7bdbfa
mov edx, dword [esi + 0x1d8]
xor eax, eax
mov ax, word [esi + 0x1d4]
push 1
push edx
push 0x28
push eax
push esi
call fcn.006ad1f0
add esp, 0x14
cmp al, 2
ja 0x7bdbfa
push 1
push esi
call fcn.0079bea0
add esp, 8
mov al, byte [esi + 0xd9]
test al, al
je 0x7bdc08
push 3
jmp 0x7bdc0a
push 2
call fcn.006a27d0
mov ecx, dword [0x91db50]
mov al, byte [ecx + 0x54]
add esp, 4
test al, al
jne 0x7bdd78
fld dword [esi + 0x2cc]
call fcn.0043bd30
xor ebx, ebx
cmp eax, ebx
jg 0x7bdc36
neg eax
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fcomp dword [0x8d3eb8]
fnstsw ax
test ah, 5
jp 0x7bdd78
fld dword [esi + 0x2c4]
call fcn.0043bd30
cmp eax, ebx
jg 0x7bdc5e
neg eax
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fcomp dword [0x8ce50c]
fnstsw ax
test ah, 5
jp 0x7bdd78
push 0x1000000
push 0x14
push 0x4000
push esi
xor edi, edi
call fcn.006a2b10
add esp, 0x10
test al, al
je 0x7bdc9e
push ebx
call fcn.006a27d0
add esp, 4
mov edi, 1
push 0x1000000
push 0x14
push 0xc000
push esi
call fcn.006a2b10
add esp, 0x10
test al, al
je 0x7bdcbe
push 1
jmp 0x7bdd91
cmp di, bx
jne 0x7bdd99
xor edx, edx
mov dl, byte [esi]
mov dword [ebp + 8], ebx
mov dword [ebp - 4], ebx
push edx
call fcn.0063dd40
movzx eax, al
add esp, 4
inc eax
cmp eax, 0xff
je 0x7bdcf8
xor ecx, ecx
mov cl, byte [esi]
push ecx
call fcn.0063dd40
movzx eax, al
add esp, 4
inc eax
jmp 0x7bdcfd
mov eax, 1
imul eax, eax, 0x4c0
add eax, 0xd92230
lea edi, [eax + 0x2c4]
mov dword [ebp - 8], 0xa
mov al, byte [edi - 0x2c3]
test al, al
je 0x7bdd5b
fld dword [esi + 0x2c4]
call fcn.0043bd30
test eax, eax
jg 0x7bdd30
neg eax
fld dword [edi]
mov ebx, eax
call fcn.0043bd30
test eax, eax
jg 0x7bdd3f
neg eax
cmp ebx, eax
jge 0x7bdd5b
fld dword [esi + 0x2cc]
fcomp dword [edi + 8]
fnstsw ax
test ah, 5
jp 0x7bdd58
inc dword [ebp - 4]
jmp 0x7bdd5b
inc dword [ebp + 8]
mov eax, dword [ebp - 8]
add edi, 0x4c0
dec eax
mov dword [ebp - 8], eax
jne 0x7bdd15
mov dx, word [ebp + 8]
cmp word [ebp - 4], dx
jb 0x7bdd8f
push 1
jmp 0x7bdd91
fld dword [esi + 0x2cc]
fcomp dword [0x879dc4]
fnstsw ax
test ah, 5
jp 0x7bdd8f
push 1
jmp 0x7bdd91
push 0
call fcn.006a27d0
add esp, 4
movzx eax, byte [esi + 0xd9]
mov ecx, dword [0x91db50]
imul eax, eax, 0xf
mov dl, byte [eax + ecx + 0xea]
add eax, ecx
mov cl, byte [esi]
cmp cl, dl
jne 0x7bded9
movzx eax, byte [eax + 0xeb]
dec eax
je 0x7bdde3
sub eax, 3
jne 0x7be15d
push 5
push 0xd
push esi
call fcn.0079bf70
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ecx
call fcn.006ace10
add esp, 4
cmp al, 5
je 0x7bde7f
mov edx, dword [0x925118]
cmp byte [edx], 0
jne 0x7bde7f
mov edi, dword [0x91db50]
mov al, byte [edi + 0xe3]
test al, al
jne 0x7bde85
movzx eax, byte [esi + 0xd9]
imul eax, eax, 0xf
mov al, byte [eax + edi + 0xec]
cmp al, 0xff
je 0x7bde35
movzx eax, al
cdq
mov ecx, 0x17
idiv ecx
jmp 0x7bde3a
mov edx, 1
imul edx, edx, 0x4c0
movzx edx, byte [edx + 0xd92230]
cmp dword [esi + edx*4 + 0x20c], 0x2a40000
jae 0x7bde85
push 2
push 0xa
push esi
call fcn.0079bf70
movzx eax, byte [esi + 0xd9]
mov ecx, dword [0x91db50]
add esp, 0xc
imul eax, eax, 0xf
movzx edx, byte [eax + ecx + 0xec]
mov dword [esi + 0x29c], edx
mov edi, dword [0x91db50]
xor edx, edx
mov dword [ebp + 8], 4
jmp 0x7bdea0
mov edi, dword [0x91db50]
jmp 0x7bdea0
movzx eax, byte [esi + 0xd9]
lea ecx, [edx + eax*4]
add ecx, eax
lea eax, [ecx + 0x4f]
lea ebx, [edi + eax*2]
add ecx, 0x4e
add eax, ebx
lea edi, [edi + ecx*2]
add ecx, edi
mov di, word [eax]
mov word [ecx], di
mov al, byte [eax + 2]
mov byte [ecx + 2], al
mov eax, dword [ebp + 8]
inc edx
dec eax
mov dword [ebp + 8], eax
jne 0x7bde90
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor ecx, ecx
mov edx, 5
movzx eax, byte [esi + 0xd9]
lea edi, [ecx + eax*4]
lea eax, [eax + edi + 0x4e]
mov edi, dword [0x91db50]
lea edi, [edi + eax*2]
inc ecx
dec edx
mov byte [eax + edi], 0xff
jne 0x7bdee0
xor ecx, ecx
mov cl, byte [esi]
push ecx
call fcn.006ace10
add esp, 4
cmp al, 4
je 0x7be152
mov edx, dword [0x925118]
cmp byte [edx], 0
je 0x7bdf31
push 1
push esi
call fcn.0079bea0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, byte [esi + 0xd9]
mov ecx, dword [0x91db50]
mov al, byte [eax + ecx + 0xca]
cmp al, 4
jb 0x7bdfef
cmp al, 6
jbe 0x7bdf59
cmp al, 9
jne 0x7bdfef
push esi
call fcn.006acaf0
add esp, 4
test al, al
je 0x7bdfef
movzx edi, byte [esi + 0xd9]
mov edx, dword [0x91db50]
mov al, byte [edi + edx + 0xbc]
test al, al
je 0x7bdfef
fld dword [esi + 0x2cc]
call fcn.0043bd30
test eax, eax
jg 0x7bdf93
neg eax
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fcomp dword [0x8cb958]
fnstsw ax
test ah, 5
jp 0x7bdfef
cmp byte [esi + 0xd6], 7
jbe 0x7bdfd0
mov eax, dword [0x91cfa4]
fld dword [esi + 0x2c4]
fsub dword [eax + edi*4 + 0x64]
call fcn.0043bd30
test eax, eax
jg 0x7bdfc9
neg eax
cmp eax, 0x800
jge 0x7bdfef
push esi
call fcn.006acb60
add esp, 4
test al, al
je 0x7bdfef
push 0xf
push esi
call fcn.0079bea0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x1c8], 0x100000
jbe 0x7be098
cmp dword [esi + 0x1d8], 0x2400000
jae 0x7be098
xor ecx, ecx
mov cx, word [esi + 0xee]
xor edx, edx
mov dx, word [esi + 0x1d4]
push ecx
push edx
call fcn.006442a0
add esp, 8
cmp ax, 0x18
jae 0x7be098
xor eax, eax
mov ax, word [esi + 0x1d4]
push 0x240000
push 8
push eax
push esi
call fcn.006a2b10
add esp, 0x10
test al, al
je 0x7be098
xor ecx, ecx
mov cx, word [esi + 0x1d4]
push 0x190000
push 0x20
push ecx
push esi
call fcn.006a2b10
add esp, 0x10
test al, al
je 0x7be098
xor edx, edx
mov dx, word [esi + 0x1d4]
push 0x100000
push 0x40
push edx
push esi
call fcn.006a2b10
add esp, 0x10
test al, al
je 0x7be098
push 0
push 0xd
push esi
call fcn.0079bf70
add esp, 0xc
movzx eax, byte [esi + 0xd8]
imul eax, eax, 0x274
movzx ecx, byte [eax + 0xe7ecd1]
push ecx
mov dword [ebp + 8], 1
call fcn.0063c860
add esp, 4
cmp eax, 0x1e
mov edi, 0xf
jle 0x7be0c9
mov dword [ebp + 8], edi
xor edx, edx
mov dl, byte [esi + 0xd8]
xor dl, 1
push edx
call fcn.00777cf0
mov ebx, eax
xor eax, eax
mov al, byte [esi + 0xd8]
push eax
call fcn.00777cf0
add esp, 8
cmp eax, ebx
jle 0x7be116
movzx ecx, byte [esi + 0xd8]
imul ecx, ecx, 0x274
movzx edx, byte [ecx + 0xe7ecd1]
push edx
call fcn.0063c860
add esp, 4
cmp eax, 0x14
jle 0x7be116
mov dword [ebp + 8], edi
mov eax, dword [0x91db50]
movzx cx, byte [eax + 0x28]
cmp cx, word [ebp + 8]
ja 0x7be15d
push esi
call fcn.00770100
xor edx, edx
mov dx, word [esi + 0xee]
add dx, 0x8000
push 0x2000
push 2
push edx
push esi
call fcn.0076d390
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 3
push esi
call fcn.0079bea0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret