Function at 0x7ac09c
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd94
xor eax, eax
xor edx, edx
xor ecx, ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp + 8]
xor edx, edx
lea ebx, [ebp - 0x6c]
mov eax, dword [ecx]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x50], edx
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp + 0xc]
mov edi, dword [eax]
xor eax, eax
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x68], edx
mov ecx, dword [ebp + 0x10]
xor eax, eax
xor edx, edx
mov ecx, dword [ecx]
mov dword [ebx], ecx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x78], edx
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
xor eax, eax
mov dword [ebp - 0x80], eax
test byte [ebp - 0x4b], 8
setne dl
and edx, 1
mov dword [ebp - 0x84], edx
test byte [ebp - 0x4b], 2
setne cl
and ecx, 1
xor edx, edx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
xor eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x24], edx
mov eax, 0xfffffffe
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
test byte [ebp - 0x4c], 1
je 0x7ac14e
mov edx, 1
jmp 0x7ac150
xor edx, edx
mov dword [ebp - 0x40], edx
mov eax, dword [ebx]
movzx esi, byte [eax]
test esi, esi
jne 0x7ac171
cmp dword [ebp - 0x74], 0
je 0x7ac171
mov eax, dword [ebp - 0x74]
xor edx, edx
mov dword [ebx], eax
mov dword [ebp - 0x74], edx
mov ecx, dword [ebx]
movzx esi, byte [ecx]
cmp dword [ebp + 0x34], 0
je 0x7ac20b
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x10]
add edx, dword [ecx + 0x3c]
add edx, 0xffffff9c
cmp edi, edx
jbe 0x7ac19c
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x34
jmp 0x7b0a30
cmp edi, dword [ebp - 0x58]
jae 0x7ac1a4
mov edi, dword [ebp - 0x58]
mov eax, dword [ebp + 0x34]
mov ecx, edi
mov edx, 0x7fffffeb
sub edx, dword [eax]
sub ecx, dword [ebp - 0x58]
cmp edx, ecx
jge 0x7ac1c5
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x14
jmp 0x7b0a30
mov eax, edi
mov edx, dword [ebp + 0x34]
sub eax, dword [ebp - 0x58]
add dword [edx], eax
cmp dword [ebp - 0x78], 0
je 0x7ac203
mov ecx, dword [ebp - 0x78]
cmp ecx, dword [ebp - 0x5c]
jbe 0x7ac206
mov eax, edi
sub eax, dword [ebp - 0x78]
push eax
mov edx, dword [ebp - 0x78]
push edx
mov ecx, dword [ebp - 0x5c]
push ecx
call fcn.004ef3e4
mov eax, dword [ebp - 0x78]
add esp, 0xc
sub eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x78], edx
sub edi, eax
jmp 0x7ac206
mov edi, dword [ebp - 0x5c]
mov dword [ebp - 0x58], edi
jmp 0x7ac230
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp + 0x30]
add edx, dword [ecx + 0x3c]
add edx, 0xffffff9c
cmp edx, dword [eax + 0x20]
jae 0x7ac230
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x34
jmp 0x7b0a30
cmp dword [ebp - 0x64], 0
je 0x7ac2a0
test esi, esi
je 0x7ac2a0
cmp esi, 0x5c
jne 0x7ac258
mov ecx, dword [ebx]
movzx ecx, byte [ecx + 1]
cmp ecx, 0x45
jne 0x7ac258
xor eax, eax
mov dword [ebp - 0x64], eax
inc dword [ebx]
jmp 0x7b0a29
cmp dword [ebp - 0x7c], 0
je 0x7ac27c
cmp dword [ebp + 0x34], 0
jne 0x7ac277
mov edx, dword [ebp + 0x30]
push edx
mov ecx, dword [ebx]
push ecx
mov eax, dword [ebp - 0x7c]
push eax
call fcn.007abc24
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x7c], edx
test byte [ebp - 0x4b], 0x40
je 0x7b0709
mov dword [ebp - 0x7c], edi
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebx]
push eax
push edi
call fcn.007abbec
add esp, 0xc
mov edi, eax
jmp 0x7b0709
test byte [ebp - 0x4c], 8
je 0x7ac3a9
jmp 0x7ac2b3
inc dword [ebx]
mov edx, dword [ebx]
movzx esi, byte [edx]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0xc]
test byte [edx + esi], 1
jne 0x7ac2ac
cmp esi, 0x23
jne 0x7ac3a9
inc dword [ebx]
jmp 0x7ac394
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x7c], 0
je 0x7ac31b
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [ebx]
jbe 0x7ac310
mov edx, dword [ebp - 0x84]
push edx
mov ecx, dword [ebp + 0x30]
add ecx, 0x80
push ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x1c]
push edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x7c]
push eax
mov edx, dword [ebx]
push edx
call fcn.007c47dc
add esp, 0x14
test eax, eax
jne 0x7ac314
xor ecx, ecx
jmp 0x7ac362
mov ecx, 1
jmp 0x7ac362
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp + 0x30]
sub edx, dword [eax + 0x80]
cmp edx, dword [ebx]
jb 0x7ac359
mov edx, dword [ebx]
mov esi, dword [ebp + 0x30]
mov cl, byte [edx]
cmp cl, byte [esi + 0x84]
jne 0x7ac359
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x80], 1
je 0x7ac35d
mov edx, dword [ebx]
mov esi, dword [ebp + 0x30]
mov cl, byte [edx + 1]
cmp cl, byte [esi + 0x85]
je 0x7ac35d
xor ecx, ecx
jmp 0x7ac362
mov ecx, 1
test ecx, ecx
je 0x7ac373
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x80]
add dword [ebx], edx
jmp 0x7ac39f
inc dword [ebx]
cmp dword [ebp - 0x84], 0
je 0x7ac394
jmp 0x7ac382
inc dword [ebx]
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
and eax, 0xc0
cmp eax, 0x80
je 0x7ac380
mov edx, dword [ebx]
cmp byte [edx], 0
jne 0x7ac2cf
mov ecx, dword [ebx]
movzx esi, byte [ecx]
jmp 0x7ac2b3
cmp esi, 0x2a
je 0x7ac3cf
cmp esi, 0x2b
je 0x7ac3cf
cmp esi, 0x3f
je 0x7ac3cf
cmp esi, 0x7b
jne 0x7ac3cb
mov eax, dword [ebx]
inc eax
push eax
call fcn.007a8e80
pop ecx
test eax, eax
jne 0x7ac3cf
xor edx, edx
jmp 0x7ac3d4
mov edx, 1
mov dword [ebp - 0xa8], edx
cmp dword [ebp - 0xa8], 0
jne 0x7ac418
cmp dword [ebp - 0x7c], 0
je 0x7ac418
cmp dword [ebp - 0x74], 0
jne 0x7ac418
mov ecx, dword [ebp - 0x50]
add dword [ebp - 0x50], 0xffffffff
test ecx, ecx
jg 0x7ac418
cmp dword [ebp + 0x34], 0
jne 0x7ac413
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebx]
push eax
mov edx, dword [ebp - 0x7c]
push edx
call fcn.007abc24
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
test byte [ebp - 0x4b], 0x40
je 0x7ac442
cmp dword [ebp - 0xa8], 0
jne 0x7ac442
cmp dword [ebp - 0x74], 0
jne 0x7ac442
mov dword [ebp - 0x7c], edi
mov eax, dword [ebp + 0x30]
push eax
mov edx, dword [ebx]
push edx
push edi
call fcn.007abbec
add esp, 0xc
mov edi, eax
mov ecx, esi
cmp ecx, 0x3f
jg 0x7ac490
je 0x7ad801
cmp ecx, 0x29
jg 0x7ac472
je 0x7ac4c8
sub ecx, 1
jb 0x7ac4c8
sub ecx, 0x23
je 0x7ac557
sub ecx, 4
je 0x7ae8f2
jmp 0x7b0709
sub ecx, 0x2a
je 0x7ad7e3
dec ecx
je 0x7ad7f1
sub ecx, 3
je 0x7ac570
jmp 0x7b0709
cmp ecx, 0x5e
jg 0x7ac4b7
je 0x7ac52d
sub ecx, 0x5b
je 0x7ac5cc
dec ecx
je 0x7b0312
dec ecx
je 0x7ac5ac
jmp 0x7b0709
sub ecx, 0x7b
je 0x7ad7ae
dec ecx
je 0x7ac4c8
jmp 0x7b0709
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x20]
mov dword [eax], edx
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebp - 0x28]
mov dword [ecx], eax
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x24]
mov dword [edx], eax
mov edx, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x2c]
mov dword [edx], ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], edi
mov eax, dword [ebp + 0x10]
mov edx, dword [ebx]
mov dword [eax], edx
cmp dword [ebp + 0x34], 0
je 0x7ac523
mov ecx, dword [ebp + 0x34]
mov edx, edi
mov eax, 0x7fffffeb
sub eax, dword [ecx]
sub edx, dword [ebp - 0x58]
cmp eax, edx
jge 0x7ac51b
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x14
jmp 0x7b0a30
sub edi, dword [ebp - 0x58]
mov eax, dword [ebp + 0x34]
add dword [eax], edi
mov eax, 1
jmp 0x7b0a39
xor edx, edx
mov dword [ebp - 0x78], edx
test byte [ebp - 0x4c], 2
je 0x7ac54e
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x7ac545
mov dword [ebp - 0x28], 0xffffffff
mov byte [edi], 0x1c
inc edi
jmp 0x7b0a29
mov byte [edi], 0x1b
inc edi
jmp 0x7b0a29
xor ecx, ecx
mov dword [ebp - 0x78], ecx
test byte [ebp - 0x4c], 2
je 0x7ac566
mov cl, 0x1a
jmp 0x7ac568
mov cl, 0x19
mov byte [edi], cl
inc edi
jmp 0x7b0a29
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x7ac57d
mov dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x78], edi
test byte [ebp - 0x4c], 4
je 0x7ac5a2
mov dl, 0xd
jmp 0x7ac5a4
mov dl, 0xc
mov byte [edi], dl
inc edi
jmp 0x7b0a29
mov eax, dword [ebp + 0x30]
test byte [eax + 0x63], 2
je 0x7b0709
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x40
jmp 0x7b0a30
push 6
push 0x8c1ddd
mov ecx, dword [ebx]
inc ecx
push ecx
call fcn.004ef3dc
add esp, 0xc
test eax, eax
jne 0x7ac5f6
mov eax, dword [ebx]
add eax, 7
mov dword [ebp - 0x74], eax
mov dword [ebx], 0x8c0e6a
jmp 0x7b0a29
push 6
push str._:_:__
mov edx, dword [ebx]
inc edx
push edx
call fcn.004ef3dc
add esp, 0xc
test eax, eax
jne 0x7ac620
mov ecx, dword [ebx]
add ecx, 7
mov dword [ebp - 0x74], ecx
mov dword [ebx], 0x8c0e73
jmp 0x7b0a29
mov dword [ebp - 0x78], edi
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3a
je 0x7ac647
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x2e
je 0x7ac647
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3d
jne 0x7ac67c
lea eax, [ebp - 0x70]
push eax
mov edx, dword [ebx]
push edx
call fcn.007aba74
add esp, 8
test eax, eax
je 0x7ac67c
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3a
jne 0x7ac66d
mov edx, 0xd
jmp 0x7ac672
mov edx, 0x1f
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
jmp 0x7b0a30
xor ecx, ecx
mov dword [ebp - 0x9c], ecx
inc dword [ebx]
mov ecx, dword [ebx]
movzx esi, byte [ecx]
cmp esi, 0x5c
jne 0x7ac6bc
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x45
jne 0x7ac6a0
inc dword [ebx]
jmp 0x7ac684
push 3
push 0x8c1deb
mov ecx, dword [ebx]
inc ecx
push ecx
call fcn.004ef3dc
add esp, 0xc
test eax, eax
jne 0x7ac6d6
add dword [ebx], 3
jmp 0x7ac684
cmp dword [ebp - 0x9c], 0
jne 0x7ac6d6
cmp esi, 0x5e
jne 0x7ac6d6
mov dword [ebp - 0x9c], 1
jmp 0x7ac684
cmp esi, 0x5d
jne 0x7ac714
mov ecx, dword [ebp + 0x30]
test byte [ecx + 0x63], 2
je 0x7ac714
cmp dword [ebp - 0x9c], 0
je 0x7ac6f1
mov al, 0xd
jmp 0x7ac6f3
mov al, 0x9d
mov byte [edi], al
inc edi
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x7ac703
mov dword [ebp - 0x28], 0xffffffff
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], ecx
jmp 0x7b0a29
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x94], eax
lea edx, [edi + 4]
xor eax, eax
mov dword [ebp - 0x90], edx
xor edx, edx
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb8], edx
xor ecx, ecx
mov dword [ebp - 0xbc], ecx
push 0x20
lea eax, [ebp - 0x244]
push 0
push eax
call fcn.004ef3ec
add esp, 0xc
test esi, esi
je 0x7ad60f
cmp dword [ebp - 0x84], 0
je 0x7ac8c4
cmp esi, 0xc0
jb 0x7ac8c4
mov edx, dword [ebx]
movzx esi, byte [edx]
cmp esi, 0xc0
jb 0x7ac8c4
test esi, 0x20
jne 0x7ac7b7
mov eax, dword [ebx]
and esi, 0x1f
xor edx, edx
mov dl, byte [eax + 1]
shl esi, 6
and edx, 0x3f
or esi, edx
inc dword [ebx]
jmp 0x7ac8c4
test esi, 0x10
jne 0x7ac7e7
mov ecx, dword [ebx]
mov eax, dword [ebx]
and esi, 0xf
xor edx, edx
movzx ecx, byte [ecx + 1]
and ecx, 0x3f
mov dl, byte [eax + 2]
shl ecx, 6
and edx, 0x3f
shl esi, 0xc
or esi, ecx
or esi, edx
add dword [ebx], 2
jmp 0x7ac8c4
test esi, 8
jne 0x7ac827
mov ecx, dword [ebx]
xor eax, eax
and esi, 7
mov edx, dword [ebx]
mov al, byte [ecx + 1]
xor ecx, ecx
and eax, 0x3f
mov cl, byte [edx + 2]
shl eax, 0xc
and ecx, 0x3f
shl esi, 0x12
xor edx, edx
or esi, eax
mov eax, dword [ebx]
shl ecx, 6
or esi, ecx
mov dl, byte [eax + 3]
and edx, 0x3f
or esi, edx
add dword [ebx], 3
jmp 0x7ac8c4
test esi, 4
jne 0x7ac873
mov ecx, dword [ebx]
xor eax, eax
mov edx, dword [ebx]
and esi, 3
mov al, byte [ecx + 1]
xor ecx, ecx
and eax, 0x3f
mov cl, byte [edx + 2]
shl eax, 0x12
and ecx, 0x3f
shl esi, 0x18
xor edx, edx
or esi, eax
mov eax, dword [ebx]
shl ecx, 0xc
or esi, ecx
mov ecx, dword [ebx]
mov dl, byte [eax + 3]
xor eax, eax
and edx, 0x3f
mov al, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or esi, edx
or esi, eax
add dword [ebx], 4
jmp 0x7ac8c4
mov edx, dword [ebx]
xor ecx, ecx
and esi, 1
mov eax, dword [ebx]
mov cl, byte [edx + 1]
xor edx, edx
and ecx, 0x3f
mov dl, byte [eax + 2]
shl ecx, 0x18
and edx, 0x3f
shl esi, 0x1e
xor eax, eax
or esi, ecx
mov ecx, dword [ebx]
shl edx, 0x12
or esi, edx
mov al, byte [ecx + 3]
and eax, 0x3f
mov edx, dword [ebx]
shl eax, 0xc
xor ecx, ecx
or esi, eax
mov eax, dword [ebx]
mov cl, byte [edx + 4]
xor edx, edx
and ecx, 0x3f
mov dl, byte [eax + 5]
shl ecx, 6
and edx, 0x3f
or esi, ecx
or esi, edx
add dword [ebx], 5
cmp dword [ebp + 0x34], 0
je 0x7ac8ff
mov ecx, dword [ebp - 0x90]
cmp ecx, dword [ebp - 0x98]
jbe 0x7ac8ff
mov dword [ebp - 0x94], 1
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp + 0x34]
sub eax, dword [ebp - 0x98]
add dword [edx], eax
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0x90], ecx
cmp dword [ebp - 0x64], 0
je 0x7ac92f
cmp esi, 0x5c
jne 0x7ad0c1
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x45
jne 0x7ad0c1
xor ecx, ecx
mov dword [ebp - 0x64], ecx
inc dword [ebx]
jmp 0x7ad5d6
cmp esi, 0x5b
jne 0x7accb5
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3a
je 0x7ac960
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x2e
je 0x7ac960
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3d
jne 0x7accb5
lea eax, [ebp - 0x70]
push eax
mov edx, dword [ebx]
push edx
call fcn.007aba74
add esp, 8
test eax, eax
je 0x7accb5
xor ecx, ecx
mov dword [ebp - 0xfc], ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 8]
mov dword [ebp - 0x10c], edx
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3a
je 0x7ac9a5
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x1f
jmp 0x7b0a30
add dword [ebx], 2
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x5e
jne 0x7ac9c9
mov dword [ebp - 0xfc], 1
mov dword [ebp - 0xa0], 1
inc dword [ebx]
mov edx, dword [ebp - 0x70]
sub edx, dword [ebx]
push edx
mov ecx, dword [ebx]
push ecx
call fcn.007abafc
add esp, 8
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
jge 0x7ac9f7
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1e
jmp 0x7b0a30
test byte [ebp - 0x4c], 1
je 0x7aca0e
cmp dword [ebp - 0x100], 2
jg 0x7aca0e
xor edx, edx
mov dword [ebp - 0x100], edx
test byte [ebp - 0x49], 0x20
je 0x7acb0a
xor ecx, ecx
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0xfc], 0
je 0x7aca30
mov eax, 0xe
jmp 0x7aca32
xor eax, eax
add eax, dword [ebp - 0x100]
mov dword [ebp - 0x114], eax
mov edx, dword [ebp - 0x114]
cmp dword [edx*4 + 0x8c0b14], 0
je 0x7aca6f
mov ecx, dword [ebp - 0x70]
inc ecx
mov dword [ebp - 0x74], ecx
mov ecx, dword [ebp - 0x114]
mov eax, dword [ecx*4 + 0x8c0b14]
dec eax
mov dword [ebx], eax
jmp 0x7ad5d6
mov edx, dword [ebp - 0x100]
sub edx, 8
je 0x7aca85
dec edx
je 0x7aca8f
dec edx
je 0x7acaa2
jmp 0x7acb0a
mov dword [ebp - 0x110], 0xb
cmp dword [ebp - 0x110], 0
jne 0x7acaa2
mov dword [ebp - 0x110], 0xc
cmp dword [ebp - 0x110], 0
jne 0x7acab5
mov dword [ebp - 0x110], 0xd
cmp dword [ebp - 0xfc], 0
je 0x7acac2
mov cl, 4
jmp 0x7acac4
mov cl, 3
mov eax, dword [ebp - 0x90]
mov byte [eax], cl
inc dword [ebp - 0x90]
mov dl, byte [ebp - 0x110]
mov eax, dword [ebp - 0x90]
mov byte [eax], dl
inc dword [ebp - 0x90]
mov edx, dword [ebp - 0x90]
mov byte [edx], 0
inc dword [ebp - 0x90]
mov dword [ebp - 0xbc], 1
mov ecx, dword [ebp - 0x70]
inc ecx
mov dword [ebx], ecx
jmp 0x7ad5d6
mov ecx, dword [ebp - 0x100]
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x100], ecx
push 0x20
mov eax, dword [ebp - 0x100]
mov edx, dword [eax*4 + 0x8c0a54]
add edx, dword [ebp - 0x10c]
push edx
lea ecx, [ebp - 0x264]
push ecx
call fcn.004ef3f4
add esp, 0xc
mov eax, dword [ebp - 0x100]
mov edx, dword [eax*4 + 0x8c0a58]
mov dword [ebp - 0x104], edx
mov ecx, dword [ebp - 0x100]
mov eax, dword [ecx*4 + 0x8c0a5c]
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x104], 0
jl 0x7acbe0
cmp dword [ebp - 0x108], 0
jl 0x7acbab
xor esi, esi
lea eax, [ebp - 0x264]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x10c]
add edx, esi
mov eax, dword [ebp - 0x220]
inc esi
mov cl, byte [ecx + edx]
or byte [eax], cl
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x7acb84
jmp 0x7acbe0
xor esi, esi
lea eax, [ebp - 0x264]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x10c]
add edx, esi
mov eax, dword [ebp - 0x220]
inc esi
mov cl, byte [ecx + edx]
not cl
and byte [eax], cl
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x7acbb9
cmp dword [ebp - 0x108], 0
jge 0x7acbef
neg dword [ebp - 0x108]
cmp dword [ebp - 0x108], 1
jne 0x7acc01
and byte [ebp - 0x263], 0xc3
jmp 0x7acc11
cmp dword [ebp - 0x108], 2
jne 0x7acc11
and byte [ebp - 0x259], 0x7f
cmp dword [ebp - 0xfc], 0
je 0x7acc5a
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x224], eax
lea edx, [ebp - 0x264]
mov dword [ebp - 0x220], edx
mov ecx, dword [ebp - 0x220]
mov eax, dword [ebp - 0x224]
inc esi
mov cl, byte [ecx]
not cl
or byte [eax], cl
inc dword [ebp - 0x224]
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x7acc34
jmp 0x7acc96
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x220], eax
lea edx, [ebp - 0x264]
mov dword [ebp - 0x224], edx
mov ecx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x220]
inc esi
mov cl, byte [ecx]
or byte [eax], cl
inc dword [ebp - 0x220]
inc dword [ebp - 0x224]
cmp esi, 0x20
jb 0x7acc74
mov edx, dword [ebp - 0x70]
inc edx
mov dword [ebx], edx
mov dword [ebp - 0xb4], 1
mov dword [ebp - 0xb8], 2
jmp 0x7ad5d6
cmp esi, 0x5c
jne 0x7ad0c1
push 1
mov ecx, dword [ebp - 0x4c]
push ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x40]
lea eax, [ebp - 0xec]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
push eax
push ebx
call fcn.007a8f10
add esp, 0x18
mov esi, eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x7b0a30
test esi, esi
jne 0x7accfc
mov esi, dword [ebp - 0xec]
jmp 0x7ad0c1
cmp esi, 5
jne 0x7acd0b
mov esi, 8
jmp 0x7ad0c1
cmp esi, 0xc
jne 0x7acd23
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x47
jmp 0x7b0a30
cmp esi, 0x1a
jne 0x7acd59
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x5c
jne 0x7acd48
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 2]
cmp eax, 0x45
jne 0x7acd48
add dword [ebx], 2
jmp 0x7ad5d6
mov dword [ebp - 0x64], 1
jmp 0x7ad5d6
cmp esi, 0x19
je 0x7ad5d6
mov edx, dword [ebp + 0x30]
mov eax, esi
add eax, 0xfffffffa
mov ecx, dword [edx + 8]
mov dword [ebp - 0x118], ecx
inc dword [ebp - 0xb4]
add dword [ebp - 0xb8], 2
cmp eax, 0x1c
ja case.0x7acd8f.6
mov al, byte [eax + 0x7acd96]
jmp dword [eax*4 + 0x7acdb3]
mov edx, dword [ebx]
mov dword [ebp - 0x74], edx
mov ecx, dword [esi*4 + 0x8c0a88]
dec ecx
mov dword [ebx], ecx
dec dword [ebp - 0xb4]
jmp 0x7ad5d6
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x220]
mov cl, byte [edx + esi + 0x40]
inc esi
or byte [eax], cl
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x7ace0f
jmp 0x7ad5d6
mov dword [ebp - 0xa0], 1
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x220]
mov cl, byte [edx + esi + 0x40]
inc esi
not cl
or byte [eax], cl
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x7ace4a
jmp 0x7ad5d6
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x220]
mov cl, byte [edx + esi + 0xa0]
inc esi
or byte [eax], cl
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x7ace7d
jmp 0x7ad5d6
mov dword [ebp - 0xa0], 1
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x220]
mov cl, byte [edx + esi + 0xa0]
inc esi
not cl
or byte [eax], cl
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x7acebb
jmp 0x7ad5d6
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x220]
mov cl, byte [edx + esi]
inc esi
or byte [eax], cl
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x7acef1
jmp 0x7ad5d6
mov dword [ebp - 0xa0], 1
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x220]
mov cl, byte [edx + esi]
inc esi
not cl
or byte [eax], cl
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x7acf2b
jmp 0x7ad5d6
push 0xffffffffffffffff
push 0x8c1ea4
mov edx, dword [ebp + 0x30]
push edx
mov ecx, dword [ebp - 0x4c]
push ecx
lea ecx, [ebp - 0x90]
push ecx
lea eax, [ebp - 0x244]
push eax
call fcn.007abfa4
add esp, 0x18
jmp 0x7ad5d6
push 0x8c1ea4
lea eax, [ebp - 0x90]
mov edx, dword [ebp + 0x30]
push edx
lea edx, [ebp - 0x244]
mov ecx, dword [ebp - 0x4c]
push ecx
push eax
push edx
call fcn.007ac004
add esp, 0x14
jmp 0x7ad5d6
push 0xffffffffffffffff
push 0x8c1ef4
mov ecx, dword [ebp + 0x30]
lea edx, [ebp - 0x90]
push ecx
lea ecx, [ebp - 0x244]
mov eax, dword [ebp - 0x4c]
push eax
push edx
push ecx
call fcn.007abfa4
add esp, 0x18
jmp 0x7ad5d6
push 0x8c1ef4
lea ecx, [ebp - 0x90]
mov eax, dword [ebp + 0x30]
push eax
lea eax, [ebp - 0x244]
mov edx, dword [ebp - 0x4c]
push edx
push ecx
push eax
call fcn.007ac004
add esp, 0x14
jmp 0x7ad5d6
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x124], ecx
mov eax, dword [ebp + 0x14]
lea edx, [ebp - 0x124]
push eax
push edx
lea ecx, [ebp - 0x120]
lea eax, [ebp - 0x11c]
push ecx
push eax
push ebx
call fcn.007a9774
add esp, 0x14
test eax, eax
je 0x7b0a30
cmp esi, 0x10
sete dl
and edx, 1
cmp edx, dword [ebp - 0x11c]
je 0x7ad042
mov cl, 3
jmp 0x7ad044
mov cl, 4
mov eax, dword [ebp - 0x90]
mov byte [eax], cl
inc dword [ebp - 0x90]
mov dl, byte [ebp - 0x120]
mov eax, dword [ebp - 0x90]
mov byte [eax], dl
inc dword [ebp - 0x90]
mov dl, byte [ebp - 0x124]
mov ecx, dword [ebp - 0x90]
mov byte [ecx], dl
inc dword [ebp - 0x90]
mov dword [ebp - 0xbc], 1
dec dword [ebp - 0xb4]
jmp 0x7ad5d6
test byte [ebp - 0x4c], 0x40
je 0x7ad0a3
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 7
jmp 0x7b0a30
dec dword [ebp - 0xb4]
sub dword [ebp - 0xb8], 2
mov eax, dword [ebx]
movzx esi, byte [eax]
jmp 0x7ad0c1
xor eax, eax
mov dword [ebp - 0x64], eax
add dword [ebx], 2
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x5c
jne 0x7ad0d9
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 2]
cmp eax, 0x45
je 0x7ad0b9
mov edx, dword [ebx]
cmp esi, 0xd
mov dword [ebp - 0xf8], edx
je 0x7ad0eb
cmp esi, 0xa
jne 0x7ad0f5
mov ecx, dword [ebp + 0x30]
or dword [ecx + 0x64], 0x800
cmp dword [ebp - 0x64], 0
jne 0x7ad470
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2d
jne 0x7ad470
add dword [ebx], 2
jmp 0x7ad117
add dword [ebx], 2
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x5c
jne 0x7ad158
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x45
je 0x7ad114
jmp 0x7ad158
add dword [ebx], 2
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x5c
jne 0x7ad14f
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x45
jne 0x7ad14f
add dword [ebx], 2
jmp 0x7ad158
mov dword [ebp - 0x64], 1
jmp 0x7ad16f
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x5c
jne 0x7ad16f
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x51
je 0x7ad130
mov ecx, dword [ebx]
cmp byte [ecx], 0
je 0x7ad187
cmp dword [ebp - 0x64], 0
jne 0x7ad194
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x5d
jne 0x7ad194
mov ecx, dword [ebp - 0xf8]
mov dword [ebx], ecx
jmp 0x7ad470
cmp dword [ebp - 0x84], 0
je 0x7ad32e
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0x128], edx
cmp dword [ebp - 0x128], 0xc0
jb 0x7ad339
test byte [ebp - 0x128], 0x20
jne 0x7ad1eb
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x128]
and ecx, 0x1f
xor edx, edx
mov dl, byte [eax + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x128], ecx
inc dword [ebx]
jmp 0x7ad339
test byte [ebp - 0x128], 0x10
jne 0x7ad229
mov eax, dword [ebx]
xor edx, edx
mov ecx, dword [ebp - 0x128]
and ecx, 0xf
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [ebx]
shl edx, 6
shl ecx, 0xc
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x128], ecx
add dword [ebx], 2
jmp 0x7ad339
test byte [ebp - 0x128], 8
jne 0x7ad276
mov eax, dword [ebx]
xor edx, edx
mov ecx, dword [ebp - 0x128]
and ecx, 7
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [ebx]
shl edx, 0xc
shl ecx, 0x12
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [ebx]
and edx, 0x3f
shl edx, 6
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x128], ecx
add dword [ebx], 3
jmp 0x7ad339
test byte [ebp - 0x128], 4
jne 0x7ad2cf
mov eax, dword [ebx]
xor edx, edx
mov ecx, dword [ebp - 0x128]
and ecx, 3
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [ebx]
shl edx, 0x12
shl ecx, 0x18
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [ebx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
mov eax, dword [ebx]
and edx, 0x3f
shl edx, 6
or ecx, edx
xor edx, edx
mov dl, byte [eax + 4]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x128], ecx
add dword [ebx], 4
jmp 0x7ad339
mov eax, dword [ebx]
xor edx, edx
mov ecx, dword [ebp - 0x128]
and ecx, 1
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [ebx]
shl edx, 0x18
shl ecx, 0x1e
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [ebx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
mov eax, dword [ebx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
xor edx, edx
mov dl, byte [eax + 4]
mov eax, dword [ebx]
and edx, 0x3f
shl edx, 6
or ecx, edx
xor edx, edx
mov dl, byte [eax + 5]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x128], ecx
add dword [ebx], 5
jmp 0x7ad339
mov ecx, dword [ebx]
movzx ecx, byte [ecx]
mov dword [ebp - 0x128], ecx
cmp dword [ebp - 0x64], 0
jne 0x7ad3fb
cmp dword [ebp - 0x128], 0x5c
jne 0x7ad3ad
push 1
mov eax, dword [ebp - 0x4c]
push eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
lea edx, [ebp - 0x128]
push ecx
mov eax, dword [ebp + 0x14]
push eax
push edx
push ebx
call fcn.007a8f10
add esp, 0x18
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
jne 0x7b0a30
cmp dword [ebp - 0x12c], 0
je 0x7ad3fb
cmp dword [ebp - 0x12c], 5
jne 0x7ad39d
mov dword [ebp - 0x128], 8
jmp 0x7ad3fb
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x53
jmp 0x7b0a30
cmp dword [ebp - 0x128], 0x5b
jne 0x7ad3fb
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3a
je 0x7ad3da
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2e
je 0x7ad3da
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3d
jne 0x7ad3fb
lea edx, [ebp - 0x70]
push edx
mov ecx, dword [ebx]
push ecx
call fcn.007aba74
add esp, 8
test eax, eax
je 0x7ad3fb
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x53
jmp 0x7b0a30
cmp esi, dword [ebp - 0x128]
jbe 0x7ad411
mov edx, dword [ebp + 0x14]
mov dword [edx], 8
jmp 0x7b0a30
cmp esi, dword [ebp - 0x128]
je 0x7ad470
mov dword [ebp - 0xb8], 2
cmp dword [ebp - 0x128], 0xd
je 0x7ad435
cmp dword [ebp - 0x128], 0xa
jne 0x7ad43f
mov ecx, dword [ebp + 0x30]
or dword [ecx + 0x64], 0x800
mov eax, dword [ebp - 0x128]
push eax
push esi
mov edx, dword [ebp + 0x30]
lea eax, [ebp - 0x90]
push edx
lea edx, [ebp - 0x244]
mov ecx, dword [ebp - 0x4c]
push ecx
push eax
push edx
call fcn.007abdb4
add esp, 0x18
add dword [ebp - 0xb4], eax
jmp 0x7ad5d6
cmp dword [ebp - 0xb8], 2
jge 0x7ad47f
inc dword [ebp - 0xb8]
cmp dword [ebp - 0xb8], 1
jne 0x7ad5b0
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x5d
jne 0x7ad5b0
inc dword [ebx]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x9c], 0
je 0x7ad570
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x7ad4c4
mov dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x84], 0
je 0x7ad538
test byte [ebp - 0x4c], 1
je 0x7ad538
mov ecx, esi
test ecx, ecx
jns 0x7ad4e8
add ecx, 0x7f
sar ecx, 7
xor eax, eax
mov al, byte [ecx + 0x8d0848]
shl eax, 7
mov edx, esi
and edx, 0x8000007f
jns 0x7ad505
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx ecx, word [eax*2 + 0x8c3d48]
xor eax, eax
mov al, byte [ecx*8 + 0x8c29b3]
mov dword [ebp - 0x130], eax
test eax, eax
je 0x7ad538
mov byte [edi], 0xf
inc edi
mov byte [edi], 9
inc edi
mov dl, byte [ebp - 0x130]
mov byte [edi], dl
inc edi
jmp 0x7b0a29
test byte [ebp - 0x4c], 1
je 0x7ad542
mov cl, 0x20
jmp 0x7ad544
mov cl, 0x1f
mov byte [edi], cl
inc edi
cmp dword [ebp - 0x84], 0
je 0x7ad566
cmp esi, 0x7f
jbe 0x7ad566
push edi
push esi
call fcn.007c4bc4
add esp, 8
add edi, eax
jmp 0x7b0a29
mov eax, esi
mov byte [edi], al
inc edi
jmp 0x7b0a29
cmp dword [ebp - 0x84], 0
je 0x7ad599
cmp esi, 0x7f
jbe 0x7ad599
lea edx, [ebp - 0xf4]
push edx
push esi
call fcn.007c4bc4
add esp, 8
mov dword [ebp - 0xe4], eax
jmp 0x7b075c
mov ecx, esi
mov byte [ebp - 0xf4], cl
mov dword [ebp - 0xe4], 1
jmp 0x7b075c
push esi
push esi
mov eax, dword [ebp + 0x30]
lea ecx, [ebp - 0x90]
push eax
lea eax, [ebp - 0x244]
mov edx, dword [ebp - 0x4c]
push edx
push ecx
push eax
call fcn.007abdb4
add esp, 0x18
add dword [ebp - 0xb4], eax
inc dword [ebx]
mov edx, dword [ebx]
movzx esi, byte [edx]
test esi, esi
jne 0x7ad5fc
cmp dword [ebp - 0x74], 0
je 0x7ad60f
mov eax, dword [ebp - 0x74]
xor edx, edx
mov dword [ebx], eax
mov dword [ebp - 0x74], edx
inc dword [ebx]
mov ecx, dword [ebx]
movzx esi, byte [ecx]
test esi, esi
je 0x7ad60f
cmp esi, 0x5d
jne 0x7ac76c
cmp dword [ebp - 0x64], 0
jne 0x7ac76c
test esi, esi
jne 0x7ad621
mov eax, dword [ebp + 0x14]
mov dword [eax], 6
jmp 0x7b0a30
mov edx, dword [ebp - 0x90]
cmp edx, dword [ebp - 0x98]
jbe 0x7ad639
mov dword [ebp - 0x94], 1
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x7ad646
mov dword [ebp - 0x28], 0xffffffff
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x94], 0
je 0x7ad74c
cmp dword [ebp - 0xa0], 0
je 0x7ad67e
test byte [ebp - 0x49], 0x20
je 0x7ad74c
mov ecx, dword [ebp - 0x90]
mov byte [ecx], 0
inc dword [ebp - 0x90]
mov byte [edi], 0x70
inc edi
add edi, 2
cmp dword [ebp - 0x9c], 0
je 0x7ad6a1
mov al, 1
jmp 0x7ad6a3
xor eax, eax
mov byte [edi], al
cmp dword [ebp - 0xbc], 0
je 0x7ad6b1
or byte [edi], 4
cmp dword [ebp - 0xb4], 0
jle 0x7ad725
or byte [edi], 2
inc edi
mov edx, dword [ebp - 0x90]
sub edx, edi
lea ecx, [edi + 0x20]
push edx
push edi
push ecx
call fcn.004ef3e4
add esp, 0xc
cmp dword [ebp - 0x9c], 0
je 0x7ad708
cmp dword [ebp - 0xbc], 0
jne 0x7ad708
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x220]
not byte [edx]
inc esi
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x7ad6f4
push 0x20
lea ecx, [ebp - 0x244]
push ecx
push edi
call fcn.004ef3f4
add esp, 0xc
mov edi, dword [ebp - 0x90]
add edi, 0x20
jmp 0x7ad72b
mov edi, dword [ebp - 0x90]
mov eax, edi
mov edx, dword [ebp - 0x78]
sub eax, dword [ebp - 0x78]
mov ecx, edi
sar eax, 8
mov byte [edx + 1], al
sub ecx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x78]
and cl, 0xff
mov byte [esi + 2], cl
jmp 0x7b0a29
mov eax, dword [ebp - 0x9c]
cmp eax, dword [ebp - 0xa0]
jne 0x7ad75e
mov dl, 0x6e
jmp 0x7ad760
mov dl, 0x6f
mov byte [edi], dl
inc edi
cmp dword [ebp + 0x34], 0
jne 0x7ad7a6
cmp dword [ebp - 0x9c], 0
je 0x7ad794
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x220]
not byte [edx]
inc esi
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x7ad780
push 0x20
lea ecx, [ebp - 0x244]
push ecx
push edi
call fcn.004ef3f4
add esp, 0xc
add edi, 0x20
jmp 0x7b0a29
cmp dword [ebp - 0xa8], 0
je 0x7b0709
mov ecx, dword [ebp + 0x14]
push ecx
lea eax, [ebp - 0x10]
push eax
lea edx, [ebp - 0xc]
push edx
mov ecx, dword [ebx]
inc ecx
push ecx
call fcn.007a98a8
add esp, 0x10
mov dword [ebx], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x7b0a30
jmp 0x7ad80d
xor edx, edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], 0xffffffff
jmp 0x7ad80d
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x10], 0xffffffff
jmp 0x7ad80d
xor ecx, ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0x78], 0
jne 0x7ad821
mov eax, dword [ebp + 0x14]
mov dword [eax], 9
jmp 0x7b0a30
cmp dword [ebp - 0xc], 0
jne 0x7ad83f
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x10]
jne 0x7ad84b
xor eax, eax
jmp 0x7ad850
mov eax, 2
mov dword [ebp - 0x44], eax
xor edx, edx
mov dword [ebp - 8], edx
xor ecx, ecx
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x60], ecx
test byte [ebp - 0x4c], 8
je 0x7ad965
mov esi, dword [ebx]
inc esi
jmp 0x7ad876
inc esi
mov edx, dword [ebp + 0x30]
xor eax, eax
mov al, byte [esi]
mov ecx, dword [edx + 0xc]
test byte [ecx + eax], 1
jne 0x7ad875
xor ecx, ecx
mov cl, byte [esi]
cmp ecx, 0x23
jne 0x7ad962
inc esi
jmp 0x7ad954
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x7c], 0
je 0x7ad8e0
mov edx, dword [ebp + 0x30]
cmp esi, dword [edx + 0x1c]
jae 0x7ad8d5
mov ecx, dword [ebp - 0x84]
push ecx
mov eax, dword [ebp + 0x30]
add eax, 0x80
push eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x1c]
push ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x7c]
push edx
push esi
call fcn.007c47dc
add esp, 0x14
test eax, eax
jne 0x7ad8d9
xor ecx, ecx
jmp 0x7ad923
mov ecx, 1
jmp 0x7ad923
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp + 0x30]
sub edx, dword [eax + 0x80]
cmp esi, edx
ja 0x7ad91a
mov dl, byte [esi]
mov ecx, dword [ebp + 0x30]
cmp dl, byte [ecx + 0x84]
jne 0x7ad91a
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x80], 1
je 0x7ad91e
mov al, byte [esi + 1]
mov edx, dword [ebp + 0x30]
cmp al, byte [edx + 0x85]
je 0x7ad91e
xor ecx, ecx
jmp 0x7ad923
mov ecx, 1
test ecx, ecx
je 0x7ad935
mov eax, dword [ebp + 0x30]
add esi, dword [eax + 0x80]
jmp 0x7ad876
inc esi
cmp dword [ebp - 0x84], 0
je 0x7ad954
jmp 0x7ad942
inc esi
xor edx, edx
mov dl, byte [esi]
and edx, 0xc0
cmp edx, 0x80
je 0x7ad941
cmp byte [esi], 0
jne 0x7ad899
jmp 0x7ad876
dec esi
mov dword [ebx], esi
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2b
jne 0x7ad984
xor ecx, ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0xa4], 1
inc dword [ebx]
jmp 0x7ad9a0
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3f
jne 0x7ad99a
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 4], edx
inc dword [ebx]
jmp 0x7ad9a0
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x75
jne 0x7ada6e
push 3
mov ecx, dword [ebp - 0x78]
push ecx
mov eax, dword [ebp - 0x78]
add eax, 3
push eax
call fcn.004ef3e4
mov edx, dword [ebp - 0x78]
add esp, 0xc
add edi, 6
mov byte [edx], 0x81
mov ecx, dword [ebp - 0x78]
mov byte [ecx + 1], 0
mov eax, dword [ebp - 0x78]
mov byte [eax + 2], 6
mov edx, dword [ebp - 0x78]
mov byte [edx + 6], 0x78
mov ecx, dword [ebp - 0x78]
mov byte [ecx + 7], 0
mov eax, dword [ebp - 0x78]
mov byte [eax + 8], 6
mov dword [ebp - 0x54], 9
cmp dword [ebp + 0x34], 0
jne 0x7ada6e
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x20]
mov edx, dword [eax + 0x10]
add edx, 2
cmp ecx, edx
jb 0x7ada6e
mov ecx, dword [ebp + 0x30]
xor edx, edx
mov eax, dword [ecx + 0x20]
mov dl, byte [eax - 2]
mov eax, dword [ebp + 0x30]
shl edx, 8
mov ecx, dword [eax + 0x20]
xor eax, eax
mov al, byte [ecx - 1]
or edx, eax
mov dword [ebp - 0x134], edx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp - 0x78]
inc edx
sub edx, dword [ecx + 0x14]
cmp edx, dword [ebp - 0x134]
jne 0x7ada6e
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x134]
add ecx, 3
sar ecx, 8
mov edx, dword [eax + 0x20]
mov byte [edx - 2], cl
mov eax, dword [ebp + 0x30]
mov cl, byte [ebp - 0x134]
add cl, 3
and cl, 0xff
mov edx, dword [eax + 0x20]
mov byte [edx - 1], cl
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x1d
je 0x7adaa2
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x1e
je 0x7adaa2
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x1f
je 0x7adaa2
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x20
jne 0x7adb70
mov edx, dword [ebp - 0x78]
mov cl, byte [edx]
sub cl, 0x1d
je 0x7adab8
dec cl
je 0x7adabf
dec cl
je 0x7adac8
dec cl
je 0x7adad1
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x7adad8
mov dword [ebp - 8], 0xd
jmp 0x7adad8
mov dword [ebp - 8], 0x1a
jmp 0x7adad8
mov dword [ebp - 8], 0x27
cmp dword [ebp - 0x84], 0
je 0x7adb44
xor edx, edx
mov dl, byte [edi - 1]
and edx, 0xc0
cmp edx, 0x80
jne 0x7adb44
lea ecx, [edi - 1]
mov dword [ebp - 0x138], ecx
jmp 0x7adb05
dec dword [ebp - 0x138]
mov eax, dword [ebp - 0x138]
xor edx, edx
mov dl, byte [eax]
and edx, 0xc0
cmp edx, 0x80
je 0x7adaff
mov esi, edi
sub esi, dword [ebp - 0x138]
push esi
mov eax, dword [ebp - 0x138]
push eax
lea edx, [ebp - 0x8c]
push edx
call fcn.004ef3f4
add esp, 0xc
or esi, 0x10000000
jmp 0x7adb8d
movzx esi, byte [edi - 1]
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x1e
jg 0x7adb8d
cmp dword [ebp - 0xc], 1
jle 0x7adb8d
mov dword [ebp - 0x24], esi
mov ecx, dword [ebp + 0x30]
mov ecx, dword [ecx + 0x68]
or ecx, dword [ebp - 0x40]
mov dword [ebp - 0x2c], ecx
jmp 0x7adb8d
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x17
jge 0x7addf0
mov dword [ebp - 8], 0x34
mov ecx, dword [ebp - 0x78]
movzx esi, byte [ecx]
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x10
je 0x7adba4
mov ecx, dword [ebp - 0x78]
movzx ecx, byte [ecx]
cmp ecx, 0xf
jne 0x7adbc2
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax + 1]
mov dword [ebp - 0x140], edx
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx + 2]
mov dword [ebp - 0x144], eax
jmp 0x7adbd1
or edx, 0xffffffff
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x13c], edi
cmp dword [ebp - 0x10], 0
mov edi, dword [ebp - 0x78]
je 0x7ae8df
mov eax, dword [ebp - 8]
add dword [ebp - 4], eax
cmp dword [ebp - 0xc], 0
jne 0x7adc3a
cmp dword [ebp - 0x10], 0xffffffff
jne 0x7adc04
mov dl, byte [ebp - 4]
add dl, 0x21
mov byte [edi], dl
inc edi
jmp 0x7add99
cmp dword [ebp - 0x10], 1
jne 0x7adc18
mov cl, byte [ebp - 4]
add cl, 0x25
mov byte [edi], cl
inc edi
jmp 0x7add99
mov cl, byte [ebp - 4]
add cl, 0x27
mov byte [edi], cl
inc edi
mov eax, dword [ebp - 0x10]
sar eax, 8
mov byte [edi], al
mov dl, byte [ebp - 0x10]
and dl, 0xff
mov byte [edi + 1], dl
add edi, 2
jmp 0x7add99
cmp dword [ebp - 0xc], 1
jne 0x7adc89
cmp dword [ebp - 0x10], 0xffffffff
jne 0x7adc54
mov cl, byte [ebp - 4]
add cl, 0x23
mov byte [edi], cl
inc edi
jmp 0x7add99
cmp dword [ebp - 0x10], 1
mov edi, dword [ebp - 0x13c]
je 0x7ae8df
mov al, byte [ebp - 4]
add al, 0x27
mov byte [edi], al
inc edi
mov edx, dword [ebp - 0x10]
dec edx
sar edx, 8
mov byte [edi], dl
mov cl, byte [ebp - 0x10]
add cl, 0xff
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
jmp 0x7add99
mov cl, byte [ebp - 8]
add cl, 0x29
mov byte [edi], cl
inc edi
mov eax, dword [ebp - 0xc]
sar eax, 8
mov byte [edi], al
mov dl, byte [ebp - 0xc]
and dl, 0xff
mov byte [edi + 1], dl
add edi, 2
cmp dword [ebp - 0x10], 0
jge 0x7add0a
cmp dword [ebp - 0x84], 0
je 0x7adcdc
test esi, 0x10000000
je 0x7adcdc
mov ecx, esi
lea eax, [ebp - 0x8c]
and ecx, 7
push ecx
push eax
push edi
call fcn.004ef3f4
add esp, 0xc
mov edx, esi
and edx, 7
add edi, edx
jmp 0x7adcfc
mov ecx, esi
mov byte [edi], cl
inc edi
cmp dword [ebp - 0x140], 0
jl 0x7adcfc
mov al, byte [ebp - 0x140]
mov byte [edi], al
inc edi
mov dl, byte [ebp - 0x144]
mov byte [edi], dl
inc edi
mov cl, byte [ebp - 4]
add cl, 0x21
mov byte [edi], cl
inc edi
jmp 0x7add99
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0xc]
je 0x7add99
cmp dword [ebp - 0x84], 0
je 0x7add46
test esi, 0x10000000
je 0x7add46
mov edx, esi
lea ecx, [ebp - 0x8c]
and edx, 7
push edx
push ecx
push edi
call fcn.004ef3f4
add esp, 0xc
mov eax, esi
and eax, 7
add edi, eax
jmp 0x7add4b
mov edx, esi
mov byte [edi], dl
inc edi
cmp dword [ebp - 0x140], 0
jl 0x7add66
mov cl, byte [ebp - 0x140]
mov byte [edi], cl
inc edi
mov al, byte [ebp - 0x144]
mov byte [edi], al
inc edi
mov edx, dword [ebp - 0xc]
sub dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 1
jne 0x7add7d
mov cl, byte [ebp - 4]
add cl, 0x25
mov byte [edi], cl
inc edi
jmp 0x7add99
mov al, byte [ebp - 4]
add al, 0x27
mov byte [edi], al
inc edi
mov edx, dword [ebp - 0x10]
sar edx, 8
mov byte [edi], dl
mov cl, byte [ebp - 0x10]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
cmp dword [ebp - 0x84], 0
je 0x7addc7
test esi, 0x10000000
je 0x7addc7
mov eax, esi
lea edx, [ebp - 0x8c]
and eax, 7
push eax
push edx
push edi
call fcn.004ef3f4
add esp, 0xc
and esi, 7
add edi, esi
jmp 0x7addcc
mov ecx, esi
mov byte [edi], cl
inc edi
cmp dword [ebp - 0x140], 0
jl 0x7ae718
mov al, byte [ebp - 0x140]
mov byte [edi], al
inc edi
mov dl, byte [ebp - 0x144]
mov byte [edi], dl
inc edi
jmp 0x7ae718
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x6e
je 0x7ade48
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x6f
je 0x7ade48
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x70
je 0x7ade48
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x71
je 0x7ade48
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x72
je 0x7ade48
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x73
je 0x7ade48
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x74
jne 0x7adee4
cmp dword [ebp - 0x10], 0
jne 0x7ade56
mov edi, dword [ebp - 0x78]
jmp 0x7ae8df
cmp dword [ebp - 0xc], 0
jne 0x7ade6f
cmp dword [ebp - 0x10], 0xffffffff
jne 0x7ade6f
mov al, byte [ebp - 4]
add al, 0x62
mov byte [edi], al
inc edi
jmp 0x7ae718
cmp dword [ebp - 0xc], 1
jne 0x7ade89
cmp dword [ebp - 0x10], 0xffffffff
jne 0x7ade89
mov dl, byte [ebp - 4]
add dl, 0x64
mov byte [edi], dl
inc edi
jmp 0x7ae718
cmp dword [ebp - 0xc], 0
jne 0x7adea3
cmp dword [ebp - 0x10], 1
jne 0x7adea3
mov cl, byte [ebp - 4]
add cl, 0x66
mov byte [edi], cl
inc edi
jmp 0x7ae718
mov cl, byte [ebp - 4]
add cl, 0x68
mov byte [edi], cl
inc edi
mov eax, dword [ebp - 0xc]
sar eax, 8
mov byte [edi], al
mov dl, byte [ebp - 0xc]
and dl, 0xff
mov byte [edi + 1], dl
add edi, 2
cmp dword [ebp - 0x10], 0xffffffff
jne 0x7adecb
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
sar eax, 8
mov byte [edi], al
mov dl, byte [ebp - 0x10]
and dl, 0xff
mov byte [edi + 1], dl
add edi, 2
jmp 0x7ae718
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x7d
jl 0x7ae6f8
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x87
jg 0x7ae6f8
mov esi, edi
xor eax, eax
sub esi, dword [ebp - 0x78]
xor edx, edx
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x150], edx
mov ecx, dword [ebp - 0x78]
movzx ecx, byte [ecx]
cmp ecx, 0x87
jne 0x7adf3e
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax + 3]
cmp edx, 0x91
je 0x7ae8df
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x81
jge 0x7adf69
cmp dword [ebp - 0xc], 0
jg 0x7ae8df
cmp dword [ebp - 0x10], 0
jl 0x7adf62
cmp dword [ebp - 0x10], 1
jle 0x7adf69
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0xc], 0
jne 0x7ae074
cmp dword [ebp - 0x10], 1
jg 0x7adfd8
mov byte [edi], 0
mov edx, dword [ebp - 0x80]
push edx
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebp - 0x84]
push eax
push 1
mov edx, dword [ebp - 0x78]
push edx
call fcn.007abb50
add esp, 0x14
push esi
mov ecx, dword [ebp - 0x78]
push ecx
mov eax, dword [ebp - 0x78]
inc eax
push eax
call fcn.004ef3e4
add esp, 0xc
inc edi
cmp dword [ebp - 0x10], 0
jne 0x7adfbd
mov edx, dword [ebp - 0x78]
mov byte [edx], 0xa1
jmp 0x7ae8df
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0x78]
mov al, byte [ebp - 4]
add al, 0x92
mov byte [edx], al
inc dword [ebp - 0x78]
jmp 0x7ae06c
mov byte [edi], 0
mov ecx, dword [ebp - 0x80]
push ecx
mov eax, dword [ebp + 0x30]
push eax
mov edx, dword [ebp - 0x84]
push edx
push 4
mov ecx, dword [ebp - 0x78]
push ecx
call fcn.007abb50
add esp, 0x14
push esi
mov eax, dword [ebp - 0x78]
push eax
mov edx, dword [ebp - 0x78]
add edx, 4
push edx
call fcn.004ef3e4
mov eax, dword [ebp - 0x78]
mov cl, byte [ebp - 4]
add cl, 0x92
add esp, 0xc
mov byte [eax], cl
add edi, 4
inc dword [ebp - 0x78]
mov edx, dword [ebp - 0x78]
mov byte [edx], 0x83
inc dword [ebp - 0x78]
cmp dword [ebp - 0x14c], 0
jne 0x7ae033
xor ecx, ecx
jmp 0x7ae03c
mov ecx, dword [ebp - 0x78]
sub ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x154], ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x14c], eax
mov edx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x78]
sar edx, 8
mov byte [eax], dl
mov ecx, dword [ebp - 0x78]
mov dl, byte [ebp - 0x154]
and dl, 0xff
mov byte [ecx + 1], dl
add dword [ebp - 0x78], 2
dec dword [ebp - 0x10]
jmp 0x7ae230
cmp dword [ebp - 0xc], 1
jle 0x7ae224
cmp dword [ebp + 0x34], 0
je 0x7ae0e8
mov ecx, dword [ebp - 0xc]
dec ecx
imul ecx, dword [ebp - 0x54]
mov dword [ebp - 0x158], ecx
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0x268], eax
fild dword [ebp - 0x268]
fild dword [ebp - 0x54]
fmulp st(1)
fld qword [0x7b0a40]
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
je 0x7ae0ca
mov edx, dword [ebp + 0x34]
mov ecx, 0x7fffffeb
sub ecx, dword [edx]
cmp ecx, dword [ebp - 0x158]
jge 0x7ae0d8
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x14
jmp 0x7b0a30
mov eax, dword [ebp + 0x34]
mov edx, dword [ebp - 0x158]
add dword [eax], edx
jmp 0x7ae224
cmp dword [ebp - 0x68], 0
je 0x7ae100
cmp dword [ebp - 0x2c], 0
jge 0x7ae100
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x148], 1
mov edx, dword [ebp - 0x148]
cmp edx, dword [ebp - 0xc]
jge 0x7ae224
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x15c], eax
push esi
mov edx, dword [ebp - 0x78]
push edx
push edi
call fcn.004ef3f4
add esp, 0xc
jmp 0x7ae192
mov ecx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x80]
sub eax, dword [ecx + 0x10]
mov dword [ebp - 0x160], eax
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x15c]
sub eax, dword [edx + 0x10]
mov dword [ebp - 0x164], eax
mov edx, dword [ebp + 0x30]
push edx
call fcn.007a8df8
pop ecx
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
jne 0x7b0a30
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x10]
add edx, dword [ebp - 0x160]
mov dword [ebp - 0x80], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x10]
add eax, dword [ebp - 0x164]
mov dword [ebp - 0x15c], eax
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x10]
mov edx, dword [ebp - 0x15c]
add ecx, dword [eax + 0x3c]
sub edx, dword [ebp - 0x80]
mov eax, dword [ebp + 0x30]
add ecx, 0xffffff9c
sub ecx, edx
cmp ecx, dword [eax + 0x20]
jb 0x7ae135
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x15c]
jae 0x7ae204
xor edx, edx
xor ecx, ecx
mov dl, byte [eax]
mov cl, byte [eax + 1]
shl edx, 8
or edx, ecx
mov ecx, dword [ebp + 0x30]
add edx, esi
sar edx, 8
mov ecx, dword [ecx + 0x20]
mov byte [ecx], dl
mov ecx, esi
mov dl, byte [eax]
shl edx, 8
or dl, byte [eax + 1]
add dl, cl
mov ecx, dword [ebp + 0x30]
and dl, 0xff
mov ecx, dword [ecx + 0x20]
mov byte [ecx + 1], dl
mov edx, dword [ebp + 0x30]
add dword [edx + 0x20], 2
add eax, 2
cmp eax, dword [ebp - 0x15c]
jb 0x7ae1bf
mov eax, dword [ebp - 0x15c]
add edi, esi
mov dword [ebp - 0x80], eax
inc dword [ebp - 0x148]
mov ecx, dword [ebp - 0x148]
cmp ecx, dword [ebp - 0xc]
jl 0x7ae119
cmp dword [ebp - 0x10], 0
jle 0x7ae230
mov eax, dword [ebp - 0xc]
sub dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jl 0x7ae4c8
cmp dword [ebp + 0x34], 0
je 0x7ae2b1
cmp dword [ebp - 0x10], 0
jle 0x7ae2b1
mov edx, dword [ebp - 0x54]
add edx, 7
imul edx, dword [ebp - 0x10]
add edx, 0xfffffffa
mov dword [ebp - 0x168], edx
fild dword [ebp - 0x10]
mov ecx, dword [ebp - 0x54]
add ecx, 7
mov dword [ebp - 0x26c], ecx
fild dword [ebp - 0x26c]
fmulp st(1)
fld qword [0x7b0a40]
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
je 0x7ae293
mov edx, dword [ebp + 0x34]
mov eax, 0x7fffffeb
sub eax, dword [edx]
cmp eax, dword [ebp - 0x168]
jge 0x7ae2a1
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x14
jmp 0x7b0a30
mov ecx, dword [ebp + 0x34]
mov esi, dword [ebp - 0x168]
add dword [ecx], esi
jmp 0x7ae44a
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0
jl 0x7ae44a
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x20]
mov dword [ebp - 0x16c], ecx
mov cl, byte [ebp - 4]
add cl, 0x92
mov byte [edi], cl
inc edi
cmp dword [ebp - 0x148], 0
je 0x7ae325
mov byte [edi], 0x83
inc edi
cmp dword [ebp - 0x14c], 0
jne 0x7ae2f7
xor eax, eax
jmp 0x7ae2ff
mov eax, edi
sub eax, dword [ebp - 0x14c]
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x14c], edi
mov edx, dword [ebp - 0x170]
sar edx, 8
mov byte [edi], dl
mov cl, byte [ebp - 0x170]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
push esi
mov ecx, dword [ebp - 0x78]
push ecx
push edi
call fcn.004ef3f4
add esp, 0xc
jmp 0x7ae392
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x80]
sub edx, dword [eax + 0x10]
mov dword [ebp - 0x174], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x16c]
sub eax, dword [ecx + 0x10]
mov dword [ebp - 0x178], eax
mov edx, dword [ebp + 0x30]
push edx
call fcn.007a8df8
pop ecx
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x7b0a30
mov ecx, dword [ebp + 0x30]
mov ecx, dword [ecx + 0x10]
add ecx, dword [ebp - 0x174]
mov dword [ebp - 0x80], ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x10]
add edx, dword [ebp - 0x178]
mov dword [ebp - 0x16c], edx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x10]
mov ecx, dword [ebp + 0x30]
add eax, dword [edx + 0x3c]
mov edx, dword [ebp - 0x16c]
sub edx, dword [ebp - 0x80]
add eax, 0xffffff9c
sub eax, edx
cmp eax, dword [ecx + 0x20]
jb 0x7ae335
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x16c]
jae 0x7ae42c
xor edx, edx
xor ecx, ecx
mov dl, byte [eax]
mov cl, byte [eax + 1]
shl edx, 8
or edx, ecx
add edx, esi
cmp dword [ebp - 0x148], 0
je 0x7ae3df
mov ecx, 4
jmp 0x7ae3e4
mov ecx, 1
add edx, ecx
mov ecx, dword [ebp + 0x30]
sar edx, 8
mov ecx, dword [ecx + 0x20]
mov byte [ecx], dl
mov ecx, esi
mov dl, byte [eax]
shl edx, 8
or dl, byte [eax + 1]
add dl, cl
cmp dword [ebp - 0x148], 0
je 0x7ae40a
mov cl, 4
jmp 0x7ae40c
mov cl, 1
add dl, cl
mov ecx, dword [ebp + 0x30]
and dl, 0xff
mov ecx, dword [ecx + 0x20]
mov byte [ecx + 1], dl
mov edx, dword [ebp + 0x30]
add dword [edx + 0x20], 2
add eax, 2
cmp eax, dword [ebp - 0x16c]
jb 0x7ae3bf
mov eax, dword [ebp - 0x16c]
add edi, esi
mov dword [ebp - 0x80], eax
dec dword [ebp - 0x148]
cmp dword [ebp - 0x148], 0
jge 0x7ae2c8
cmp dword [ebp - 0x14c], 0
je 0x7ae718
mov eax, edi
sub eax, dword [ebp - 0x14c]
inc eax
mov edx, edi
sub edx, eax
xor ecx, ecx
mov cl, byte [edx + 1]
shl ecx, 8
movzx esi, byte [edx + 2]
or ecx, esi
mov dword [ebp - 0x17c], ecx
cmp dword [ebp - 0x17c], 0
jne 0x7ae485
xor ecx, ecx
jmp 0x7ae491
mov ecx, dword [ebp - 0x14c]
sub ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x14c], ecx
mov byte [edi], 0x78
inc edi
mov ecx, eax
sar ecx, 8
mov byte [edi], cl
mov ecx, eax
and cl, 0xff
mov byte [edi + 1], cl
mov ecx, eax
sar ecx, 8
add edi, 2
and al, 0xff
mov byte [edx + 1], cl
mov byte [edx + 2], al
cmp dword [ebp - 0x14c], 0
jne 0x7ae457
jmp 0x7ae718
lea eax, [edi - 3]
xor ecx, ecx
mov dword [ebp - 0x180], eax
mov edx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x180]
mov esi, dword [ebp - 0x180]
mov cl, byte [edx + 1]
shl ecx, 8
xor edx, edx
mov dl, byte [eax + 2]
or ecx, edx
xor edx, edx
sub esi, ecx
mov dword [ebp - 0x184], esi
mov eax, dword [ebp - 0x184]
mov dl, byte [eax]
cmp edx, 0x81
je 0x7ae51d
mov ecx, dword [ebp - 0x184]
movzx ecx, byte [ecx]
cmp ecx, 0x82
jne 0x7ae52f
cmp dword [ebp - 0xa4], 0
je 0x7ae52f
mov eax, dword [ebp - 0x184]
mov byte [eax], 0x83
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x81
je 0x7ae553
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x82
jne 0x7ae566
mov eax, dword [ebp - 0x180]
mov cl, byte [ebp - 4]
add cl, 0x79
mov byte [eax], cl
jmp 0x7ae718
cmp dword [ebp + 0x34], 0
jne 0x7ae5da
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0x188], edx
push 0
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebp - 0x84]
push eax
mov edx, dword [ebp - 0x180]
push edx
mov ecx, dword [ebp - 0x188]
push ecx
call fcn.007a9fc8
add esp, 0x14
test eax, eax
je 0x7ae5aa
mov eax, dword [ebp - 0x184]
add byte [eax], 5
jmp 0x7ae5da
mov edx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov cl, byte [edx + 1]
xor edx, edx
shl ecx, 8
mov dl, byte [eax + 2]
or ecx, edx
add dword [ebp - 0x188], ecx
mov ecx, dword [ebp - 0x188]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x77
je 0x7ae578
cmp dword [ebp - 0xa4], 0
je 0x7ae6e9
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x87
je 0x7ae60f
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x8c
jne 0x7ae6b6
mov ecx, edi
sub ecx, dword [ebp - 0x184]
mov dword [ebp - 0x18c], ecx
mov byte [edi], 0
mov eax, dword [ebp - 0x80]
push eax
mov edx, dword [ebp + 0x30]
push edx
mov ecx, dword [ebp - 0x84]
push ecx
push 3
mov eax, dword [ebp - 0x184]
push eax
call fcn.007abb50
add esp, 0x14
mov edx, dword [ebp - 0x18c]
push edx
mov ecx, dword [ebp - 0x184]
push ecx
mov eax, dword [ebp - 0x184]
add eax, 3
push eax
call fcn.004ef3e4
add dword [ebp - 0x18c], 3
mov edx, dword [ebp - 0x184]
add edi, 3
add esp, 0xc
mov byte [edx], 0x84
mov byte [edi], 0x7b
inc edi
mov ecx, dword [ebp - 0x18c]
sar ecx, 8
mov byte [edi], cl
mov al, byte [ebp - 0x18c]
and al, 0xff
mov byte [edi + 1], al
add edi, 2
mov edx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x184]
sar edx, 8
mov byte [eax + 1], dl
mov ecx, dword [ebp - 0x184]
mov dl, byte [ebp - 0x18c]
and dl, 0xff
mov byte [ecx + 2], dl
jmp 0x7ae6c7
mov ecx, dword [ebp - 0x184]
inc byte [ecx]
mov eax, dword [ebp - 0x180]
mov byte [eax], 0x7b
cmp dword [ebp - 0x150], 0
je 0x7ae6d9
mov edx, dword [ebp - 0x150]
mov byte [edx], 0x94
cmp dword [ebp - 0xc], 2
jge 0x7ae718
xor ecx, ecx
mov dword [ebp - 0xa4], ecx
jmp 0x7ae718
mov edx, dword [ebp - 0x180]
mov al, byte [ebp - 4]
add al, 0x79
mov byte [edx], al
jmp 0x7ae718
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x9d
je 0x7ae8df
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xb
jmp 0x7b0a30
cmp dword [ebp - 0xa4], 0
je 0x7ae8df
mov ecx, dword [ebp - 0x60]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x50
jg 0x7ae74f
je 0x7ae7a3
add eax, 0xffffffe3
sub eax, 4
jb 0x7ae7a3
sub eax, 8
je 0x7ae7a3
sub eax, 0xd
je 0x7ae7a3
sub eax, 0xd
je 0x7ae7a3
jmp 0x7ae803
sub eax, 0x5d
je 0x7ae76b
add eax, 0xffffffef
sub eax, 2
jb 0x7ae7e5
je 0x7ae7eb
jmp 0x7ae803
mov edx, dword [ebp - 0x60]
xor ecx, ecx
mov cl, byte [edx + 3]
cmp ecx, 0x10
je 0x7ae785
mov eax, dword [ebp - 0x60]
xor edx, edx
mov dl, byte [eax + 3]
cmp edx, 0xf
jne 0x7ae78c
mov ecx, 2
jmp 0x7ae78e
xor ecx, ecx
mov eax, dword [ebp - 0x60]
xor edx, edx
mov dl, byte [eax]
movzx esi, byte [edx + 0x8c237c]
add ecx, esi
add dword [ebp - 0x60], ecx
jmp 0x7ae803
mov eax, dword [ebp - 0x60]
xor edx, edx
mov dl, byte [eax]
xor ecx, ecx
mov cl, byte [edx + 0x8c237c]
add dword [ebp - 0x60], ecx
cmp dword [ebp - 0x84], 0
je 0x7ae803
mov ecx, dword [ebp - 0x60]
xor eax, eax
mov al, byte [ecx - 1]
cmp eax, 0xc0
jl 0x7ae803
mov edx, dword [ebp - 0x60]
xor ecx, ecx
mov cl, byte [edx - 1]
and ecx, 0x3f
xor eax, eax
mov al, byte [ecx + 0x8c241e]
add dword [ebp - 0x60], eax
jmp 0x7ae803
add dword [ebp - 0x60], 0x21
jmp 0x7ae803
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
xor ecx, ecx
mov cl, byte [edx + 1]
xor edx, edx
shl ecx, 8
mov dl, byte [eax + 2]
or ecx, edx
add dword [ebp - 0x60], ecx
mov ecx, edi
sub ecx, dword [ebp - 0x60]
mov dword [ebp - 0x190], ecx
cmp dword [ebp - 0x190], 0
jle 0x7ae8df
mov eax, dword [ebp - 0x60]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0x194], edx
cmp dword [ebp - 0x194], 0x76
jae 0x7ae859
mov ecx, dword [ebp - 0x194]
xor eax, eax
mov al, byte [ecx + 0x8c1d41]
test eax, eax
jle 0x7ae859
mov edx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x60]
mov cl, byte [edx + 0x8c1d41]
mov byte [eax], cl
jmp 0x7ae8df
mov byte [edi], 0
mov edx, dword [ebp - 0x80]
push edx
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebp - 0x84]
push eax
push 3
mov edx, dword [ebp - 0x60]
push edx
call fcn.007abb50
add esp, 0x14
mov ecx, dword [ebp - 0x190]
push ecx
mov eax, dword [ebp - 0x60]
push eax
mov edx, dword [ebp - 0x60]
add edx, 3
push edx
call fcn.004ef3e4
add dword [ebp - 0x190], 3
mov ecx, dword [ebp - 0x60]
add edi, 3
add esp, 0xc
mov byte [ecx], 0x81
mov byte [edi], 0x78
inc edi
mov eax, dword [ebp - 0x190]
sar eax, 8
mov byte [edi], al
mov dl, byte [ebp - 0x190]
and dl, 0xff
mov byte [edi + 1], dl
add edi, 2
mov ecx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x60]
sar ecx, 8
mov byte [eax + 1], cl
mov eax, dword [ebp - 0x60]
mov dl, byte [ebp - 0x190]
and dl, 0xff
mov byte [eax + 2], dl
xor edx, edx
mov dword [ebp - 0x78], edx
mov ecx, dword [ebp + 0x30]
mov esi, dword [ebp - 0x44]
or dword [ecx + 0x68], esi
jmp 0x7b0a29
mov eax, dword [ebp - 0x4c]
xor edx, edx
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0x14], 0x85
mov ecx, dword [ebp + 0x30]
xor eax, eax
mov ecx, dword [ecx + 0x20]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0xb0], eax
inc dword [ebx]
xor ecx, ecx
mov edx, dword [ebx]
mov cl, byte [edx]
cmp ecx, 0x2a
jne 0x7aebdf
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3a
je 0x7ae94f
mov ecx, dword [ebx]
mov edx, dword [ebp + 0x30]
xor eax, eax
mov al, byte [ecx + 1]
mov edx, dword [edx + 0xc]
test byte [edx + eax], 2
je 0x7aebdf
xor eax, eax
mov dword [ebp - 0x19c], eax
xor eax, eax
mov dword [ebp - 0x1a0], 0x8c0e40
mov ecx, dword [ebx]
inc ecx
mov dword [ebp - 0x1a4], ecx
xor ecx, ecx
mov dword [ebp - 0x1a8], ecx
mov dword [ebp - 0x78], eax
inc dword [ebx]
jmp 0x7ae97d
inc dword [ebx]
mov edx, dword [ebx]
mov eax, dword [ebp + 0x30]
xor ecx, ecx
mov cl, byte [edx]
mov edx, dword [eax + 0xc]
test byte [edx + ecx], 2
jne 0x7ae97b
mov ecx, dword [ebx]
sub ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x198], ecx
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3a
jne 0x7ae9f0
inc dword [ebx]
mov ecx, dword [ebx]
mov dword [ebp - 0x1a8], ecx
jmp 0x7ae9b6
inc dword [ebx]
mov eax, dword [ebx]
cmp byte [eax], 0
je 0x7ae9c8
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
jne 0x7ae9b4
mov eax, dword [ebx]
sub eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0xff
jbe 0x7ae9f0
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x4b
jmp 0x7b0a30
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x29
je 0x7aea09
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x3c
jmp 0x7b0a30
xor esi, esi
jmp 0x7aebb4
lea eax, [esi + esi*2]
mov edx, dword [eax*4 + 0x8c09e4]
cmp edx, dword [ebp - 0x198]
jne 0x7aeba2
mov ecx, dword [ebp - 0x198]
push ecx
mov ecx, dword [ebp - 0x1a0]
push ecx
mov eax, dword [ebp - 0x1a4]
push eax
call fcn.004ef3dc
add esp, 0xc
test eax, eax
jne 0x7aeba2
lea edx, [esi + esi*2]
cmp dword [edx*4 + 0x8c09e8], 0x9e
jne 0x7aead7
cmp dword [ebp - 0x19c], 0
je 0x7aea72
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3b
jmp 0x7b0a30
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x6c], 1
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x24]
test eax, eax
je 0x7aeaa5
mov byte [edi], 0xa0
inc edi
movzx edx, word [eax + 4]
sar edx, 8
mov byte [edi], dl
mov cl, byte [eax + 4]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
mov eax, dword [eax]
test eax, eax
jne 0x7aea86
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x5c], 0
jle 0x7aeab2
mov al, 0x9f
jmp 0x7aeab4
mov al, 0x9e
mov byte [edi], al
xor edx, edx
mov dl, al
mov dword [ebp - 0x1ac], edx
inc edi
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x7aeb70
mov dword [ebp - 0x28], 0xffffffff
jmp 0x7aeb70
cmp dword [ebp - 0x19c], 0
jne 0x7aeb14
lea ecx, [esi + esi*2]
cmp dword [ecx*4 + 0x8c09e8], 0
jge 0x7aeafb
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x42
jmp 0x7b0a30
lea eax, [esi + esi*2]
mov dl, byte [eax*4 + 0x8c09e8]
xor eax, eax
mov byte [edi], dl
inc edi
mov al, dl
mov dword [ebp - 0x1ac], eax
jmp 0x7aeb70
lea ecx, [esi + esi*2]
cmp dword [ecx*4 + 0x8c09ec], 0
jge 0x7aeb2f
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3b
jmp 0x7b0a30
lea eax, [esi + esi*2]
mov dl, byte [eax*4 + 0x8c09ec]
mov byte [edi], dl
xor eax, eax
mov al, dl
mov dword [ebp - 0x1ac], eax
inc edi
mov cl, byte [ebp - 0x19c]
mov byte [edi], cl
inc edi
mov ecx, dword [ebp - 0x19c]
push ecx
mov eax, dword [ebp - 0x1a8]
push eax
push edi
call fcn.004ef3f4
add esp, 0xc
add edi, dword [ebp - 0x19c]
mov byte [edi], 0
inc edi
mov edx, dword [ebp - 0x1ac]
add edx, 0xffffff6a
sub edx, 4
jb 0x7aeb94
sub edx, 2
jb 0x7aeb88
jmp 0x7aebc0
mov ecx, dword [ebp + 0x30]
or dword [ecx + 0x64], 0x1000
jmp 0x7aebc0
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x70], 1
jmp 0x7aebc0
lea edx, [esi + esi*2]
mov ecx, dword [edx*4 + 0x8c09e4]
inc ecx
add dword [ebp - 0x1a0], ecx
inc esi
cmp esi, dword [0x8c0a50]
jl 0x7aea10
cmp esi, dword [0x8c0a50]
jl 0x7b0a29
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3c
jmp 0x7b0a30
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x3f
jne 0x7affc1
inc dword [ebx]
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3a
jg 0x7aec78
je 0x7aecfb
add edx, 0xffffffdf
cmp edx, 0x18
ja case.0x7aec0d.34
jmp dword [edx*4 + 0x7aec14]
cmp edx, 0x43
jg 0x7aec9f
je 0x7af3c0
sub edx, 0x3c
je 0x7af34d
dec edx
je 0x7af2cc
dec edx
je 0x7af3b2
jmp case.0x7aec0d.34
sub edx, 0x50
je 0x7af47a
sub edx, 2
je 0x7afb76
sub edx, 0x2a
je 0x7aecf1
jmp case.0x7aec0d.34
inc dword [ebx]
jmp 0x7aecc1
inc dword [ebx]
mov ecx, dword [ebx]
cmp byte [ecx], 0
je 0x7aecd3
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x29
jne 0x7aecbf
mov ecx, dword [ebx]
cmp byte [ecx], 0
jne 0x7b0a29
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x12
jmp 0x7b0a30
mov dword [ebp - 0xb0], 1
mov dword [ebp - 0x14], 0x83
inc dword [ebx]
jmp 0x7afff7
mov dword [ebp - 0x14], 0x87
mov edx, dword [ebx]
mov dword [ebp - 0x70], edx
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3f
jne 0x7aed7f
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 2]
cmp ecx, 0x43
jne 0x7aed7f
mov dword [ebp - 0x1b0], 3
mov eax, dword [ebx]
mov edx, dword [ebp - 0x1b0]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x30
jl 0x7aed63
mov eax, dword [ebx]
mov edx, dword [ebp - 0x1b0]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x39
jg 0x7aed63
inc dword [ebp - 0x1b0]
jmp 0x7aed37
mov eax, dword [ebx]
mov edx, dword [ebp - 0x1b0]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x29
jne 0x7aed7f
mov eax, dword [ebp - 0x1b0]
inc eax
add dword [ebp - 0x70], eax
mov edx, dword [ebp - 0x70]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3f
jne 0x7aedbf
mov eax, dword [ebp - 0x70]
xor edx, edx
mov dl, byte [eax + 2]
cmp edx, 0x3d
je 0x7afff7
mov ecx, dword [ebp - 0x70]
xor eax, eax
mov al, byte [ecx + 2]
cmp eax, 0x21
je 0x7afff7
mov edx, dword [ebp - 0x70]
xor ecx, ecx
mov cl, byte [edx + 2]
cmp ecx, 0x3c
je 0x7afff7
mov byte [edi + 3], 0x8d
mov dword [ebp - 0xcc], 3
mov dword [ebp - 0xc8], 0xffffffff
mov dword [ebp - 0x1bc], 0xffffffff
xor eax, eax
xor edx, edx
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0xc4], edx
inc dword [ebx]
xor eax, eax
mov ecx, dword [ebx]
mov al, byte [ecx]
cmp eax, 0x52
jne 0x7aee1d
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x26
jne 0x7aee1d
mov dword [ebp - 0xe0], 0xffffffff
add dword [ebx], 2
mov byte [edi + 3], 0x8f
jmp 0x7aee9b
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3c
jne 0x7aee36
mov dword [ebp - 0xe0], 0x3e
inc dword [ebx]
jmp 0x7aee9b
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x27
jne 0x7aee4f
mov dword [ebp - 0xe0], 0x27
inc dword [ebx]
jmp 0x7aee9b
xor edx, edx
mov dword [ebp - 0xe0], edx
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x2d
je 0x7aee6d
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x2b
jne 0x7aee7d
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0xc8], edx
inc dword [ebx]
jmp 0x7aee9b
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x30
jl 0x7aee9b
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x39
jg 0x7aee9b
xor eax, eax
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jl 0x7aeee0
jmp 0x7aeec4
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebx]
add eax, eax
xor ecx, ecx
mov cl, byte [edx]
lea eax, [eax + eax*4]
add ecx, eax
add ecx, 0xffffffd0
mov dword [ebp - 0xc4], ecx
inc dword [ebx]
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x30
jl 0x7aef5e
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x39
jle 0x7aeea6
jmp 0x7aef5e
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x30
jl 0x7aef04
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x39
jg 0x7aef04
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x54
jmp 0x7b0a30
mov edx, dword [ebx]
mov eax, dword [ebp + 0x30]
xor ecx, ecx
mov cl, byte [edx]
mov edx, dword [eax + 0xc]
test byte [edx + ecx], 0x10
jne 0x7aef24
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x1c
jmp 0x7b0a30
mov eax, dword [ebx]
mov dword [ebp - 0x1c4], eax
inc dword [ebx]
jmp 0x7aef32
inc dword [ebx]
mov edx, dword [ebx]
mov eax, dword [ebp + 0x30]
xor ecx, ecx
mov cl, byte [edx]
mov edx, dword [eax + 0xc]
test byte [edx + ecx], 0x10
jne 0x7aef30
mov ecx, dword [ebx]
sub ecx, dword [ebp - 0x1c4]
mov dword [ebp - 0x1bc], ecx
cmp dword [ebp + 0x34], 0
je 0x7aef5e
mov eax, dword [ebp + 0x34]
add dword [eax], 2
cmp dword [ebp - 0xe0], 0
jle 0x7aef75
mov dl, byte [ebp - 0xe0]
mov eax, dword [ebx]
inc dword [ebx]
cmp dl, byte [eax]
jne 0x7aef82
mov edx, dword [ebx]
inc dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
je 0x7aef92
dec dword [ebx]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x1a
jmp 0x7b0a30
cmp dword [ebp + 0x34], 0
jne 0x7afff7
cmp dword [ebp - 0xc8], 0
jl 0x7af035
cmp dword [ebp - 0xc4], 0
jg 0x7aefc0
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x23
jmp 0x7b0a30
cmp dword [ebp - 0xc8], 0
je 0x7aeff3
cmp dword [ebp - 0xc8], 0x2d
jne 0x7aefe1
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
sub ecx, dword [ebp - 0xc4]
inc ecx
jmp 0x7aefed
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x40]
add ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xc4], ecx
cmp dword [ebp - 0xc4], 0
jle 0x7af00a
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x44]
cmp edx, dword [ebp - 0xc4]
jge 0x7af018
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x7b0a30
mov eax, dword [ebp - 0xc4]
sar eax, 8
mov byte [edi + 4], al
mov dl, byte [ebp - 0xc4]
and dl, 0xff
mov byte [edi + 5], dl
jmp 0x7afff7
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0x1c8], eax
xor edx, edx
mov dword [ebp - 0x1b0], edx
jmp 0x7af081
mov ecx, dword [ebp - 0x1bc]
push ecx
mov eax, dword [ebp - 0x1c8]
add eax, 2
push eax
mov edx, dword [ebp - 0x1c4]
push edx
call fcn.004ef3dc
add esp, 0xc
test eax, eax
je 0x7af08f
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x34]
add dword [ebp - 0x1c8], eax
inc dword [ebp - 0x1b0]
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x30]
cmp ecx, dword [ebp - 0x1b0]
jg 0x7af04b
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x30]
cmp edx, dword [ebp - 0x1b0]
jle 0x7af18d
mov ecx, dword [ebp - 0x1b0]
xor edx, edx
mov dword [ebp - 0x1cc], ecx
xor ecx, ecx
inc dword [ebp - 0x1b0]
mov dword [ebp - 0x1d0], 1
mov eax, dword [ebp - 0x1c8]
mov dl, byte [eax]
mov eax, dword [ebp - 0x1c8]
shl edx, 8
mov cl, byte [eax + 1]
or edx, ecx
mov dword [ebp - 0xc4], edx
jmp 0x7af11b
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x34]
add dword [ebp - 0x1c8], ecx
mov eax, dword [ebp - 0x1bc]
push eax
mov edx, dword [ebp - 0x1c8]
add edx, 2
push edx
mov ecx, dword [ebp - 0x1c4]
push ecx
call fcn.004ef3dc
add esp, 0xc
test eax, eax
jne 0x7af129
inc dword [ebp - 0x1d0]
inc dword [ebp - 0x1b0]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x30]
cmp edx, dword [ebp - 0x1b0]
jg 0x7af0df
cmp dword [ebp - 0x1d0], 1
jle 0x7af170
mov ecx, dword [ebp - 0x1cc]
sar ecx, 8
mov byte [edi + 4], cl
mov al, byte [ebp - 0x1cc]
and al, 0xff
mov byte [edi + 5], al
mov edx, dword [ebp - 0x1d0]
sar edx, 8
mov byte [edi + 6], dl
mov cl, byte [ebp - 0x1d0]
and cl, 0xff
mov byte [edi + 7], cl
add dword [ebp - 0xcc], 2
inc byte [edi + 3]
jmp 0x7afff7
mov eax, dword [ebp - 0xc4]
sar eax, 8
mov byte [edi + 4], al
mov dl, byte [ebp - 0xc4]
and dl, 0xff
mov byte [edi + 5], dl
jmp 0x7afff7
cmp dword [ebp - 0xe0], 0
je 0x7af1a9
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x7b0a30
mov eax, dword [ebp - 0x1c4]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x52
jne 0x7af283
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0x1b0], 1
mov eax, dword [ebp - 0x1b0]
cmp eax, dword [ebp - 0x1bc]
jge 0x7af250
mov edx, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x1b0]
movzx edx, byte [edx + eax]
cmp edx, 0x30
jl 0x7af207
mov ecx, dword [ebp - 0x1c4]
mov esi, dword [ebp - 0x1b0]
xor eax, eax
mov al, byte [ecx + esi]
cmp eax, 0x39
jle 0x7af215
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x7b0a30
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x1c4]
mov esi, dword [ebp - 0x1b0]
add edx, edx
xor eax, eax
mov al, byte [ecx + esi]
lea edx, [edx + edx*4]
add eax, edx
add eax, 0xffffffd0
mov dword [ebp - 0xc4], eax
inc dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1b0]
cmp ecx, dword [ebp - 0x1bc]
jl 0x7af1dc
cmp dword [ebp - 0xc4], 0
jne 0x7af263
mov dword [ebp - 0xc4], 0xffff
mov byte [edi + 3], 0x8f
mov ecx, dword [ebp - 0xc4]
sar ecx, 8
mov byte [edi + 4], cl
mov al, byte [ebp - 0xc4]
and al, 0xff
mov byte [edi + 5], al
jmp 0x7afff7
cmp dword [ebp - 0x1bc], 6
jne 0x7af2b9
push 6
push str.DEFINE
mov edx, dword [ebp - 0x1c4]
push edx
call fcn.004ef3dc
add esp, 0xc
test eax, eax
jne 0x7af2b9
mov byte [edi + 3], 0x91
mov dword [ebp - 0xcc], 1
jmp 0x7afff7
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x7b0a30
mov dword [ebp - 0x14], 0x7d
mov eax, dword [ebp + 0x30]
inc dword [eax + 0x5c]
inc dword [ebx]
jmp 0x7afff7
inc dword [ebx]
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
jne 0x7af33b
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2a
je 0x7af33b
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x2b
je 0x7af33b
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3f
je 0x7af33b
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x7b
jne 0x7af32d
mov ecx, dword [ebx]
add ecx, 2
push ecx
call fcn.007a8e80
pop ecx
test eax, eax
jne 0x7af33b
mov byte [edi], 0x9d
inc edi
xor eax, eax
mov dword [ebp - 0x78], eax
jmp 0x7b0a29
mov dword [ebp - 0x14], 0x7e
mov edx, dword [ebp + 0x30]
inc dword [edx + 0x5c]
jmp 0x7afff7
mov ecx, dword [ebx]
mov al, byte [ecx + 1]
sub al, 0x21
je 0x7af371
sub al, 0x1c
je 0x7af35c
jmp 0x7af386
mov dword [ebp - 0x14], 0x7f
mov edx, dword [ebp + 0x30]
inc dword [edx + 0x5c]
add dword [ebx], 2
jmp 0x7afff7
mov dword [ebp - 0x14], 0x80
mov ecx, dword [ebp + 0x30]
inc dword [ecx + 0x5c]
add dword [ebx], 2
jmp 0x7afff7
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0xc]
test byte [ecx + edx], 0x10
jne case.0x7aec0d.39
inc dword [ebx]
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x18
jmp 0x7b0a30
mov dword [ebp - 0x14], 0x81
inc dword [ebx]
jmp 0x7afff7
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x50], 1
mov byte [edi], 0x76
inc edi
xor ecx, ecx
mov dword [ebp - 0x1d4], ecx
inc dword [ebx]
jmp 0x7af3f7
mov edx, dword [ebx]
mov eax, dword [ebp - 0x1d4]
add eax, eax
movzx edx, byte [edx]
lea eax, [eax + eax*4]
add eax, edx
add eax, 0xffffffd0
mov dword [ebp - 0x1d4], eax
inc dword [ebx]
mov eax, dword [ebx]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x30
jl 0x7af40d
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x39
jle 0x7af3da
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
je 0x7af426
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x27
jmp 0x7b0a30
cmp dword [ebp - 0x1d4], 0xff
jle 0x7af440
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x26
jmp 0x7b0a30
mov cl, byte [ebp - 0x1d4]
mov byte [edi], cl
inc edi
mov eax, dword [ebp + 0x30]
mov edx, dword [ebx]
sub edx, dword [eax + 0x18]
inc edx
sar edx, 8
mov byte [edi], dl
mov ecx, dword [ebp + 0x30]
mov eax, dword [ebx]
sub eax, dword [ecx + 0x18]
inc eax
and al, 0xff
mov byte [edi + 1], al
mov byte [edi + 2], 0
mov byte [edi + 3], 0
add edi, 4
xor edx, edx
mov dword [ebp - 0x78], edx
jmp 0x7b0a29
inc dword [ebx]
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x3d
je 0x7af492
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x3e
jne 0x7af4b8
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3e
sete cl
and ecx, 1
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xe0], 0x29
jmp 0x7af79e
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3c
je case.0x7aec0d.39
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x29
jmp 0x7b0a30
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3c
jne 0x7af4e3
mov ecx, 0x3e
jmp 0x7af4e8
mov ecx, 0x27
mov dword [ebp - 0xe0], ecx
inc dword [ebx]
mov eax, dword [ebx]
mov dword [ebp - 0x1c4], eax
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x30
jl 0x7af520
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x39
jg 0x7af520
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x54
jmp 0x7b0a30
inc dword [ebx]
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0xc]
test byte [ecx + edx], 0x10
jne 0x7af51e
mov edx, dword [ebx]
sub edx, dword [ebp - 0x1c4]
mov dword [ebp - 0x1bc], edx
cmp dword [ebp + 0x34], 0
je 0x7af783
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x40]
inc eax
mov dword [ebp - 0x1dc], eax
mov dl, byte [ebp - 0xe0]
mov eax, dword [ebx]
cmp dl, byte [eax]
je 0x7af571
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x2a
jmp 0x7b0a30
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x30], 0x2710
jl 0x7af58b
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x31
jmp 0x7b0a30
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x1bc]
add eax, 3
cmp eax, dword [edx + 0x34]
jle 0x7af5c2
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x1bc]
add ecx, 3
mov dword [eax + 0x34], ecx
cmp dword [ebp - 0x1bc], 0x20
jle 0x7af5c2
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x30
jmp 0x7b0a30
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0x1d8], eax
xor edx, edx
mov dword [ebp - 0x1b0], edx
jmp 0x7af66c
mov ecx, dword [ebp - 0x1d8]
mov eax, dword [ecx + 4]
cmp eax, dword [ebp - 0x1bc]
jne 0x7af640
mov edx, dword [ebp - 0x1bc]
push edx
mov ecx, dword [ebp - 0x1d8]
mov eax, dword [ecx]
push eax
mov edx, dword [ebp - 0x1c4]
push edx
call fcn.004ef3dc
add esp, 0xc
test eax, eax
jne 0x7af640
mov ecx, dword [ebp - 0x1d8]
mov eax, dword [ecx + 8]
cmp eax, dword [ebp - 0x1dc]
je 0x7af67e
test byte [ebp - 0x4a], 8
jne 0x7af634
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x2b
jmp 0x7b0a30
mov ecx, dword [ebp + 0x30]
mov dword [ecx + 0x78], 1
jmp 0x7af65f
mov eax, dword [ebp - 0x1d8]
mov edx, dword [eax + 8]
cmp edx, dword [ebp - 0x1dc]
jne 0x7af65f
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x41
jmp 0x7b0a30
inc dword [ebp - 0x1b0]
add dword [ebp - 0x1d8], 0xc
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x30]
cmp edx, dword [ebp - 0x1b0]
jg 0x7af5db
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x1b0]
jg 0x7af783
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x30]
jg 0x7af733
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x38]
add ecx, ecx
mov dword [ebp - 0x1e0], ecx
mov eax, dword [ebp - 0x1e0]
shl eax, 2
lea eax, [eax + eax*2]
push eax
call dword [0x8c093c]
pop ecx
mov dword [ebp - 0x1e4], eax
cmp dword [ebp - 0x1e4], 0
jne 0x7af6e1
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x15
jmp 0x7b0a30
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x38]
shl eax, 2
lea eax, [eax + eax*2]
push eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x28]
push ecx
mov eax, dword [ebp - 0x1e4]
push eax
call fcn.004ef3f4
add esp, 0xc
mov edx, dword [ebp + 0x30]
cmp dword [edx + 0x38], 0x14
jle 0x7af71b
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x28]
push eax
call dword [0x8c0940]
pop ecx
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x1e4]
mov dword [edx + 0x28], eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x1e0]
mov dword [edx + 0x38], ecx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
mov edx, dword [edx + 0x28]
mov ecx, dword [ebp - 0x1c4]
lea eax, [eax + eax*2]
mov dword [edx + eax*4], ecx
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x28]
lea ecx, [ecx + ecx*2]
mov eax, dword [ebp - 0x1bc]
mov dword [edx + ecx*4 + 4], eax
mov edx, dword [ebp + 0x30]
mov esi, dword [ebp + 0x30]
mov ecx, dword [edx + 0x30]
mov eax, dword [esi + 0x28]
mov edx, dword [ebp - 0x1dc]
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx*4 + 8], edx
mov ecx, dword [ebp + 0x30]
inc dword [ecx + 0x30]
inc dword [ebx]
jmp 0x7affd0
mov dword [ebp - 0xe0], 0x29
mov dword [ebp - 0xac], 1
inc dword [ebx]
mov ecx, dword [ebx]
mov dword [ebp - 0x1c4], ecx
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x30
jl 0x7af7d0
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x39
jg 0x7af7d0
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x54
jmp 0x7b0a30
inc dword [ebx]
mov ecx, dword [ebx]
mov edx, dword [ebp + 0x30]
xor eax, eax
mov al, byte [ecx]
mov edx, dword [edx + 0xc]
test byte [edx + eax], 0x10
jne 0x7af7ce
mov eax, dword [ebx]
sub eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x1bc], eax
cmp dword [ebp + 0x34], 0
je 0x7af8e0
cmp dword [ebp - 0x1bc], 0
jne 0x7af811
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3e
jmp 0x7b0a30
mov cl, byte [ebp - 0xe0]
mov eax, dword [ebx]
cmp cl, byte [eax]
je 0x7af82b
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x2a
jmp 0x7b0a30
cmp dword [ebp - 0x1bc], 0x20
jle 0x7af842
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x30
jmp 0x7b0a30
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x28]
mov dword [ebp - 0x1e8], edx
xor ecx, ecx
mov dword [ebp - 0x1b0], ecx
jmp 0x7af899
mov eax, dword [ebp - 0x1e8]
mov edx, dword [eax + 4]
cmp edx, dword [ebp - 0x1bc]
jne 0x7af88c
mov ecx, dword [ebp - 0x1bc]
push ecx
mov eax, dword [ebp - 0x1e8]
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x1c4]
push ecx
call fcn.004ef3dc
add esp, 0xc
test eax, eax
je 0x7af8a7
inc dword [ebp - 0x1b0]
add dword [ebp - 0x1e8], 0xc
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x30]
cmp edx, dword [ebp - 0x1b0]
jg 0x7af858
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x1b0]
jle 0x7af8c0
mov edx, dword [ebp - 0x1e8]
mov ecx, dword [edx + 8]
jmp 0x7af8c2
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
cmp dword [ebp - 0xac], 0
jne 0x7af98b
mov eax, dword [ebp + 0x30]
inc dword [eax + 0x54]
jmp 0x7af98b
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x2c]
mov dword [ebp - 0x1c8], ecx
xor eax, eax
mov dword [ebp - 0x1b0], eax
jmp 0x7af93f
mov edx, dword [ebp - 0x1bc]
push edx
mov ecx, dword [ebp - 0x1c8]
add ecx, 2
push ecx
mov eax, dword [ebp - 0x1c4]
push eax
call fcn.004ef3dc
add esp, 0xc
test eax, eax
jne 0x7af92d
mov edx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x1bc]
cmp byte [edx + eax + 2], 0
je 0x7af94d
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x34]
add dword [ebp - 0x1c8], ecx
inc dword [ebp - 0x1b0]
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x1b0]
jg 0x7af8f6
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x30]
cmp ecx, dword [ebp - 0x1b0]
jle 0x7af97d
mov eax, dword [ebp - 0x1c8]
xor edx, edx
mov dl, byte [eax]
shl edx, 8
mov eax, dword [ebp - 0x1c8]
xor ecx, ecx
mov cl, byte [eax + 1]
or edx, ecx
mov dword [ebp - 0xc4], edx
jmp 0x7af98b
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x7b0a30
cmp dword [ebp - 0xac], 0
jne 0x7afcbc
cmp dword [ebp + 0x34], 0
jne 0x7b0519
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x78], 0
je 0x7b0519
mov dword [ebp - 0x1ec], 1
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x1f0], eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x34]
add ecx, dword [ebp - 0x1c8]
mov dword [ebp - 0x1f4], ecx
inc dword [ebp - 0x1b0]
jmp 0x7afa27
mov eax, dword [ebp - 0x1c8]
mov edx, dword [ebp - 0x1f4]
add eax, 2
add edx, 2
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x7afa0d
test cl, cl
je 0x7afa0f
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x7afa0d
add eax, 2
add edx, 2
test cl, cl
jne 0x7af9f1
jne 0x7afa35
inc dword [ebp - 0x1ec]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x34]
add dword [ebp - 0x1f4], edx
inc dword [ebp - 0x1b0]
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x1b0]
jg 0x7af9df
cmp dword [ebp - 0x1ec], 1
jle 0x7b0519
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x7afa4f
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x78], edi
test byte [ebp - 0x4c], 1
je 0x7afa5c
mov dl, 0x74
jmp 0x7afa5e
mov dl, 0x73
mov byte [edi], dl
inc edi
mov eax, dword [ebp - 0x1f0]
shr eax, 8
mov byte [edi], al
mov cl, byte [ebp - 0x1f0]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
mov ecx, dword [ebp - 0x1ec]
sar ecx, 8
mov byte [edi], cl
mov al, byte [ebp - 0x1ec]
and al, 0xff
mov byte [edi + 1], al
add edi, 2
mov edx, dword [ebp - 0x1c8]
cmp edx, dword [ebp - 0x1f4]
jae 0x7b0a29
mov edx, dword [ebp - 0x1c8]
mov ecx, dword [ebp - 0x1c8]
xor eax, eax
movzx edx, byte [edx + 1]
mov al, byte [ecx]
shl eax, 8
or eax, edx
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0x20
jge 0x7afadd
mov ecx, dword [ebp - 0xc4]
mov eax, 1
shl eax, cl
jmp 0x7afae2
mov eax, 1
mov edx, dword [ebp + 0x30]
or dword [edx + 0x50], eax
mov ecx, dword [ebp + 0x30]
mov ecx, dword [ecx + 0x4c]
cmp ecx, dword [ebp - 0xc4]
jge 0x7afb02
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0xc4]
mov dword [eax + 0x4c], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
je 0x7afb4e
mov edx, dword [ebp - 0x1f8]
movzx ecx, word [edx + 4]
cmp ecx, dword [ebp - 0xc4]
jne 0x7afb37
mov eax, dword [ebp - 0x1f8]
mov word [eax + 6], 1
jmp 0x7afb4e
mov edx, dword [ebp - 0x1f8]
mov ecx, dword [edx]
mov dword [ebp - 0x1f8], ecx
cmp dword [ebp - 0x1f8], 0
jne 0x7afb17
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x34]
add dword [ebp - 0x1c8], edx
mov ecx, dword [ebp - 0x1c8]
cmp ecx, dword [ebp - 0x1f4]
jb 0x7afaa6
jmp 0x7b0a29
inc dword [ebx]
mov dword [ebp - 0xe0], 0x29
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0xc8], edx
cmp edx, 0x2b
jne 0x7afbbb
inc dword [ebx]
mov eax, dword [ebx]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x30
jl 0x7afbab
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x39
jle 0x7afbe6
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x3f
jmp 0x7b0a30
cmp dword [ebp - 0xc8], 0x2d
jne 0x7afbe6
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x30
jl case.0x7aec0d.34
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x39
jg case.0x7aec0d.34
inc dword [ebx]
xor eax, eax
mov dword [ebp - 0xc4], eax
jmp 0x7afc0e
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebx]
add edx, edx
xor ecx, ecx
mov cl, byte [eax]
lea edx, [edx + edx*4]
add edx, ecx
add edx, 0xffffffd0
mov dword [ebp - 0xc4], edx
inc dword [ebx]
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x30
jl 0x7afc24
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x39
jle 0x7afbf0
mov cl, byte [ebp - 0xe0]
mov eax, dword [ebx]
cmp cl, byte [eax]
je 0x7afc3e
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x1d
jmp 0x7b0a30
cmp dword [ebp - 0xc8], 0x2d
jne 0x7afc8a
cmp dword [ebp - 0xc4], 0
jne 0x7afc5e
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3a
jmp 0x7b0a30
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x40]
sub edx, dword [ebp - 0xc4]
inc edx
mov dword [ebp - 0xc4], edx
cmp dword [ebp - 0xc4], 0
jg 0x7afcbc
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x7b0a30
cmp dword [ebp - 0xc8], 0x2b
jne 0x7afcbc
cmp dword [ebp - 0xc4], 0
jne 0x7afcaa
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3a
jmp 0x7b0a30
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
add ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0x78], edi
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x1fc], edx
cmp dword [ebp + 0x34], 0
jne 0x7afdf5
mov byte [edi], 0
cmp dword [ebp - 0xc4], 0
je 0x7afd04
mov ecx, dword [ebp - 0xc4]
push ecx
mov eax, dword [ebp - 0x84]
push eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x14]
push ecx
call fcn.007a9d78
add esp, 0xc
mov dword [ebp - 0x1fc], eax
cmp dword [ebp - 0x1fc], 0
jne 0x7afda2
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x44]
cmp edx, dword [ebp - 0xc4]
jge 0x7afd2d
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x7b0a30
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x14]
add edx, dword [ebp - 0xc4]
mov dword [ebp - 0x1fc], edx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x10]
add eax, dword [edx + 0x3c]
mov edx, dword [ebp + 0x30]
add eax, 0xffffff9c
cmp eax, dword [edx + 0x20]
ja 0x7afd71
mov eax, dword [ebp + 0x30]
push eax
call fcn.007a8df8
pop ecx
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
jne 0x7b0a30
mov edx, dword [ebp + 0x30]
lea eax, [edi + 1]
sub eax, dword [edx + 0x14]
mov edx, dword [ebp + 0x30]
sar eax, 8
mov ecx, dword [edx + 0x20]
mov byte [ecx], al
lea eax, [edi + 1]
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
sub eax, dword [edx + 0x14]
mov edx, dword [ecx + 0x20]
and al, 0xff
mov byte [edx + 1], al
mov eax, dword [ebp + 0x30]
add dword [eax + 0x20], 2
jmp 0x7afdf5
mov ecx, dword [ebp - 0x1fc]
mov eax, dword [ebp - 0x1fc]
xor edx, edx
movzx ecx, byte [ecx + 1]
shl ecx, 8
mov dl, byte [eax + 2]
or ecx, edx
jne 0x7afdf5
cmp dword [ebp + 0x2c], 0
jg 0x7afdf5
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebp - 0x84]
push eax
mov edx, dword [ebp + 0x28]
push edx
push edi
mov ecx, dword [ebp - 0x1fc]
push ecx
call fcn.007aa4e0
add esp, 0x14
test eax, eax
je 0x7afdf5
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x28
jmp 0x7b0a30
mov byte [edi], 0x75
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x1fc]
sub eax, dword [edx + 0x14]
sar eax, 8
mov byte [edi + 1], al
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x1fc]
sub ecx, dword [edx + 0x14]
and cl, 0xff
mov byte [edi + 2], cl
add edi, 3
xor ecx, ecx
mov dword [ebp - 0x68], ecx
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x7b0a29
mov dword [ebp - 0x28], 0xffffffff
jmp 0x7b0a29
xor eax, eax
lea edx, [ebp - 0x1b4]
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1c0], edx
jmp 0x7aff09
mov ecx, dword [ebx]
inc dword [ebx]
movzx ecx, byte [ecx]
cmp ecx, 0x69
jg 0x7afe7d
je 0x7afeb4
sub ecx, 0x2d
je 0x7afe8e
sub ecx, 0x1d
je 0x7afe9c
sub ecx, 0xb
je 0x7afee0
sub ecx, 3
je 0x7afeee
jmp 0x7afef9
sub ecx, 0x6d
je 0x7afebf
sub ecx, 6
je 0x7afeca
sub ecx, 5
je 0x7afed5
jmp 0x7afef9
lea eax, [ebp - 0x1b8]
mov dword [ebp - 0x1c0], eax
jmp 0x7aff09
mov edx, dword [ebp - 0x1c0]
or dword [edx], 0x80000
mov ecx, dword [ebp + 0x30]
or dword [ecx + 0x64], 0x400
jmp 0x7aff09
mov eax, dword [ebp - 0x1c0]
or dword [eax], 1
jmp 0x7aff09
mov edx, dword [ebp - 0x1c0]
or dword [edx], 2
jmp 0x7aff09
mov ecx, dword [ebp - 0x1c0]
or dword [ecx], 4
jmp 0x7aff09
mov eax, dword [ebp - 0x1c0]
or dword [eax], 8
jmp 0x7aff09
mov edx, dword [ebp - 0x1c0]
or dword [edx], 0x200
jmp 0x7aff09
mov ecx, dword [ebp - 0x1c0]
or dword [ecx], 0x40
jmp 0x7aff09
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xc
dec dword [ebx]
jmp 0x7b0a30
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
je 0x7aff23
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3a
jne 0x7afe59
mov ecx, dword [ebp - 0x4c]
or ecx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1b8]
not eax
and ecx, eax
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
jne 0x7affb6
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x14]
add edx, 3
cmp edi, edx
jne 0x7aff70
cmp dword [ebp + 0x34], 0
je 0x7aff62
mov ecx, dword [ebp + 0x34]
cmp dword [ecx], 6
jne 0x7aff70
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0xc0]
mov dword [eax + 0x60], edx
jmp 0x7aff9e
test byte [ebp - 0xbf], 2
setne cl
and ecx, 1
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
xor eax, 1
mov dword [ebp - 0x1c], eax
test byte [ebp - 0xc0], 1
je 0x7aff99
mov edx, 1
jmp 0x7aff9b
xor edx, edx
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp + 8]
mov dword [edx], eax
xor ecx, ecx
mov dword [ebp - 0x78], ecx
jmp 0x7b0a29
mov dword [ebp - 0x14], 0x83
inc dword [ebx]
jmp 0x7afff7
test byte [ebp - 0x4b], 0x10
je 0x7affd0
mov dword [ebp - 0x14], 0x83
jmp 0x7afff7
mov ecx, dword [ebp + 0x30]
inc dword [ecx + 0x40]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x40]
shr edx, 8
mov byte [edi + 3], dl
mov ecx, dword [ebp + 0x30]
mov al, byte [ecx + 0x40]
and al, 0xff
mov byte [edi + 4], al
mov dword [ebp - 0xcc], 2
mov edx, dword [ebp + 0x30]
inc dword [edx + 0x58]
mov ecx, dword [edx + 0x58]
cmp ecx, 0xfa
jle 0x7b0016
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x52
jmp 0x7b0a30
mov dword [ebp - 0x78], edi
mov dl, byte [ebp - 0x14]
mov byte [edi], dl
mov dword [ebp - 0x60], edi
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x68]
mov dword [ebp - 0x48], eax
xor eax, eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0x54], eax
cmp dword [ebp + 0x34], 0
jne 0x7b0045
xor edx, edx
jmp 0x7b0048
lea edx, [ebp - 0x54]
push edx
lea edx, [ebp - 0xdc]
mov eax, dword [ebp + 0x30]
push eax
lea eax, [ebp - 0xd0]
mov ecx, dword [ebp + 0x28]
push ecx
lea ecx, [ebp - 0xd8]
push ecx
push eax
push edx
lea ecx, [ebp - 0xd4]
push ecx
cmp dword [ebp - 0x14], 0x87
jne 0x7b007d
mov eax, 1
jmp 0x7b007f
xor eax, eax
add eax, dword [ebp + 0x2c]
push eax
mov edx, dword [ebp - 0xcc]
push edx
mov ecx, dword [ebp - 0xb0]
push ecx
cmp dword [ebp - 0x14], 0x7f
je 0x7b00a4
cmp dword [ebp - 0x14], 0x80
je 0x7b00a4
xor ecx, ecx
jmp 0x7b00a9
mov ecx, 1
push ecx
lea edx, [ebp - 0x60]
mov eax, dword [ebp + 0x14]
push eax
push ebx
push edx
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.007b0a48
add esp, 0x3c
test eax, eax
je 0x7b0a30
mov eax, dword [ebp + 0x30]
dec dword [eax + 0x58]
cmp dword [ebp - 0x14], 0x81
jne 0x7b00ea
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
cmp ecx, dword [ebp - 0xe8]
ja 0x7b00ea
mov byte [edi], 0x82
cmp dword [ebp - 0x14], 0x7d
jl 0x7b00ff
cmp dword [ebp - 0x14], 0x80
jg 0x7b00ff
mov eax, dword [ebp + 0x30]
dec dword [eax + 0x5c]
cmp dword [ebp - 0x14], 0x87
jne 0x7b01b5
cmp dword [ebp + 0x34], 0
jne 0x7b01b5
mov dword [ebp - 0x200], edi
xor edx, edx
mov dword [ebp - 0x204], edx
inc dword [ebp - 0x204]
xor eax, eax
mov edx, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x200]
movzx edx, byte [edx + 2]
mov al, byte [ecx + 1]
shl eax, 8
or eax, edx
add dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x200]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x78
jne 0x7b0124
xor ecx, ecx
mov cl, byte [edi + 3]
cmp ecx, 0x91
jne 0x7b0186
cmp dword [ebp - 0x204], 1
jle 0x7b017d
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x36
jmp 0x7b0a30
mov dword [ebp - 0x14], 0x91
jmp 0x7b01b5
cmp dword [ebp - 0x204], 2
jle 0x7b019d
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x1b
jmp 0x7b0a30
cmp dword [ebp - 0x204], 1
jne 0x7b01b5
or ecx, 0xffffffff
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xdc], ecx
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x29
je 0x7b01ce
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xe
jmp 0x7b0a30
cmp dword [ebp + 0x34], 0
je 0x7b021f
mov eax, dword [ebp + 0x34]
mov edx, 0x7fffffeb
sub edx, dword [eax]
mov eax, dword [ebp - 0x54]
add eax, 0xfffffffa
cmp edx, eax
jge 0x7b01f6
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x14
jmp 0x7b0a30
mov esi, dword [ebp + 0x34]
mov ecx, dword [ebp - 0x54]
add ecx, 0xfffffffa
inc edi
add dword [esi], ecx
mov byte [edi], 0
mov byte [edi + 1], 3
add edi, 2
mov byte [edi], 0x78
inc edi
mov byte [edi], 0
mov byte [edi + 1], 3
add edi, 2
jmp 0x7b0a29
cmp dword [ebp - 0x14], 0x91
mov edi, dword [ebp - 0x60]
je 0x7b0a29
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
xor eax, eax
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x14], 0x81
jl 0x7b02e4
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x7b0293
cmp dword [ebp - 0xdc], 0
jl 0x7b0283
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x68], 1
jmp 0x7b028a
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x3c], 0xffffffff
jmp 0x7b02c0
cmp dword [ebp - 0xdc], 0
jl 0x7b02c0
cmp dword [ebp - 0xd8], 0
jge 0x7b02c0
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xd0], eax
mov edx, dword [ebp - 0xdc]
or edx, dword [ebp - 0x48]
mov dword [ebp - 0xd8], edx
cmp dword [ebp - 0xd8], 0
jl 0x7b0a29
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x2c], eax
jmp 0x7b0a29
cmp dword [ebp - 0x14], 0x7d
jne 0x7b0a29
cmp dword [ebp - 0xd8], 0
jl 0x7b0a29
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x2c], ecx
jmp 0x7b0a29
mov eax, dword [ebx]
mov dword [ebp - 0x70], eax
push 0
mov edx, dword [ebp - 0x4c]
push edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x40]
lea ecx, [ebp - 0xec]
push eax
mov edx, dword [ebp + 0x14]
push edx
push ecx
push ebx
call fcn.007a8f10
add esp, 0x18
mov esi, eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x7b0a30
test esi, esi
jne 0x7b0355
mov esi, dword [ebp - 0xec]
jmp 0x7b06cf
cmp esi, 0x1a
jne 0x7b0385
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x5c
jne 0x7b0379
mov ecx, dword [ebx]
movzx ecx, byte [ecx + 2]
cmp ecx, 0x45
jne 0x7b0379
add dword [ebx], 2
jmp 0x7b0a29
mov dword [ebp - 0x64], 1
jmp 0x7b0a29
cmp esi, 0x19
je 0x7b0a29
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x7b03a5
cmp esi, 5
jle 0x7b03a5
cmp esi, 0x17
jge 0x7b03a5
mov dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0x20]
cmp esi, 0x1b
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
jne 0x7b0494
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x20]
mov dword [ebp - 0x80], ecx
inc dword [ebx]
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3c
jne 0x7b03e3
mov ecx, 0x3e
jmp 0x7b03e8
mov ecx, 0x27
mov dword [ebp - 0xe0], ecx
xor eax, eax
mov dword [ebp - 0xcc], eax
xor edx, edx
mov dword [ebp - 0xb0], edx
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
mov dword [ebp - 0x20c], eax
cmp dword [ebp - 0x20c], 0x2b
je 0x7b043e
cmp dword [ebp - 0x20c], 0x2d
je 0x7b043e
cmp dword [ebp - 0x20c], 0x30
jb 0x7b042f
cmp dword [ebp - 0x20c], 0x39
jbe 0x7b043e
mov dword [ebp - 0xac], 1
jmp 0x7af79e
mov edx, dword [ebx]
add edx, 2
mov dword [ebp - 0x208], edx
jmp 0x7b0451
inc dword [ebp - 0x208]
mov ecx, dword [ebp - 0x208]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x30
jl 0x7b046f
mov edx, dword [ebp - 0x208]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x39
jle 0x7b044b
mov al, byte [ebp - 0xe0]
mov edx, dword [ebp - 0x208]
cmp al, byte [edx]
je 0x7b048d
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x39
jmp 0x7b0a29
inc dword [ebx]
jmp 0x7afb82
cmp esi, 0x1c
jne 0x7b0509
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3c
je 0x7b04cb
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x27
je 0x7b04cb
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x7b
je 0x7b04cb
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x45
jmp 0x7b0a29
xor edx, edx
mov dword [ebp - 0xac], edx
inc dword [ebx]
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x3c
jne 0x7b04e7
mov edx, 0x3e
jmp 0x7b04fe
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x27
jne 0x7b04f9
mov edx, 0x27
jmp 0x7b04fe
mov edx, 0x7d
mov dword [ebp - 0xe0], edx
jmp 0x7af79e
test esi, esi
jge 0x7b05e7
neg esi
mov dword [ebp - 0xc4], esi
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x7b0526
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x78], edi
test byte [ebp - 0x4c], 1
je 0x7b0533
mov al, 0x72
jmp 0x7b0535
mov al, 0x71
mov byte [edi], al
inc edi
mov edx, dword [ebp - 0xc4]
sar edx, 8
mov byte [edi], dl
mov cl, byte [ebp - 0xc4]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
cmp dword [ebp - 0xc4], 0x20
jge 0x7b056a
mov ecx, dword [ebp - 0xc4]
mov eax, 1
shl eax, cl
jmp 0x7b056f
mov eax, 1
mov edx, dword [ebp + 0x30]
or dword [edx + 0x50], eax
mov ecx, dword [ebp + 0x30]
mov ecx, dword [ecx + 0x4c]
cmp ecx, dword [ebp - 0xc4]
jge 0x7b058f
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0xc4]
mov dword [eax + 0x4c], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
je 0x7b0a29
mov edx, dword [ebp - 0x210]
movzx ecx, word [edx + 4]
cmp ecx, dword [ebp - 0xc4]
jne 0x7b05cb
mov eax, dword [ebp - 0x210]
mov word [eax + 6], 1
jmp 0x7b0a29
mov edx, dword [ebp - 0x210]
mov ecx, dword [edx]
mov dword [ebp - 0x210], ecx
cmp dword [ebp - 0x210], 0
jne 0x7b05a8
jmp 0x7b0a29
cmp esi, 0xf
je 0x7b05f1
cmp esi, 0x10
jne 0x7b065f
xor eax, eax
xor edx, edx
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x21c], edx
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x21c]
push ecx
push eax
lea edx, [ebp - 0x218]
lea ecx, [ebp - 0x214]
push edx
push ecx
push ebx
call fcn.007a9774
add esp, 0x14
test eax, eax
je 0x7b0a30
mov dword [ebp - 0x78], edi
cmp esi, 0x10
sete al
and eax, 1
cmp eax, dword [ebp - 0x214]
je 0x7b0643
mov dl, 0x10
jmp 0x7b0645
mov dl, 0xf
mov byte [edi], dl
inc edi
mov al, byte [ebp - 0x218]
mov byte [edi], al
inc edi
mov cl, byte [ebp - 0x21c]
mov byte [edi], cl
inc edi
jmp 0x7b0a29
cmp esi, 5
je 0x7b066e
cmp esi, 4
je 0x7b066e
cmp esi, 1
jne 0x7b0681
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x48], 0
jne 0x7b0681
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x48], 1
cmp esi, 0x1d
jl 0x7b06a0
cmp esi, 0x22
jg 0x7b06a0
mov edx, dword [ebx]
inc edx
mov dword [ebp - 0x74], edx
mov ecx, dword [esi*4 + 0x8c0a88]
dec ecx
mov dword [ebx], ecx
jmp 0x7b0a29
cmp esi, 5
jle 0x7b06ae
cmp esi, 0x17
jge 0x7b06ae
mov eax, edi
jmp 0x7b06b0
xor eax, eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x84], 0
jne 0x7b06c5
cmp esi, 0xe
jne 0x7b06c5
mov dl, 0xd
jmp 0x7b06c7
mov edx, esi
mov byte [edi], dl
inc edi
jmp 0x7b0a29
cmp dword [ebp - 0x84], 0
je 0x7b06f5
cmp esi, 0x7f
jbe 0x7b06f5
lea eax, [ebp - 0xf4]
push eax
push esi
call fcn.007c4bc4
add esp, 8
mov dword [ebp - 0xe4], eax
jmp 0x7b075c
mov ecx, esi
mov byte [ebp - 0xf4], cl
mov dword [ebp - 0xe4], 1
jmp 0x7b075c
mov dword [ebp - 0xe4], 1
mov ecx, esi
mov byte [ebp - 0xf4], cl
cmp dword [ebp - 0x84], 0
je 0x7b075c
cmp esi, 0xc0
jb 0x7b075c
jmp 0x7b0747
inc dword [ebx]
mov eax, dword [ebx]
mov dl, byte [eax]
mov eax, dword [ebp - 0xe4]
mov byte [ebp + eax - 0xf4], dl
inc dword [ebp - 0xe4]
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
and ecx, 0xc0
cmp ecx, 0x80
je 0x7b072e
mov dword [ebp - 0x78], edi
cmp dword [ebp - 0x84], 0
je 0x7b091d
test byte [ebp - 0x4c], 1
je 0x7b091d
movzx esi, byte [ebp - 0xf4]
cmp esi, 0xc0
jb 0x7b08b9
test esi, 0x20
jne 0x7b07a9
and esi, 0x1f
xor eax, eax
mov al, byte [ebp - 0xf3]
shl esi, 6
and eax, 0x3f
or esi, eax
jmp 0x7b08b9
test esi, 0x10
jne 0x7b07d9
xor edx, edx
and esi, 0xf
mov dl, byte [ebp - 0xf3]
xor ecx, ecx
and edx, 0x3f
mov cl, byte [ebp - 0xf2]
shl edx, 6
and ecx, 0x3f
shl esi, 0xc
or esi, edx
or esi, ecx
jmp 0x7b08b9
test esi, 8
jne 0x7b0819
xor ecx, ecx
xor eax, eax
mov cl, byte [ebp - 0xf3]
mov al, byte [ebp - 0xf2]
and ecx, 0x3f
and esi, 7
shl ecx, 0xc
and eax, 0x3f
shl esi, 0x12
xor edx, edx
shl eax, 6
or esi, ecx
mov dl, byte [ebp - 0xf1]
or esi, eax
and edx, 0x3f
or esi, edx
jmp 0x7b08b9
test esi, 4
jne 0x7b0866
xor ecx, ecx
and esi, 3
mov cl, byte [ebp - 0xf3]
xor eax, eax
and ecx, 0x3f
mov al, byte [ebp - 0xf2]
shl ecx, 0x12
xor edx, edx
shl esi, 0x18
mov dl, byte [ebp - 0xf1]
and eax, 0x3f
or esi, ecx
shl eax, 0xc
and edx, 0x3f
shl edx, 6
xor ecx, ecx
or esi, eax
mov cl, byte [ebp - 0xf0]
and ecx, 0x3f
or esi, edx
or esi, ecx
jmp 0x7b08b9
xor eax, eax
and esi, 1
mov al, byte [ebp - 0xf3]
xor edx, edx
and eax, 0x3f
mov dl, byte [ebp - 0xf2]
shl eax, 0x18
and edx, 0x3f
shl esi, 0x1e
xor ecx, ecx
or esi, eax
xor eax, eax
shl edx, 0x12
mov cl, byte [ebp - 0xf1]
and ecx, 0x3f
mov al, byte [ebp - 0xf0]
shl ecx, 0xc
or esi, edx
and eax, 0x3f
xor edx, edx
shl eax, 6
or esi, ecx
mov dl, byte [ebp - 0xef]
or esi, eax
and edx, 0x3f
or esi, edx
mov ecx, esi
test ecx, ecx
jns 0x7b08c2
add ecx, 0x7f
sar ecx, 7
xor eax, eax
mov al, byte [ecx + 0x8d0848]
shl eax, 7
mov edx, esi
and edx, 0x8000007f
jns 0x7b08df
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx ecx, word [eax*2 + 0x8c3d48]
xor eax, eax
mov al, byte [ecx*8 + 0x8c29b3]
mov esi, eax
test eax, eax
je 0x7b091d
mov byte [edi], 0x10
inc edi
mov byte [edi], 9
inc edi
mov edx, esi
mov byte [edi], dl
inc edi
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x7b0a29
or ecx, 0xffffffff
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x28], ecx
jmp 0x7b0a29
test byte [ebp - 0x4c], 1
je 0x7b0927
mov al, 0x1e
jmp 0x7b0929
mov al, 0x1d
mov byte [edi], al
inc edi
xor esi, esi
lea eax, [ebp - 0xf4]
mov dword [ebp - 0x220], eax
cmp esi, dword [ebp - 0xe4]
jae 0x7b095c
mov edx, dword [ebp - 0x220]
mov cl, byte [edx]
mov byte [edi], cl
inc edi
inc esi
inc dword [ebp - 0x220]
cmp esi, dword [ebp - 0xe4]
jb 0x7b0942
xor ecx, ecx
mov cl, byte [ebp - 0xf4]
cmp ecx, 0xd
je 0x7b0976
xor eax, eax
mov al, byte [ebp - 0xf4]
cmp eax, 0xa
jne 0x7b0980
mov edx, dword [ebp + 0x30]
or dword [edx + 0x64], 0x800
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x7b09ee
mov dword [ebp - 0x3c], 0xffffffff
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0xe4], 1
je 0x7b09a8
cmp dword [ebp - 0x40], 0
jne 0x7b09e3
xor edx, edx
mov dl, byte [ebp - 0xf4]
or edx, dword [ebp - 0x40]
mov dword [ebp - 0x20], edx
xor ecx, ecx
mov cl, byte [ebp - 0xf4]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0xe4], 1
je 0x7b0a29
xor edx, edx
mov dl, byte [edi - 1]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x68]
mov dword [ebp - 0x2c], eax
jmp 0x7b0a29
or edx, 0xffffffff
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], edx
jmp 0x7b0a29
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0xe4], 1
je 0x7b0a15
cmp dword [ebp - 0x40], 0
jne 0x7b0a29
xor edx, edx
mov dl, byte [edi - 1]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x68]
or eax, dword [ebp - 0x40]
mov dword [ebp - 0x2c], eax
inc dword [ebx]
jmp 0x7ac153
mov edx, dword [ebp + 0x10]
mov eax, dword [ebx]
mov dword [edx], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret