Function at 0x7a9047
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x26c
mov eax, dword [0x87a0]
inc eax
mov dword [0x8330], eax
mov eax, dword [0x30dad9]
mov dword [0x358e04], eax
lea edx, [eax + 0x400]
add eax, 0x800
mov dword [0x358e08], edx
mov dword [0x358cd0], eax
call fcn.007a8fe5
cmp dword [0x8798], 0
je 0x7a9a49
mov dword [0x820c], 0
cmp byte [0x8217], 0
je 0x7a920e
mov eax, dword [0x82c8]
cmp dword [0x8280], eax
je 0x7a920e
push 0x3c
mov byte [0x359bc0], 0
push 0x8217
push 0x359bc0
call fcn.00794cfa
push 0x359bc0
call fcn.0079488e
add esp, 0x10
mov edx, eax
lea ecx, [eax + 0x359bc0]
jmp 0x7a90ef
mov al, byte [ecx]
dec ecx
cmp al, 0x2f
je 0x7a90f3
dec edx
test edx, edx
jns 0x7a90e7
inc edx
mov eax, 0x3c
sub eax, edx
mov byte [edx + 0x359bc0], 0
add edx, 0x359bc0
push eax
push 0x341b63
push edx
call fcn.00794cfa
add esp, 0xc
cmp dword [0x8330], 1
jle 0x7a9134
push 0x359bc0
push 0x34a390
push 0
call fcn.00794ffc
add esp, 0xc
cmp dword [0x87a0], 0
je 0x7a9142
call fcn.00479f70
push 0x359bc0
call fcn.0079be7d
pop edx
test eax, eax
mov eax, dword [0x8330]
je 0x7a91ef
lea ebx, [ebp - 0x218]
dec eax
mov dword [ebp - 0x10], ebx
jle 0x7a9174
push 0x34a3ab
push 0
call fcn.00794ffc
pop esi
pop edi
xor edx, edx
push 0xedde0d90
push 0
push 0xa
push edx
push ebx
call fcn.0079aada
add esp, 0x14
mov ebx, eax
cmp dword [0x8330], 1
jle 0x7a91a4
push eax
push 0x34a3bb
push 0
call fcn.00794ffc
add esp, 0xc
test ebx, ebx
jle 0x7a91c9
lea eax, [ebp - 0x18]
push 0
push eax
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 0x20f], 0
call fcn.0079499d
mov eax, dword [ebp - 0x18]
mov dword [0x820c], eax
add esp, 0xc
call fcn.0079ad08
jmp 0x7a9200
push dword [ebp - 0x230]
push 0x8217
call fcn.00795911
mov dword [0x34c8b4], 0
jmp 0x7a9a81
dec eax
jle 0x7a9200
push 0x346395
push 0
call fcn.00794ffc
pop ecx
pop ebx
cmp dword [0x87a0], 0
je 0x7a920e
call fcn.00479f70
mov dword [0x8314], 0
mov dword [0x34c8ac], 0
mov dword [ebp - 0x25c], 0
mov byte [0x359b00], 0
cmp dword [0x307ff8], 0
je 0x7a924b
call fcn.007a7f90
mov dword [ebp - 0x25c], eax
test eax, eax
jne 0x7a9275
cmp byte [0x8217], 0
je 0x7a926c
cmp dword [0x879c], 0
jne 0x7a9270
push 0x8217
call fcn.0079be7d
pop edx
test eax, eax
jne 0x7a9270
xor eax, eax
jmp 0x7a9275
mov eax, 1
mov dword [0x8314], 0
mov dword [0x879c], 0
test eax, eax
jne 0x7a92ad
cmp dword [0x34c8ac], 0
jne 0x7a9947
call fcn.007a7f90
mov dword [ebp - 0x25c], eax
test eax, eax
je 0x7a9a49
call fcn.007a8fe5
xor edi, edi
mov dword [0x30dad5], 1
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x260], 0x3e9200
jmp 0x7a9669
push dword [ebp - 0x260]
call fcn.00796ad9
mov dword [0x8314], 0
mov esi, eax
pop eax
test esi, esi
je 0x7a9669
cmp esi, 0xffffffff
je 0x7a95b2
cmp dword [esi + 8], 0
jne 0x7a95b2
cmp esi, 0x34afc0
je 0x7a9498
push dword [ebp - 0x260]
mov eax, dword [0x82a0]
mov edx, dword [0x829c]
push 1
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], edx
call fcn.007969b8
pop ecx
mov dword [ebp - 0x260], eax
pop ebx
cmp dword [ebp - 0x25c], 0
je 0x7a937d
cmp dword [0x307ffc], 0x800
jne 0x7a937d
mov ebx, dword [0x358e14]
jmp 0x7a938c
mov ebx, dword [0x8328]
cmp dword [ebp - 0x25c], 0
je 0x7a9398
cmp dword [0x307ffc], 0x800
je 0x7a939d
call fcn.0079ad08
cmp dword [0x87a0], 0
je 0x7a93d4
push dword [ebp - 0x260]
push 0x34a3c4
push 0
mov dword [0x30dad5], 0
call fcn.00794ffc
call fcn.0079493c
mov dword [0x30dad5], 1
add esp, 0xc
push 4
push dword [ebp - 0x260]
call dword [esi + 4]
mov ecx, dword [ebp - 0x258]
mov esi, eax
mov eax, dword [ebp - 0x254]
mov dword [0x829c], eax
mov dword [0x82a0], ecx
pop eax
pop edx
cmp dword [ebp - 0x25c], 0
je 0x7a942e
call fcn.007a7f90
cmp dword [0x307ffc], 0x800
jne 0x7a941c
mov dword [0x358e14], ebx
jmp 0x7a9449
mov dword [0x8328], ebx
mov dword [0x832c], 0
jmp 0x7a9449
push 0x8217
call fcn.0079be7d
mov dword [0x8328], ebx
mov dword [0x832c], 0
pop eax
cmp dword [0x87a0], 0
je 0x7a9484
mov dword [0x30dad5], 0
mov eax, 0x34a3d2
test esi, esi
jne 0x7a946a
mov eax, 0x34a3d6
push eax
push 0x34a3d9
push 0
call fcn.00794ffc
mov dword [0x30dad5], 1
add esp, 0xc
test esi, esi
je 0x7a9490
add dword [ebp - 0x260], esi
jmp 0x7a9498
or edi, 0x10
jmp 0x7a9669
test edi, 2
je 0x7a94e4
mov ecx, dword [0x358e00]
cmp ecx, 0xff
ja 0x7a9687
mov edx, dword [0x358cd0]
mov eax, dword [0x358cc4]
movsx eax, byte [edx + eax]
and eax, 1
add dword [ebp - 0x26c], eax
lea eax, [ecx + 1]
mov dword [0x358e00], eax
mov eax, dword [0x35a004]
mov byte [edx + eax], 0
inc eax
mov dword [ebp - 0x270], eax
jmp 0x7a9507
and edi, 1
je 0x7a94f7
mov edx, dword [ebp - 0x270]
mov dword [0x35a004], edx
jmp 0x7a950c
mov eax, dword [0x35a004]
mov edx, dword [0x358cd0]
mov byte [edx + eax], 0
inc eax
mov dword [0x35a004], eax
mov ebx, dword [ebp - 0x260]
jmp 0x7a9515
inc ebx
mov dl, byte [ebx]
test dl, dl
setne cl
cmp dl, 0x20
setne al
test al, cl
je 0x7a9530
cmp dl, 9
je 0x7a9530
cmp dl, 0x3d
jne 0x7a9514
cmp cl, 1
mov edx, dword [0x35a004]
mov ecx, dword [0x358e00]
mov dword [0x358cc4], edx
sbb ebx, 0xffffffff
cmp ecx, 0xff
ja 0x7a956d
mov eax, dword [0x358e08]
add edx, dword [0x358cd0]
mov dword [eax + ecx*4], edx
mov eax, dword [0x358e04]
mov edi, dword [ebp - 0x26c]
mov word [eax + ecx*2], di
mov eax, dword [0x35a004]
mov edx, dword [0x358cd0]
mov byte [edx + eax], 8
inc eax
push ebx
mov dword [0x35a004], eax
call fcn.0077f4fb
mov byte [ebx + eax], 0
mov ecx, dword [0x358cd0]
pop edi
mov eax, dword [0x35a004]
mov dl, byte [ebx]
inc ebx
mov byte [ecx + eax], dl
inc eax
mov dword [0x35a004], eax
test dl, dl
jne 0x7a9593
mov edi, 1
jmp 0x7a9669
test edi, 0x10
jne 0x7a9669
test edi, edi
jne 0x7a9623
cmp esi, 0xffffffff
jne 0x7a95d5
mov ebx, dword [0x358cd0]
mov ecx, dword [ebp - 0x260]
jmp 0x7a95e0
test byte [esi + 8], 2
jne 0x7a95c7
jmp 0x7a9667
mov eax, dword [0x35a004]
mov dl, byte [ecx]
inc ecx
mov byte [ebx + eax], dl
inc eax
mov dword [ebp - 0x270], eax
mov dword [0x35a004], eax
test dl, dl
jne 0x7a95e0
cmp esi, 0x34afac
jne 0x7a960d
mov dword [ebp - 0x268], 1
cmp esi, 0x34afec
jne 0x7a9667
xor edi, edi
mov dword [ebp - 0x264], 1
jmp 0x7a9669
mov ebx, dword [0x358cd0]
mov ecx, dword [ebp - 0x260]
mov eax, dword [0x35a004]
mov dl, byte [ecx]
inc ecx
mov byte [ebx + eax], dl
inc eax
mov dword [ebp - 0x270], eax
mov dword [0x35a004], eax
test dl, dl
jne 0x7a962f
mov edi, 2
cmp esi, 0xffffffff
je 0x7a9669
mov eax, dword [esi + 8]
add ebx, dword [0x358cc4]
shr eax, 6
and eax, 1
or byte [ebx], al
jmp 0x7a9669
xor edi, edi
mov ecx, dword [ebp - 0x25c]
mov edx, 0x5dc
mov eax, dword [ebp - 0x260]
call fcn.007a8e30
test eax, eax
jne 0x7a92f5
mov dword [0x30dad5], 0
cmp dword [ebp - 0x25c], 0
je 0x7a972c
push 0
push 0
call fcn.00782ef8
pop ebx
cmp dword [0x307ff8], 0
pop esi
je 0x7a970f
mov eax, 0x34a166
cmp dword [0x307ffc], 0x800
jne 0x7a96c8
mov eax, 0x34a3df
push 0
push eax
call fcn.00782ef8
pop edx
test eax, eax
pop ecx
je 0x7a9704
cmp dword [ebp - 0x268], 0
jne 0x7a9704
cmp dword [0x87a0], 0
je 0x7a96f6
push 0x34a3e7
push 0
call fcn.00794ffc
pop esi
pop eax
push 0
push 0x34a412
call fcn.0078f2a1
pop ecx
pop ebx
push 0
push 0
call fcn.00782ef8
pop eax
pop edx
cmp dword [0x307ffc], 0x800
je 0x7a9720
call fcn.0079ad08
mov dword [0x307ff8], 0
jmp 0x7a9752
call fcn.0079ad08
push 0
push 0
call fcn.00782ef8
push 0
push 0x8217
call fcn.00782ef8
push 0
push 0
call fcn.00782ef8
add esp, 0x18
and edi, 2
je 0x7a976b
mov eax, dword [0x358e00]
cmp eax, 0xff
ja 0x7a9776
inc eax
mov dword [0x358e00], eax
jmp 0x7a9776
mov eax, dword [ebp - 0x270]
mov dword [0x35a004], eax
mov eax, dword [0x35a004]
mov edx, dword [0x358cd0]
mov byte [edx + eax], 0
inc eax
mov dword [0x35a004], eax
mov edx, dword [0x358e00]
mov eax, dword [0x358e04]
cmp edx, 0xff
mov word [eax + edx*2], 0xffff
ja 0x7a97b0
mov eax, dword [0x358e08]
mov dword [eax + edx*4], 0
cmp dword [0x87a0], 0
setne dl
cmp dword [ebp - 0x264], 0
sete al
or dl, al
je 0x7a97d6
push 0x34a421
push 0
call fcn.00794ffc
pop edi
pop eax
mov edx, dword [0x35a004]
mov ecx, dword [0x358cd0]
add edx, ecx
mov dword [0x8318], 0xffffffff
mov dword [ebp - 0x24c], edx
mov dword [0x34bde4], 0xffffffff
mov dword [0x359b38], 0
mov dword [0x8314], 0
mov dword [ebp - 0x248], 1
mov edi, dword [0x358ccc]
mov dword [0x34c8ac], 0
mov byte [0x359b60], 0
mov dword [ebp - 0x250], edi
mov edx, edi
mov al, byte [edx]
inc edx
test al, al
jne 0x7a983b
mov dword [0x358ccc], edx
sub edx, dword [ebp - 0x250]
push edx
push dword [ebp - 0x250]
push dword [ebp - 0x24c]
call fcn.00794e4f
mov eax, dword [ebp - 0x24c]
add esp, 0xc
cmp byte [eax], 0
jne 0x7a988b
cmp dword [0x359b38], 0
je 0x7a9956
push 5
push 0x3468c4
push eax
call fcn.00794e4f
add esp, 0xc
push 2
push dword [ebp - 0x24c]
call fcn.00796d07
pop ebx
cmp dword [0x87a0], 0
pop esi
je 0x7a98bd
mov eax, dword [0x8330]
cmp eax, 1
ja 0x7a98bd
mov dword [0x8330], 2
mov dword [ebp - 0x248], eax
cmp dword [0x358e00], 0
je 0x7a992c
cmp dword [0x8314], 0
jne 0x7a992c
cmp byte [0x359b60], 0
je 0x7a992c
cmp dword [0x359c00], 0
jne 0x7a992c
cmp dword [0x34b004], 0
je 0x7a992c
cmp dword [0x34b008], 0
je 0x7a992c
mov ecx, dword [0x35a004]
mov ebx, dword [0x34c8ac]
push dword [0x34c8b8]
add ecx, dword [0x358cd0]
mov edx, dword [0x358ccc]
mov eax, dword [0x358e08]
mov dword [0x34c8ac], 1
call fcn.007a8865
mov dword [0x34c8ac], ebx
pop ecx
cmp dword [0x87a0], 0
je 0x7a993a
call fcn.00479f70
cmp dword [0x34c8ac], 0
jne 0x7a9222
mov edx, dword [ebp - 0x250]
cmp byte [edx], 0
jne 0x7a981c
mov dword [0x359b38], 0
cmp dword [0x87a0], 0
je 0x7a9991
mov ecx, dword [ebp - 0x248]
push 0x34a468
mov dword [0x8330], ecx
push 0
call fcn.00794ffc
pop eax
cmp dword [0x87a0], 0
pop edx
je 0x7a9991
call fcn.00479f70
mov dword [0x8314], 0
cmp dword [0x359c08], 0
js 0x7a99fb
xor ebx, ebx
mov esi, 0x1c
mov eax, dword [ebx*4 + 0x359b40]
test eax, eax
js 0x7a99e8
cmp eax, dword [0x358e00]
jb 0x7a99df
lea eax, [ebx*4]
push esi
dec ebx
add esi, 4
lea edx, [eax + 0x359b44]
add eax, 0x359b40
push edx
push eax
call fcn.00794e4f
add esp, 0xc
inc ebx
sub esi, 4
cmp ebx, 7
jle 0x7a99ab
cmp dword [0x359b40], 0
jns 0x7a99fb
mov dword [0x359c08], 0xffffffff
mov eax, dword [0x358e00]
cmp dword [0x34c8b8], eax
jb 0x7a9a49
mov edx, dword [0x359c08]
test edx, edx
js 0x7a9a3f
mov eax, dword [0x359b40]
mov dword [0x34c8b8], eax
lea eax, [edx + 1]
mov dword [0x359c08], eax
cmp eax, 7
jg 0x7a9a33
cmp dword [eax*4 + 0x359b40], 0
jns 0x7a9a49
mov dword [0x359c08], 0xffffffff
jmp 0x7a9a49
mov dword [0x34c8b8], 0
mov eax, dword [0x30da65]
mov dword [0x307ff8], 0
mov dword [0x34c8ac], 1
mov eax, dword [eax + 0x30]
test eax, eax
je 0x7a9a6b
call eax
cmp dword [0x358e00], 0
jne 0x7a9a88
push 1
push dword [0x358cd0]
call fcn.007970f7
pop esi
pop edi
jmp 0x7a907e
mov eax, dword [0x827c]
test eax, eax
je 0x7a9a99
push 0
push 0
call eax
pop ecx
pop ebx
mov eax, dword [0x35a004]
mov edx, dword [0x358cd0]
add eax, edx
mov ecx, dword [0x358ccc]
mov dword [ebp - 0x244], eax
mov eax, dword [0x358e08]
mov dword [ebp - 0x220], eax
mov eax, dword [0x359c00]
mov edi, dword [0x34c8b8]
mov dword [ebp - 0x240], ecx
mov dword [ebp - 0x230], 0
test eax, eax
je 0x7a9aef
push 0x200
push eax
call fcn.00796a9f
mov dword [ebp - 0x230], eax
pop eax
pop edx
mov dword [ebp - 0x238], 0xffffffff
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x234], 0
mov ebx, dword [0x30da65]
test byte [ebx + 4], 4
jne 0x7a9b94
mov cl, byte [0x34c721]
test cl, cl
je 0x7a9b29
movzx eax, cl
dec eax
jmp 0x7a9b39
movzx eax, word [ebx + 0xa]
movzx edx, byte [0x34c720]
sub eax, edx
sub eax, 7
cmp edi, eax
jle 0x7a9b94
test cl, cl
je 0x7a9b47
movzx eax, cl
dec eax
jmp 0x7a9b57
movzx eax, word [ebx + 0xa]
movzx edx, byte [0x34c720]
sub eax, edx
sub eax, 7
sub edi, eax
add dword [ebp - 0x21c], edi
test cl, cl
je 0x7a9b84
movzx eax, cl
lea edi, [eax - 1]
jmp 0x7a9b94
mov dword [0x34b008], 0xffffffff
mov dword [0x34b004], 1
jmp 0x7a9cb4
movzx eax, word [ebx + 0xa]
movzx edx, byte [0x34c720]
sub eax, edx
lea edi, [eax - 7]
cmp dword [0x34b008], 0
jns 0x7a9ba7
mov dword [0x34b004], 1
call fcn.0079489e
cmp dword [0x34b004], 0
jne 0x7a9cb4
call fcn.0047a1a5
cmp eax, 0xff
je 0x7a9bb9
call fcn.00794932
inc eax
je 0x7a9c48
call fcn.0079493c
mov ebx, eax
mov eax, dword [0x34c8b0]
cmp eax, 1
jle 0x7a9c34
cmp ebx, eax
jne 0x7aae4b
mov eax, dword [0x359c00]
test eax, eax
je 0x7a9c34
push dword [0x359c04]
push eax
call fcn.0077d3d0
pop ecx
test eax, eax
pop esi
je 0x7a9c1b
push 0x34a4b8
push 0
call fcn.00794ffc
pop eax
pop edx
mov dword [0x34b008], 5
jmp 0x7a9bc5
mov edx, dword [ebp - 0x230]
cmp byte [edx], 0
jne 0x7a91d0
mov dword [0x34c8b4], 1
cmp bl, 0x72
sete dl
cmp bl, 0x52
sete al
or dl, al
jne 0x7a9b6b
cmp dword [0x34b008], 0
js 0x7a9bc5
call fcn.0047a1a5
mov ebx, eax
cmp eax, dword [ebp - 0x238]
je 0x7a9bc5
cmp eax, 0xff
je 0x7a9bc5
mov eax, dword [0x34b008]
test eax, eax
jle 0x7aae27
dec eax
mov dword [ebp - 0x238], ebx
mov dword [0x34b008], eax
cmp dword [0x34c8b0], 0
jne 0x7a9bc5
push eax
push 0x34a4c6
push 0
call fcn.00794ffc
add esp, 0xc
mov dword [ebp - 0x238], ebx
jmp 0x7a9bc5
mov eax, dword [0x30da65]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x7a9cc5
push 1
call eax
pop eax
push 2
call fcn.00794970
call fcn.0079489e
pop esi
cmp dword [0x34b004], 0
je 0x7aa06f
call fcn.007948c3
mov eax, dword [0x30da65]
test byte [eax + 4], 4
je 0x7a9d0a
mov ecx, dword [ebp - 0x220]
mov edx, dword [ebp - 0x21c]
mov eax, dword [0x358e00]
call fcn.007a8675
jmp 0x7a9f9b
cmp dword [0x30da75], 0
je 0x7a9dd7
cmp dword [0x34c818], 0xff
jbe 0x7a9dd7
mov eax, dword [eax + 0x24]
test eax, eax
je 0x7a9d33
push 5
call eax
pop ebx
mov ecx, dword [0x359408]
mov esi, dword [0x359404]
movzx eax, byte [0x34c71e]
add ecx, dword [0x34c82c]
sub eax, 2
imul eax, ecx
mov edx, ecx
add esi, dword [0x34c828]
shr edx, 1
add eax, edx
mov dl, byte [0x34c720]
movzx ebx, dl
imul ebx, esi
mov dword [ebp - 0x22c], eax
mov eax, esi
shr eax, 1
sub ebx, eax
mov al, byte [0x34c71f]
test al, al
je 0x7a9d87
movzx eax, al
add eax, 2
jmp 0x7a9d91
mov eax, dword [0x30da65]
movzx eax, word [eax + 8]
dec eax
imul ecx, eax
mov al, byte [0x34c721]
test al, al
je 0x7a9da5
movzx eax, al
lea edx, [eax + 1]
jmp 0x7a9db6
mov eax, dword [0x30da65]
movzx edx, dl
movzx eax, word [eax + 0xa]
sub eax, edx
lea edx, [eax - 5]
imul edx, esi
movzx eax, byte [0x34c723]
push eax
push edx
push ecx
push ebx
push dword [ebp - 0x22c]
call fcn.007ac1d9
add esp, 0x14
jmp 0x7a9f9b
mov eax, dword [eax + 0x24]
test eax, eax
je 0x7a9de3
push 1
call eax
pop ecx
movzx eax, byte [0x34c720]
dec eax
xor ebx, ebx
push eax
movzx eax, byte [0x34c71e]
sub eax, 2
push eax
call fcn.00794928
movzx eax, byte [0x34c718]
push 0xff
push eax
call dword [0x30d8e5]
add esp, 0x10
jmp 0x7a9e28
movzx eax, byte [0x34c71c]
push 0xff
inc ebx
push eax
call edx
pop eax
pop edx
mov al, byte [0x34c71f]
test al, al
je 0x7a9e37
movzx eax, al
inc eax
jmp 0x7a9e43
mov eax, dword [0x30da65]
movzx eax, word [eax + 8]
sub eax, 2
cmp ebx, eax
mov edx, dword [0x30d8e5]
jl 0x7a9e16
movzx eax, byte [0x34c719]
push 0xff
push eax
call edx
xor ebx, ebx
pop ecx
pop esi
jmp 0x7a9eda
movzx eax, al
add eax, ebx
push eax
movzx eax, byte [0x34c71e]
sub eax, 2
push eax
call fcn.00794928
movzx eax, byte [0x34c71d]
push 0xff
push eax
call dword [0x30d8e5]
add esp, 0x10
movzx eax, byte [0x34c720]
movzx ecx, byte [0x34c71e]
lea edx, [eax + ebx]
mov al, byte [0x34c71f]
test al, al
je 0x7a9ead
movzx eax, al
jmp 0x7a9eb9
mov eax, dword [0x30da65]
movzx eax, word [eax + 8]
sub eax, 3
lea eax, [ecx + eax]
push edx
push eax
call fcn.00794928
movzx eax, byte [0x34c71d]
push 0xff
push eax
inc ebx
call dword [0x30d8e5]
add esp, 0x10
mov cl, byte [0x34c721]
test cl, cl
je 0x7a9ee9
movzx eax, cl
jmp 0x7a9efe
mov eax, dword [0x30da65]
movzx edx, byte [0x34c720]
movzx eax, word [eax + 0xa]
sub eax, edx
sub eax, 6
cmp ebx, eax
mov al, byte [0x34c720]
jl 0x7a9e62
movzx edx, al
test cl, cl
je 0x7a9f17
movzx eax, cl
jmp 0x7a9f25
mov eax, dword [0x30da65]
movzx eax, word [eax + 0xa]
sub eax, edx
sub eax, 6
lea eax, [edx + eax]
xor ebx, ebx
push eax
movzx eax, byte [0x34c71e]
sub eax, 2
push eax
call fcn.00794928
movzx eax, byte [0x34c71a]
push 0xff
push eax
call dword [0x30d8e5]
add esp, 0x10
jmp 0x7a9f65
movzx eax, byte [0x34c71c]
push 0xff
inc ebx
push eax
call edx
pop eax
pop edx
mov al, byte [0x34c71f]
test al, al
je 0x7a9f74
movzx eax, al
inc eax
jmp 0x7a9f80
mov eax, dword [0x30da65]
movzx eax, word [eax + 8]
sub eax, 2
cmp ebx, eax
mov edx, dword [0x30d8e5]
jl 0x7a9f53
movzx eax, byte [0x34c71b]
push 0xff
push eax
call edx
pop ebx
pop esi
mov eax, dword [0x30da65]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x7a9fac
push 3
call eax
pop ecx
mov al, byte [0x34c722]
test al, al
je 0x7a9fbd
movzx eax, al
lea ebx, [eax + 1]
jmp 0x7a9ff5
mov eax, dword [0x30da65]
movzx eax, word [eax + 0xa]
lea ebx, [eax - 5]
jmp 0x7a9ff5
push ebx
push 0
call fcn.00794928
xor esi, esi
jmp 0x7a9fe5
push 0xff
push 0x20
call dword [0x30d8e5]
inc esi
pop eax
mov eax, dword [0x30da65]
pop edx
movzx eax, word [eax + 8]
cmp esi, eax
jl 0x7a9fd7
inc ebx
mov dl, byte [0x34c722]
test dl, dl
je 0x7aa007
movzx eax, dl
add eax, 6
jmp 0x7aa010
mov eax, dword [0x30da65]
movzx eax, word [eax + 0xa]
cmp ebx, eax
jl 0x7a9fcb
test dl, dl
je 0x7aa01e
movzx eax, dl
inc eax
jmp 0x7aa02a
mov eax, dword [0x30da65]
movzx eax, word [eax + 0xa]
sub eax, 5
push eax
push 0
call fcn.00794928
mov eax, dword [ebp - 0x240]
call fcn.007a8037
mov eax, dword [0x30da65]
pop ecx
test byte [eax + 4], 4
pop ebx
je 0x7aa05c
push edi
push 0x34a4f0
push 0
call fcn.00794ffc
add esp, 0xc
jmp 0x7aa06f
mov ecx, dword [ebp - 0x220]
mov edx, edi
mov eax, dword [ebp - 0x21c]
call fcn.007a84ae
cmp byte [0x359b00], 0
je 0x7aa086
push 2
push 0x359b00
call fcn.0079162e
pop eax
pop edx
call fcn.0047a1a5
cmp eax, 0xff
je 0x7aa086
mov dword [0x358cdc], 0
mov dword [0x358cd8], 0
mov dword [0x358cd4], 0
mov dword [0x358e10], 0
mov dword [ebp - 0x234], 0
cmp dword [0x34b008], 0
js 0x7aa207
call fcn.0047a1a5
mov ecx, dword [ebp - 0x238]
mov dword [ebp - 0x224], eax
cmp eax, ecx
je 0x7aa207
cmp eax, 0xff
je 0x7aa207
cmp dword [0x34b008], 0
jle 0x7aae27
mov eax, dword [0x30da65]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x7aa113
push 3
call eax
pop eax
mov eax, dword [0x30da65]
test byte [eax + 4], 4
je 0x7aa139
push dword [0x34b008]
push edi
push 0x34a50c
push 0
call fcn.00794ffc
add esp, 0x10
jmp 0x7aa1f5
push dword [0x34b008]
lea eax, [ebp - 0x218]
push 0x34a549
push eax
call fcn.00794ffc
mov al, byte [0x34c722]
add esp, 0xc
test al, al
je 0x7aa164
movzx eax, al
add eax, 5
jmp 0x7aa16e
mov eax, dword [0x30da65]
movzx eax, word [eax + 0xa]
dec eax
push eax
push 0
call fcn.00794928
mov bl, 0x20
pop ecx
lea esi, [ebp - 0x218]
xor edx, edx
pop eax
jmp 0x7aa1b1
cmp bl, 0x1f
jbe 0x7aa18c
mov bl, byte [esi]
inc esi
sub eax, edx
mov ecx, 0x20
mov edx, dword [0x30d8e5]
cmp bl, 0x1f
jbe 0x7aa1a1
movzx ecx, bl
push eax
push ecx
call edx
pop ecx
test eax, eax
pop edx
js 0x7aa1be
mov edx, dword [0x30da81]
mov eax, dword [0x30da65]
movzx eax, word [eax + 8]
cmp edx, eax
jb 0x7aa184
movzx eax, byte [0x34c720]
movzx ecx, byte [0x34c71e]
lea edx, [eax + edi]
mov al, byte [0x34c71f]
test al, al
je 0x7aa1dd
movzx eax, al
jmp 0x7aa1e9
mov eax, dword [0x30da65]
movzx eax, word [eax + 8]
sub eax, 3
lea eax, [ecx + eax]
push edx
push eax
call fcn.00794928
pop eax
pop edx
dec dword [0x34b008]
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x238], eax
call fcn.00794932
test eax, eax
jns 0x7aa21d
cmp dword [0x34b008], 0
jns 0x7aa0c4
mov eax, dword [0x30da65]
test byte [eax + 4], 4
je 0x7aa238
push edi
push 0x34a58c
push 0
call fcn.00794ffc
add esp, 0xc
cmp dword [ebp - 0x240], 0
je 0x7aa28f
mov eax, dword [0x827c]
test eax, eax
je 0x7aa28f
mov dword [0x30dad5], 0x800
push 0xffffffffffffffff
push 0
call eax
mov dword [ebp - 0x23c], eax
pop ebx
sar eax, 0x10
mov dword [0x30dad5], 0
pop esi
je 0x7aa29a
movzx edx, al
mov dword [0x358e10], edx
test dword [ebp - 0x23c], 0x40000000
jne 0x7aa8b6
jmp 0x7aae19
call fcn.0079493c
mov dword [ebp - 0x23c], eax
cmp dword [0x358cd4], 0
jne 0x7aa2e4
cmp dword [0x358cdc], 0
jne 0x7aa2b8
mov edx, dword [ebp - 0x23c]
mov dword [0x358cdc], edx
mov ecx, dword [ebp - 0x23c]
cmp ecx, dword [0x358cdc]
jne 0x7aa2da
mov eax, dword [0x358cd8]
cmp eax, 0x7fffffff
je 0x7aa2e4
inc eax
mov dword [0x358cd8], eax
jmp 0x7aa2e4
mov dword [0x358cd4], 1
cmp dword [0x34b008], 0
js 0x7aa3ab
mov eax, dword [0x30da65]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x7aa302
push 3
call eax
pop ecx
mov edx, dword [0x30da65]
test byte [edx + 4], 4
je 0x7aa31d
push 0xff
push 0xd
call dword [0x30d8e5]
jmp 0x7aa33b
mov al, byte [0x34c722]
test al, al
je 0x7aa32e
movzx eax, al
add eax, 5
jmp 0x7aa333
movzx eax, word [edx + 0xa]
dec eax
push eax
push 0
call fcn.00794928
pop eax
xor ebx, ebx
pop edx
jmp 0x7aa351
push 0xff
inc ebx
push 0x20
call dword [0x30d8e5]
pop esi
pop eax
mov edx, dword [0x30da65]
movzx eax, word [edx + 8]
cmp ebx, eax
jb 0x7aa341
mov dword [0x34b008], 0xffffffff
mov dword [0x359c08], 0xffffffff
test byte [edx + 4], 4
jne 0x7aa3ab
movzx eax, byte [0x34c720]
movzx ebx, byte [0x34c71e]
lea ecx, [eax + edi]
mov al, byte [0x34c71f]
test al, al
je 0x7aa398
movzx eax, al
jmp 0x7aa39f
movzx eax, word [edx + 8]
sub eax, 3
lea eax, [ebx + eax]
push ecx
push eax
call fcn.00794928
pop ecx
pop ebx
mov ebx, dword [0x358e00]
test ebx, ebx
jne 0x7aa3c6
xor edi, edi
mov dword [ebp - 0x21c], 0
jmp 0x7aaa1d
cmp dword [ebp - 0x23c], 0x4800
sete cl
cmp dword [ebp - 0x23c], 0x4b00
sete al
or al, cl
jne 0x7aa3f3
mov dl, byte [ebp - 0x23c]
cmp dl, 0x5e
jne 0x7aa4a0
mov eax, dword [0x30da65]
mov dword [0x358e10], 0
test byte [eax + 4], 4
je 0x7aa416
test edi, edi
jle 0x7aaa1d
dec edi
jmp 0x7aaa1d
test cl, cl
je 0x7aa460
mov ebx, dword [ebp - 0x21c]
add ebx, edi
mov dword [0x358e10], ebx
mov edx, dword [0x358e00]
mov eax, dword [0x358e10]
add eax, edx
mov ecx, edx
dec eax
xor edx, edx
div ecx
mov dword [0x358e10], edx
cmp edx, ebx
je 0x7aaa1d
mov eax, dword [ebp - 0x220]
call fcn.007a808e
cmp byte [eax], 8
jne 0x7aa8b6
jmp 0x7aa428
test edi, edi
jle 0x7aa488
movzx eax, byte [0x34c720]
push dword [ebp - 0x220]
mov ecx, dword [ebp - 0x21c]
add eax, edi
add ecx, edi
xor edx, edx
call fcn.007a80c1
dec edi
jmp 0x7aa5bc
cmp dword [ebp - 0x21c], 0
jle 0x7aaa06
dec dword [ebp - 0x21c]
jmp 0x7aa611
cmp dword [ebp - 0x23c], 0x5000
sete cl
cmp dword [ebp - 0x23c], 0x4d00
sete al
or al, cl
jne 0x7aa4ef
cmp dl, 0x76
je 0x7aa4ef
cmp dword [0x358cd4], 0
jne 0x7aa629
mov eax, dword [ebp - 0x23c]
cmp eax, dword [0x358cdc]
jne 0x7aa629
cmp dword [0x358cd8], 7
jle 0x7aa629
mov esi, dword [0x30da65]
mov dword [0x358e10], 0
test byte [esi + 4], 4
je 0x7aa51d
mov edx, dword [ebp - 0x21c]
lea eax, [edx + edi + 1]
cmp eax, ebx
jae 0x7aaa1d
inc edi
jmp 0x7aaa1d
test cl, cl
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx + edi]
mov dword [ebp - 0x274], ecx
je 0x7aa56c
mov dword [0x358e10], ecx
mov eax, dword [0x358e10]
xor edx, edx
inc eax
div dword [0x358e00]
mov dword [0x358e10], edx
cmp edx, dword [ebp - 0x274]
je 0x7aaa1d
mov eax, dword [ebp - 0x220]
call fcn.007a808e
cmp byte [eax], 8
jne 0x7aa8b6
jmp 0x7aa536
mov eax, dword [ebp - 0x274]
inc eax
cmp eax, ebx
jae 0x7aa9eb
mov cl, byte [0x34c721]
test cl, cl
je 0x7aa58b
movzx eax, cl
dec eax
jmp 0x7aa59b
movzx eax, word [esi + 0xa]
movzx edx, byte [0x34c720]
sub eax, edx
sub eax, 7
cmp edi, eax
jge 0x7aa5e4
movzx eax, byte [0x34c720]
push dword [ebp - 0x220]
add eax, edi
mov ecx, dword [ebp - 0x274]
xor edx, edx
inc edi
call fcn.007a80c1
movzx eax, byte [0x34c720]
push dword [ebp - 0x220]
mov ecx, dword [ebp - 0x21c]
add eax, edi
mov edx, 1
add ecx, edi
call fcn.007a80c1
pop eax
pop edx
jmp 0x7aaa1d
test cl, cl
je 0x7aa5ed
movzx eax, cl
jmp 0x7aa5fd
movzx eax, word [esi + 0xa]
movzx edx, byte [0x34c720]
sub eax, edx
sub eax, 6
add eax, dword [ebp - 0x21c]
cmp ebx, eax
jbe 0x7aaa1d
inc dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x220]
mov edx, edi
mov eax, dword [ebp - 0x21c]
call fcn.007a84ae
jmp 0x7aaa1d
cmp dword [ebp - 0x23c], 0x4900
jne 0x7aa6a0
mov al, byte [0x34c721]
mov dword [0x358e10], 0
test al, al
je 0x7aa64d
movzx eax, al
jmp 0x7aa662
mov eax, dword [0x30da65]
movzx edx, byte [0x34c720]
movzx eax, word [eax + 0xa]
sub eax, edx
sub eax, 6
sub dword [ebp - 0x21c], eax
jns 0x7aa67e
add edi, dword [ebp - 0x21c]
jns 0x7aa674
xor edi, edi
mov dword [ebp - 0x21c], 0
mov ecx, dword [ebp - 0x220]
mov edx, edi
mov eax, dword [ebp - 0x21c]
call fcn.007a84ae
mov dword [ebp - 0x23c], 0x4900
jmp 0x7aaa1d
cmp dword [ebp - 0x23c], 0x5100
jne 0x7aa74a
mov cl, byte [0x34c721]
mov dword [0x358e10], 0
test cl, cl
je 0x7aa6c9
movzx eax, cl
jmp 0x7aa6de
mov eax, dword [0x30da65]
movzx edx, byte [0x34c720]
movzx eax, word [eax + 0xa]
sub eax, edx
sub eax, 6
add dword [ebp - 0x21c], eax
mov edx, dword [ebp - 0x21c]
lea eax, [edx + edi + 1]
cmp eax, ebx
jb 0x7aa728
test cl, cl
je 0x7aa6fb
movzx eax, cl
jmp 0x7aa710
mov eax, dword [0x30da65]
movzx edx, byte [0x34c720]
movzx eax, word [eax + 0xa]
sub eax, edx
sub eax, 6
mov ecx, ebx
sub ecx, eax
mov eax, ecx
not eax
sar eax, 0x1f
and ecx, eax
sub ebx, ecx
mov dword [ebp - 0x21c], ecx
lea edi, [ebx - 1]
mov ecx, dword [ebp - 0x220]
mov edx, edi
mov eax, dword [ebp - 0x21c]
call fcn.007a84ae
mov dword [ebp - 0x23c], 0x5100
jmp 0x7aaa1d
lea eax, [edx - 0x30]
cmp al, 9
ja 0x7aa9df
imul ax, word [0x358e0c], 0xa
movsx si, dl
lea eax, [eax + esi - 0x30]
mov word [0x358e0c], ax
cwde
cmp eax, ebx
jb 0x7aa786
movsx eax, dl
sub eax, 0x30
xor ecx, ecx
cmp eax, ebx
jae 0x7aa77f
lea ecx, [esi - 0x30]
mov word [0x358e0c], cx
mov ax, word [0x358e0c]
movsx ecx, ax
test ax, ax
mov dword [0x358e10], ecx
jne 0x7aa7a3
cmp dl, 0x30
jne 0x7aa9d0
mov al, byte [0x8274]
xor esi, esi
test al, al
je 0x7aa8aa
dec al
jne 0x7aa8b6
mov ebx, dword [0x358e04]
xor edx, edx
jmp 0x7aa7c5
inc edx
lea eax, [ecx + edx]
movzx eax, word [ebx + eax*2 + 2]
cmp eax, ecx
jle 0x7aa7c4
add edx, ecx
movzx eax, word [ebx + edx*2]
cmp eax, ecx
jne 0x7aa8b6
mov dword [0x358e10], edx
jmp 0x7aa8b6
mov edx, esi
mov eax, dword [ebp - 0x220]
call fcn.007a808e
xor ecx, ecx
jmp 0x7aa818
cmp dl, 0x1f
jg 0x7aa809
mov byte [ecx + 0x358d00], 0x20
jmp 0x7aa80f
mov byte [ecx + 0x358d00], dl
inc ecx
cmp ecx, 0xff
je 0x7aa81f
mov dl, byte [ecx + eax]
test dl, dl
jne 0x7aa7fb
mov byte [ecx + 0x358d00], 0
mov ebx, 0x358d00
xor ecx, ecx
jmp 0x7aa846
lea edx, [eax - 0x30]
cmp dl, 0xa
adc ecx, 0
test ecx, ecx
jne 0x7aa845
cmp al, 0x20
je 0x7aa845
cmp dl, 9
ja 0x7aa8a9
inc ebx
mov al, byte [ebx]
test al, al
jne 0x7aa82f
test ecx, ecx
jle 0x7aa8a9
xor edx, edx
mov ebx, 0x358d00
mov dword [ebp - 0x228], 0
jmp 0x7aa88f
lea eax, [ecx - 0x30]
cmp al, 9
ja 0x7aa880
imul edx, edx, 0xa
movsx eax, cl
mov dword [ebp - 0x228], 1
lea edx, [edx + eax - 0x30]
jmp 0x7aa88e
cmp cl, 0x20
setne al
or al, byte [ebp - 0x228]
jne 0x7aa895
inc ebx
mov cl, byte [ebx]
test cl, cl
jne 0x7aa863
cmp edx, dword [0x358e10]
jne 0x7aa8a9
mov dword [0x358e10], esi
mov esi, dword [0x358e00]
inc esi
cmp esi, dword [0x358e00]
jb 0x7aa7ea
mov ecx, dword [ebp - 0x21c]
mov ebx, dword [0x358e10]
add ecx, edi
cmp ebx, ecx
je 0x7aa9d0
cmp ebx, dword [ebp - 0x21c]
jl 0x7aa905
mov al, byte [0x34c721]
test al, al
je 0x7aa8e2
movzx eax, al
jmp 0x7aa8f7
mov eax, dword [0x30da65]
movzx edx, byte [0x34c720]
movzx eax, word [eax + 0xa]
sub eax, edx
sub eax, 6
add eax, dword [ebp - 0x21c]
cmp ebx, eax
jl 0x7aa991
mov cl, byte [0x34c721]
test cl, cl
je 0x7aa914
movzx edx, cl
jmp 0x7aa929
mov eax, dword [0x30da65]
movzx edx, byte [0x34c720]
movzx eax, word [eax + 0xa]
sub eax, edx
lea edx, [eax - 6]
mov eax, ebx
mov edi, edx
cdq
idiv edi
mov esi, eax
test cl, cl
je 0x7aa93b
movzx eax, cl
jmp 0x7aa950
mov eax, dword [0x30da65]
movzx edx, byte [0x34c720]
movzx eax, word [eax + 0xa]
sub eax, edx
sub eax, 6
imul esi, eax
test cl, cl
mov dword [ebp - 0x21c], esi
je 0x7aa962
movzx ecx, cl
jmp 0x7aa977
mov eax, dword [0x30da65]
movzx edx, byte [0x34c720]
movzx eax, word [eax + 0xa]
sub eax, edx
lea ecx, [eax - 6]
mov eax, ebx
cdq
idiv ecx
mov ecx, dword [ebp - 0x220]
mov eax, dword [ebp - 0x21c]
mov edi, edx
call fcn.007a84ae
jmp 0x7aa9d0
push dword [ebp - 0x220]
movzx eax, byte [0x34c720]
xor edx, edx
add eax, edi
call fcn.007a80c1
mov ecx, dword [0x358e10]
mov edi, ecx
mov edx, 1
sub edi, dword [ebp - 0x21c]
movzx eax, byte [0x34c720]
push dword [ebp - 0x220]
add eax, edi
call fcn.007a80c1
pop esi
pop eax
mov eax, dword [0x358e00]
cmp dword [0x358e10], eax
jb 0x7aaa1d
jmp 0x7aaa13
cmp dword [ebp - 0x23c], 0x4700
jne 0x7aa9fa
mov dword [0x358e10], 0
jmp 0x7aa8b6
cmp dword [ebp - 0x23c], 0x4f00
jne 0x7aaa13
lea eax, [ebx - 1]
mov dword [0x358e10], eax
jmp 0x7aa8b6
mov dword [0x358e10], 0
mov eax, dword [0x30da65]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x7aaa2e
push 4
call eax
pop ebx
cmp dword [0x8330], 0
jle 0x7aaa85
movzx eax, byte [0x34c720]
movzx edx, byte [0x34c71e]
lea ecx, [eax - 2]
mov al, byte [0x34c71f]
test al, al
je 0x7aaa56
movzx eax, al
jmp 0x7aaa62
mov eax, dword [0x30da65]
movzx eax, word [eax + 8]
sub eax, 3
lea eax, [edx + eax - 4]
push ecx
push eax
call fcn.00794928
mov eax, dword [ebp - 0x21c]
add eax, edi
push eax
push 0x34a5ab
push 0
call fcn.00794ffc
add esp, 0x14
movzx eax, byte [0x34c720]
movzx ecx, byte [0x34c71e]
lea edx, [eax + edi]
mov al, byte [0x34c71f]
test al, al
je 0x7aaaa4
movzx eax, al
jmp 0x7aaab0
mov eax, dword [0x30da65]
movzx eax, word [eax + 8]
sub eax, 3
lea eax, [ecx + eax]
push edx
push eax
call fcn.00794928
mov eax, dword [0x30da65]
pop edx
pop ecx
mov eax, dword [eax + 0x24]
test eax, eax
je 0x7aaacd
push 0
call eax
pop eax
cmp dword [0x358cd4], 0
jne 0x7aab13
mov ecx, dword [ebp - 0x23c]
cmp ecx, dword [0x358cdc]
jne 0x7aab13
mov eax, dword [0x358cd8]
cmp eax, 0x1d
jg 0x7aab09
cmp eax, 7
setg dl
cmp ecx, 0x5000
setne al
test al, dl
je 0x7aab13
cmp ecx, 0x4800
je 0x7aab13
mov dword [0x34b008], 5
cmp dword [ebp - 0x240], 0
je 0x7aab60
mov cl, byte [ebp - 0x23c]
cmp cl, 0xa
sete dl
cmp cl, 0xd
sete al
or dl, al
jne 0x7aae41
cmp cl, 0x62
je 0x7aae41
cmp cl, 0x23
je 0x7aae41
cmp cl, 0x2a
je 0x7aae41
mov dword [ebp - 0x234], 0
jmp 0x7aad3e
mov dl, byte [ebp - 0x23c]
cmp dl, 0x6f
sete bl
cmp dl, 0x64
sete al
or al, bl
jne 0x7aab7f
cmp dl, 0x4f
jne 0x7aad1c
mov eax, dword [0x30da65]
test byte [eax + 4], 4
jne 0x7aaba9
movzx eax, byte [0x34c720]
push dword [ebp - 0x220]
mov ecx, dword [ebp - 0x21c]
add eax, edi
add ecx, edi
xor edx, edx
call fcn.007a80c1
pop eax
test bl, bl
je 0x7aac06
mov dword [ebp - 0x23c], 0x4f
cmp dword [0x358e00], 0
je 0x7aac06
mov al, byte [0x34c721]
test al, al
je 0x7aabcf
movzx eax, al
dec eax
jmp 0x7aabe4
mov eax, dword [0x30da65]
movzx edx, byte [0x34c720]
movzx eax, word [eax + 0xa]
sub eax, edx
sub eax, 7
cmp edi, eax
jl 0x7aabf3
mov eax, dword [0x30da65]
test byte [eax + 4], 4
je 0x7aabf6
inc edi
jmp 0x7aabfc
inc dword [ebp - 0x21c]
mov dword [ebp - 0x23c], 0x4f
mov ebx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x220]
add ebx, edi
mov edx, ebx
call fcn.007a808e
cmp byte [ebp - 0x23c], 0x4f
mov esi, eax
jne 0x7aac52
mov eax, dword [ebp - 0x244]
sub eax, esi
push eax
lea eax, [esi + 2]
push esi
push eax
call fcn.00794e4f
mov byte [esi], 0x20
mov byte [esi + 1], 0
add esp, 0xc
add dword [ebp - 0x244], 2
inc dword [0x358e00]
jmp 0x7aaca1
cmp dword [0x358e00], 0
je 0x7aaca1
lea edx, [ebx + 1]
mov eax, dword [ebp - 0x220]
call fcn.007a808e
mov ebx, eax
mov eax, dword [ebp - 0x244]
sub eax, ebx
push eax
push ebx
sub ebx, esi
push esi
call fcn.00794e4f
sub dword [ebp - 0x244], ebx
dec dword [0x358e00]
add esp, 0xc
test edi, edi
jle 0x7aac93
dec edi
jmp 0x7aaca1
cmp dword [ebp - 0x21c], 1
adc dword [ebp - 0x21c], 0xffffffff
mov eax, dword [0x30da65]
test byte [eax + 4], 4
je 0x7aace1
push 0xff
push 0xa
call dword [0x30d8e5]
push 0xff
push 0xa
call dword [0x30d8e5]
mov ecx, dword [ebp - 0x220]
mov edx, dword [ebp - 0x21c]
mov eax, dword [0x358e00]
call fcn.007a8675
add esp, 0x10
jmp 0x7aad1c
cmp dword [0x358e00], 0
je 0x7aacff
mov ecx, dword [ebp - 0x220]
mov edx, edi
mov eax, dword [ebp - 0x21c]
call fcn.007a84ae
jmp 0x7aad1c
push dword [ebp - 0x220]
mov ecx, dword [ebp - 0x21c]
xor edx, edx
movzx eax, byte [0x34c720]
add ecx, edi
call fcn.007a80c1
pop esi
mov al, byte [ebp - 0x23c]
cmp al, 0x1b
je 0x7a907e
cmp al, 0x62
je 0x7aae33
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x234], eax
cmp dword [0x34c8b4], 0
jne 0x7aadf8
cmp dword [0x359c00], 0
je 0x7aadf8
cmp byte [ebp - 0x23c], 0x70
jne 0x7aa0c4
mov edx, dword [0x30da65]
test byte [edx + 4], 4
je 0x7aad7f
push 0x34a5b0
push 0
call fcn.00794ffc
jmp 0x7aadae
mov al, byte [0x34c721]
test al, al
je 0x7aad90
movzx eax, al
lea edx, [eax + 6]
jmp 0x7aad9d
movzx edx, word [edx + 0xa]
movzx eax, byte [0x34c720]
sub edx, eax
movzx eax, byte [0x34c71e]
sub eax, 2
push edx
push eax
call fcn.00794928
pop ecx
pop ebx
push dword [0x359c04]
push dword [0x359c00]
call fcn.0077d3d0
pop esi
test eax, eax
pop edx
jne 0x7aade5
mov edx, dword [ebp - 0x230]
cmp byte [edx], 0
jne 0x7a91d0
mov dword [0x34c8b4], 1
jmp 0x7a9b0d
push 0x34a5d6
push 0
call fcn.00794ffc
call fcn.0079493c
jmp 0x7aae12
cmp byte [ebp - 0x23c], 0x63
jne 0x7aa0c4
push 0
push dword [ebp - 0x244]
call fcn.007970f7
pop ecx
pop ebx
jmp 0x7a9b0d
mov edi, edx
mov dword [ebp - 0x21c], 0
jmp 0x7aae4b
mov dword [0x34b008], 0xffffffff
jmp 0x7aae4b
mov ecx, dword [ebp - 0x220]
mov dword [ebp - 0x234], ecx
jmp 0x7aae4b
mov dword [ebp - 0x234], 0
push 1
call fcn.00794970
mov eax, dword [0x30da65]
pop edx
mov eax, dword [eax + 0x24]
test eax, eax
je 0x7aae64
push 0
call eax
pop eax
call fcn.0079489e
mov dword [0x358ce0], 0
cmp dword [0x8330], 0
jle 0x7aaefa
cmp dword [ebp - 0x240], 0
je 0x7aaeec
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x220]
add edx, edi
call fcn.007a808e
mov ebx, eax
mov al, byte [eax]
push 0x34a5fb
and eax, 0xfffffff0
cmp al, 1
adc ebx, 0
call fcn.00794868
pop eax
jmp 0x7aaec2
movzx eax, al
push 0xff
push eax
call dword [0x30d8e5]
pop ecx
pop esi
mov al, byte [ebx]
test al, al
je 0x7aaecd
inc ebx
cmp al, 0xa
jne 0x7aaeb1
push 0xff
push 0xa
call dword [0x30d8e5]
push 0xff
push 0xa
call dword [0x30d8e5]
add esp, 0x10
jmp 0x7aaefa
push 0x34a606
push 0
call fcn.00794ffc
pop eax
pop edx
mov edx, dword [ebp - 0x21c]
add edx, edi
mov dword [0x359ba4], edx
cmp dword [ebp - 0x234], 0
jne 0x7aaf32
mov eax, dword [0x358e08]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x234]
mov al, byte [ecx]
inc ecx
mov dword [ebp - 0x234], ecx
test al, al
jne 0x7aaf1f
cmp edx, dword [0x358e00]
jae 0x7aafd0
mov edx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x234]
call fcn.007a8744
test eax, eax
je 0x7aafd0
mov eax, dword [0x359c08]
test eax, eax
js 0x7aafd0
mov edi, dword [eax*4 + 0x359b40]
inc eax
mov dword [0x359c08], eax
cmp eax, 7
jg 0x7aaf78
cmp dword [eax*4 + 0x359b40], 0
jns 0x7aaf82
mov dword [0x359c08], 0xffffffff
mov eax, dword [0x358e00]
mov edx, dword [0x358ce0]
imul eax, eax
inc edx
mov dword [ebp - 0x234], 0
shl eax, 2
mov dword [0x358ce0], edx
mov dword [ebp - 0x21c], 0
cmp edx, eax
jbe 0x7aae73
push dword [0x359ba4]
push 0x34a61f
push 0
call fcn.00794ffc
call fcn.0079493c
add esp, 0xc
mov dword [0x34b004], 1
jmp 0x7a9b0d