Function at 0x6b963c
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, 0xfffffda0
xor eax, eax
xor edx, edx
push ebx
push esi
push edi
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], edx
mov ecx, dword [ebp + 8]
xor eax, eax
xor edx, edx
lea edi, [ebp - 0x68]
mov esi, dword [ecx]
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x50], edx
xor eax, eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov ebx, dword [ecx]
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x64], edx
mov ecx, dword [ebp + 0x10]
xor eax, eax
xor edx, edx
mov ecx, dword [ecx]
mov dword [edi], ecx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x74], edx
xor ecx, ecx
mov dword [ebp - 0x78], ecx
xor eax, eax
mov dword [ebp - 0x7c], eax
test byte [ebp - 0x47], 8
setne dl
and edx, 1
mov dword [ebp - 0x80], edx
test byte [ebp - 0x47], 2
setne cl
and ecx, 1
xor edx, edx
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
xor eax, 1
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x20], edx
mov eax, 0xfffffffe
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
test byte [ebp - 0x48], 1
je 0x6b96e6
mov edx, 1
jmp 0x6b96e8
xor edx, edx
mov dword [ebp - 0x3c], edx
mov eax, dword [edi]
movzx esi, byte [eax]
test esi, esi
jne 0x6b9709
cmp dword [ebp - 0x70], 0
je 0x6b9709
mov eax, dword [ebp - 0x70]
xor edx, edx
mov dword [edi], eax
mov dword [ebp - 0x70], edx
mov ecx, dword [edi]
movzx esi, byte [ecx]
cmp dword [ebp + 0x34], 0
je 0x6b97bb
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x10]
add edx, dword [ecx + 0x3c]
add edx, 0xffffff9c
cmp ebx, edx
jbe 0x6b974c
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x10]
add eax, dword [edx + 0x3c]
cmp ebx, eax
jb 0x6b973d
mov esi, 0x34
jmp 0x6b9742
mov esi, 0x57
mov eax, dword [ebp + 0x14]
mov dword [eax], esi
jmp 0x6be2aa
cmp ebx, dword [ebp - 0x54]
jae 0x6b9754
mov ebx, dword [ebp - 0x54]
mov eax, dword [ebp + 0x34]
mov ecx, ebx
mov edx, 0x7fffffeb
sub edx, dword [eax]
sub ecx, dword [ebp - 0x54]
cmp edx, ecx
jge 0x6b9775
mov esi, dword [ebp + 0x14]
mov dword [esi], 0x14
jmp 0x6be2aa
mov eax, ebx
mov edx, dword [ebp + 0x34]
sub eax, dword [ebp - 0x54]
add dword [edx], eax
cmp dword [ebp - 0x74], 0
je 0x6b97b3
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [ebp - 0x58]
jbe 0x6b97b6
mov ecx, ebx
sub ecx, dword [ebp - 0x74]
push ecx
mov eax, dword [ebp - 0x74]
push eax
mov edx, dword [ebp - 0x58]
push edx
call sub.msvcrt.dll_memmove
mov ecx, dword [ebp - 0x74]
add esp, 0xc
sub ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x74], eax
sub ebx, ecx
jmp 0x6b97b6
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x54], ebx
jmp 0x6b97dd
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]
cmp edx, dword [eax + 0x20]
jae 0x6b97dd
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x34
jmp 0x6be2aa
test esi, esi
je 0x6b9870
cmp esi, 0x5c
jne 0x6b9803
mov ecx, dword [edi]
movzx ecx, byte [ecx + 1]
cmp ecx, 0x45
jne 0x6b9803
xor eax, eax
mov dword [ebp - 0x60], eax
inc dword [edi]
jmp 0x6be2a3
cmp dword [ebp - 0x60], 0
je 0x6b9851
cmp dword [ebp - 0x78], 0
je 0x6b982d
cmp dword [ebp + 0x34], 0
jne 0x6b9828
mov edx, dword [ebp + 0x30]
push edx
mov ecx, dword [edi]
push ecx
mov eax, dword [ebp - 0x78]
push eax
call fcn.006b91ac
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x78], edx
test byte [ebp - 0x47], 0x40
je 0x6bdf7a
mov dword [ebp - 0x78], ebx
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [edi]
push eax
push ebx
call fcn.006b9174
add esp, 0xc
mov ebx, eax
jmp 0x6bdf7a
cmp esi, 0x5c
jne 0x6b9870
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x51
jne 0x6b9870
mov dword [ebp - 0x60], 1
inc dword [edi]
jmp 0x6be2a3
test byte [ebp - 0x48], 8
je 0x6b9985
mov eax, dword [edi]
mov dword [ebp - 0xf4], eax
jmp 0x6b988b
inc dword [edi]
mov edx, dword [edi]
movzx esi, byte [edx]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0xc]
test byte [edx + esi], 1
jne 0x6b9884
cmp esi, 0x23
jne 0x6b9977
inc dword [edi]
jmp 0x6b996c
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x84], 0
je 0x6b98f6
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [edi]
jbe 0x6b98eb
mov edx, dword [ebp - 0x80]
push edx
mov ecx, dword [ebp + 0x30]
add ecx, 0x88
push ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x1c]
push edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x84]
push eax
mov edx, dword [edi]
push edx
call fcn.006d20d0
add esp, 0x14
test eax, eax
jne 0x6b98ef
xor ecx, ecx
jmp 0x6b993d
mov ecx, 1
jmp 0x6b993d
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp + 0x30]
sub edx, dword [eax + 0x88]
cmp edx, dword [edi]
jb 0x6b9934
mov edx, dword [edi]
mov eax, dword [ebp + 0x30]
mov cl, byte [edx]
cmp cl, byte [eax + 0x8c]
jne 0x6b9934
mov edx, dword [ebp + 0x30]
cmp dword [edx + 0x88], 1
je 0x6b9938
mov ecx, dword [edi]
mov eax, dword [ebp + 0x30]
mov cl, byte [ecx + 1]
cmp cl, byte [eax + 0x8d]
je 0x6b9938
xor ecx, ecx
jmp 0x6b993d
mov ecx, 1
test ecx, ecx
je 0x6b994e
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x88]
add dword [edi], edx
jmp 0x6b9977
inc dword [edi]
cmp dword [ebp - 0x80], 0
je 0x6b996c
jmp 0x6b995a
inc dword [edi]
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
and eax, 0xc0
cmp eax, 0x80
je 0x6b9958
mov edx, dword [edi]
cmp byte [edx], 0
jne 0x6b98a7
mov ecx, dword [edi]
cmp ecx, dword [ebp - 0xf4]
ja 0x6b96eb
cmp esi, 0x28
jne 0x6b99d9
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3f
jne 0x6b99d9
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 2]
cmp eax, 0x23
jne 0x6b99d9
add dword [edi], 3
jmp 0x6b99a9
inc dword [edi]
mov edx, dword [edi]
cmp byte [edx], 0
je 0x6b99bb
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x29
jne 0x6b99a7
mov edx, dword [edi]
cmp byte [edx], 0
jne 0x6be2a3
mov esi, dword [ebp + 0x14]
mov dword [esi], 0x12
jmp 0x6be2aa
cmp esi, 0x2a
je 0x6b99ff
cmp esi, 0x2b
je 0x6b99ff
cmp esi, 0x3f
je 0x6b99ff
cmp esi, 0x7b
jne 0x6b99fb
mov eax, dword [edi]
inc eax
push eax
call fcn.006b635c
pop ecx
test eax, eax
jne 0x6b99ff
xor edx, edx
jmp 0x6b9a04
mov edx, 1
mov dword [ebp - 0xa4], edx
cmp dword [ebp - 0xa4], 0
jne 0x6b9a48
cmp dword [ebp - 0x78], 0
je 0x6b9a48
cmp dword [ebp - 0x70], 0
jne 0x6b9a48
mov ecx, dword [ebp - 0x4c]
add dword [ebp - 0x4c], 0xffffffff
test ecx, ecx
jg 0x6b9a48
cmp dword [ebp + 0x34], 0
jne 0x6b9a43
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [edi]
push eax
mov edx, dword [ebp - 0x78]
push edx
call fcn.006b91ac
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 0x78], ecx
test byte [ebp - 0x47], 0x40
je 0x6b9a72
cmp dword [ebp - 0xa4], 0
jne 0x6b9a72
cmp dword [ebp - 0x70], 0
jne 0x6b9a72
mov dword [ebp - 0x78], ebx
mov eax, dword [ebp + 0x30]
push eax
mov edx, dword [edi]
push edx
push ebx
call fcn.006b9174
add esp, 0xc
mov ebx, eax
mov ecx, esi
cmp ecx, 0x3f
jg 0x6b9ac0
je 0x6baf4f
cmp ecx, 0x29
jg 0x6b9aa2
je 0x6b9af8
sub ecx, 1
jb 0x6b9af8
sub ecx, 0x23
je 0x6b9b89
sub ecx, 4
je 0x6bbfa2
jmp 0x6bdf7a
sub ecx, 0x2a
je 0x6baf31
dec ecx
je 0x6baf3f
sub ecx, 3
je 0x6b9ba2
jmp 0x6bdf7a
cmp ecx, 0x5e
jg 0x6b9ae7
je 0x6b9b5d
sub ecx, 0x5b
je 0x6b9c0d
dec ecx
je 0x6bdb90
dec ecx
je 0x6b9bed
jmp 0x6bdf7a
sub ecx, 0x7b
je 0x6baefc
dec ecx
je 0x6b9af8
jmp 0x6bdf7a
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x1c]
mov dword [eax], edx
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebp - 0x24]
mov dword [ecx], eax
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x20]
mov dword [edx], eax
mov edx, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x28]
mov dword [edx], ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], ebx
mov eax, dword [ebp + 0x10]
mov edx, dword [edi]
mov dword [eax], edx
cmp dword [ebp + 0x34], 0
je 0x6b9b53
mov ecx, dword [ebp + 0x34]
mov edx, ebx
mov eax, 0x7fffffeb
sub eax, dword [ecx]
sub edx, dword [ebp - 0x54]
cmp eax, edx
jge 0x6b9b4b
mov esi, dword [ebp + 0x14]
mov dword [esi], 0x14
jmp 0x6be2aa
sub ebx, dword [ebp - 0x54]
mov eax, dword [ebp + 0x34]
add dword [eax], ebx
mov eax, 1
jmp 0x6be2b3
xor edx, edx
mov dword [ebp - 0x74], edx
test byte [ebp - 0x48], 2
je 0x6b9b80
cmp dword [ebp - 0x24], 0xfffffffe
jne 0x6b9b77
or ecx, 0xffffffff
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x38], ecx
mov byte [ebx], 0x1c
inc ebx
jmp 0x6be2a3
mov byte [ebx], 0x1b
inc ebx
jmp 0x6be2a3
xor eax, eax
mov dword [ebp - 0x74], eax
test byte [ebp - 0x48], 2
je 0x6b9b98
mov dl, 0x1a
jmp 0x6b9b9a
mov dl, 0x19
mov byte [ebx], dl
inc ebx
jmp 0x6be2a3
cmp dword [ebp - 0x24], 0xfffffffe
jne 0x6b9baf
mov dword [ebp - 0x24], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x74], ebx
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x20]
sub ecx, dword [eax + 0x10]
mov dword [ebp - 0x7c], ecx
test byte [ebp - 0x48], 4
je 0x6b9be3
mov dl, 0xd
jmp 0x6b9be5
mov dl, 0xc
mov byte [ebx], dl
inc ebx
jmp 0x6be2a3
mov eax, dword [ebp + 0x30]
test byte [eax + 0x63], 2
je 0x6bdf7a
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x40
jmp 0x6be2aa
push 6
push 0x86d478
mov ecx, dword [edi]
inc ecx
push ecx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6b9c37
mov eax, dword [edi]
add eax, 7
mov dword [ebp - 0x70], eax
mov dword [edi], str._b__w_
jmp 0x6b96eb
push 6
push str._:_:__
mov edx, dword [edi]
inc edx
push edx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6b9c61
mov ecx, dword [edi]
add ecx, 7
mov dword [ebp - 0x70], ecx
mov dword [edi], str._b___w_
jmp 0x6b96eb
mov dword [ebp - 0x74], ebx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x20]
mov eax, dword [ebp + 0x30]
sub edx, dword [eax + 0x10]
mov dword [ebp - 0x7c], edx
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3a
je 0x6b9c97
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x2e
je 0x6b9c97
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3d
jne 0x6b9ccc
lea eax, [ebp - 0x6c]
push eax
mov edx, dword [edi]
push edx
call fcn.006b9004
add esp, 8
test eax, eax
je 0x6b9ccc
mov esi, dword [edi]
xor eax, eax
mov al, byte [esi + 1]
cmp eax, 0x3a
jne 0x6b9cbd
mov edx, 0xd
jmp 0x6b9cc2
mov edx, 0x1f
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
jmp 0x6be2aa
xor ecx, ecx
mov dword [ebp - 0x98], ecx
inc dword [edi]
mov ecx, dword [edi]
movzx esi, byte [ecx]
cmp esi, 0x5c
jne 0x6b9d0c
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x45
jne 0x6b9cf0
inc dword [edi]
jmp 0x6b9cd4
push 3
push 0x86d486
mov ecx, dword [edi]
inc ecx
push ecx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6b9d26
add dword [edi], 3
jmp 0x6b9cd4
cmp dword [ebp - 0x98], 0
jne 0x6b9d26
cmp esi, 0x5e
jne 0x6b9d26
mov dword [ebp - 0x98], 1
jmp 0x6b9cd4
cmp esi, 0x5d
jne 0x6b9d64
mov ecx, dword [ebp + 0x30]
test byte [ecx + 0x63], 2
je 0x6b9d64
cmp dword [ebp - 0x98], 0
je 0x6b9d41
mov al, 0xd
jmp 0x6b9d43
mov al, 0x9d
mov byte [ebx], al
inc ebx
cmp dword [ebp - 0x24], 0xfffffffe
jne 0x6b9d53
mov dword [ebp - 0x24], 0xffffffff
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x38], ecx
jmp 0x6be2a3
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x90], eax
lea edx, [ebx + 4]
xor eax, eax
mov dword [ebp - 0x8c], edx
xor edx, edx
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xb4], edx
xor ecx, ecx
mov dword [ebp - 0xb8], ecx
push 0x20
lea eax, [ebp - 0x238]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
test esi, esi
je 0x6bacd6
cmp dword [ebp - 0x80], 0
je 0x6b9f11
cmp esi, 0xc0
jb 0x6b9f11
mov edx, dword [edi]
movzx esi, byte [edx]
cmp esi, 0xc0
jb 0x6b9f11
test esi, 0x20
jne 0x6b9e04
mov eax, dword [edi]
and esi, 0x1f
xor edx, edx
mov dl, byte [eax + 1]
shl esi, 6
and edx, 0x3f
or esi, edx
inc dword [edi]
jmp 0x6b9f11
test esi, 0x10
jne 0x6b9e34
mov ecx, dword [edi]
mov eax, dword [edi]
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 [edi], 2
jmp 0x6b9f11
test esi, 8
jne 0x6b9e74
mov ecx, dword [edi]
xor eax, eax
and esi, 7
mov edx, dword [edi]
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 [edi]
shl ecx, 6
or esi, ecx
mov dl, byte [eax + 3]
and edx, 0x3f
or esi, edx
add dword [edi], 3
jmp 0x6b9f11
test esi, 4
jne 0x6b9ec0
mov ecx, dword [edi]
xor eax, eax
mov edx, dword [edi]
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 [edi]
shl ecx, 0xc
or esi, ecx
mov ecx, dword [edi]
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 [edi], 4
jmp 0x6b9f11
mov edx, dword [edi]
xor ecx, ecx
and esi, 1
mov eax, dword [edi]
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 [edi]
shl edx, 0x12
or esi, edx
mov al, byte [ecx + 3]
and eax, 0x3f
mov edx, dword [edi]
shl eax, 0xc
xor ecx, ecx
or esi, eax
mov eax, dword [edi]
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 [edi], 5
mov ecx, dword [ebp - 0x8c]
cmp ecx, dword [ebp - 0x94]
jbe 0x6b9f29
mov dword [ebp - 0x90], 1
cmp dword [ebp + 0x34], 0
je 0x6b9f5a
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0x94]
jbe 0x6b9f5a
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp + 0x34]
sub edx, dword [ebp - 0x94]
add dword [eax], edx
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x8c], edx
cmp dword [ebp - 0x60], 0
je 0x6b9f89
cmp esi, 0x5c
jne 0x6ba77d
mov ecx, dword [edi]
movzx ecx, byte [ecx + 1]
cmp ecx, 0x45
jne 0x6ba77d
xor eax, eax
mov dword [ebp - 0x60], eax
inc dword [edi]
jmp 0x6bac9d
cmp esi, 0x5b
jne 0x6ba371
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3a
je 0x6b9fba
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2e
je 0x6b9fba
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3d
jne 0x6ba371
lea edx, [ebp - 0x6c]
push edx
mov ecx, dword [edi]
push ecx
call fcn.006b9004
add esp, 8
test eax, eax
je 0x6ba371
xor eax, eax
mov dword [ebp - 0xfc], eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x10c], ecx
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3a
je 0x6b9fff
mov esi, dword [ebp + 0x14]
mov dword [esi], 0x1f
jmp 0x6be2aa
add dword [edi], 2
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x5e
jne 0x6ba023
mov dword [ebp - 0xfc], 1
mov dword [ebp - 0x9c], 1
inc dword [edi]
mov ecx, dword [ebp - 0x6c]
sub ecx, dword [edi]
push ecx
mov ecx, dword [edi]
push ecx
call fcn.006b906c
add esp, 8
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
jge 0x6ba051
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1e
jmp 0x6be2aa
test byte [ebp - 0x48], 1
je 0x6ba068
cmp dword [ebp - 0x100], 2
jg 0x6ba068
xor edx, edx
mov dword [ebp - 0x100], edx
test byte [ebp - 0x45], 0x20
je 0x6ba1c6
xor ecx, ecx
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0xfc], 0
je 0x6ba08a
mov eax, 0xe
jmp 0x6ba08c
xor eax, eax
add eax, dword [ebp - 0x100]
mov dword [ebp - 0x114], eax
mov edx, dword [ebp - 0x114]
cmp dword [edx*4 + 0x86c168], 0
je 0x6ba0c9
mov ecx, dword [ebp - 0x6c]
inc ecx
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x114]
mov eax, dword [ecx*4 + 0x86c168]
dec eax
mov dword [edi], eax
jmp 0x6bac9d
mov edx, dword [ebp - 0x100]
sub edx, 8
je 0x6ba0df
dec edx
je 0x6ba0e9
dec edx
je 0x6ba0fc
jmp 0x6ba164
mov dword [ebp - 0x110], 0xb
cmp dword [ebp - 0x110], 0
jne 0x6ba0fc
mov dword [ebp - 0x110], 0xc
cmp dword [ebp - 0x110], 0
jne 0x6ba10f
mov dword [ebp - 0x110], 0xd
cmp dword [ebp - 0xfc], 0
je 0x6ba11c
mov cl, 4
jmp 0x6ba11e
mov cl, 3
mov eax, dword [ebp - 0x8c]
mov byte [eax], cl
inc dword [ebp - 0x8c]
mov dl, byte [ebp - 0x110]
mov eax, dword [ebp - 0x8c]
mov byte [eax], dl
inc dword [ebp - 0x8c]
mov edx, dword [ebp - 0x8c]
mov byte [edx], 0
inc dword [ebp - 0x8c]
mov dword [ebp - 0xb8], 1
mov ecx, dword [ebp - 0x6c]
inc ecx
mov dword [edi], ecx
jmp 0x6bac9d
cmp dword [ebp - 0xfc], 0
je 0x6ba1c6
cmp dword [ebp - 0x90], 0
jne 0x6ba183
mov ecx, dword [ebp - 0x6c]
xor eax, eax
mov al, byte [ecx + 2]
cmp eax, 0x5d
je 0x6ba1c6
mov edx, dword [ebp - 0x8c]
mov byte [edx], 2
inc dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
push ecx
push pe_nt_image_headers32
call fcn.006d24b8
add esp, 8
add dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
push eax
push 0x10ffff
call fcn.006d24b8
add esp, 8
add dword [ebp - 0x8c], eax
mov edx, dword [ebp - 0x100]
lea edx, [edx + edx*2]
mov dword [ebp - 0x100], edx
push 0x20
mov ecx, dword [ebp - 0x100]
mov eax, dword [ecx*4 + 0x86c0a8]
add eax, dword [ebp - 0x10c]
push eax
lea edx, [ebp - 0x258]
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [ebp - 0x100]
mov eax, dword [ecx*4 + 0x86c0ac]
mov dword [ebp - 0x104], eax
mov edx, dword [ebp - 0x100]
mov ecx, dword [edx*4 + 0x86c0b0]
mov dword [ebp - 0x108], ecx
cmp dword [ebp - 0x104], 0
jl 0x6ba29c
cmp dword [ebp - 0x108], 0
jl 0x6ba267
xor esi, esi
lea eax, [ebp - 0x258]
mov dword [ebp - 0x214], eax
mov edx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x10c]
add edx, esi
mov eax, dword [ebp - 0x214]
inc esi
mov cl, byte [ecx + edx]
or byte [eax], cl
inc dword [ebp - 0x214]
cmp esi, 0x20
jb 0x6ba240
jmp 0x6ba29c
xor esi, esi
lea eax, [ebp - 0x258]
mov dword [ebp - 0x214], eax
mov edx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x10c]
add edx, esi
mov eax, dword [ebp - 0x214]
inc esi
mov cl, byte [ecx + edx]
not cl
and byte [eax], cl
inc dword [ebp - 0x214]
cmp esi, 0x20
jb 0x6ba275
cmp dword [ebp - 0x108], 0
jge 0x6ba2ab
neg dword [ebp - 0x108]
cmp dword [ebp - 0x108], 1
jne 0x6ba2bd
and byte [ebp - 0x257], 0xc3
jmp 0x6ba2cd
cmp dword [ebp - 0x108], 2
jne 0x6ba2cd
and byte [ebp - 0x24d], 0x7f
cmp dword [ebp - 0xfc], 0
je 0x6ba316
xor esi, esi
lea eax, [ebp - 0x238]
mov dword [ebp - 0x218], eax
lea edx, [ebp - 0x258]
mov dword [ebp - 0x214], edx
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x218]
inc esi
mov cl, byte [ecx]
not cl
or byte [eax], cl
inc dword [ebp - 0x218]
inc dword [ebp - 0x214]
cmp esi, 0x20
jb 0x6ba2f0
jmp 0x6ba352
xor esi, esi
lea eax, [ebp - 0x238]
mov dword [ebp - 0x214], eax
lea edx, [ebp - 0x258]
mov dword [ebp - 0x218], edx
mov ecx, dword [ebp - 0x218]
mov eax, dword [ebp - 0x214]
inc esi
mov cl, byte [ecx]
or byte [eax], cl
inc dword [ebp - 0x214]
inc dword [ebp - 0x218]
cmp esi, 0x20
jb 0x6ba330
mov edx, dword [ebp - 0x6c]
inc edx
mov dword [edi], edx
mov dword [ebp - 0xb0], 1
mov dword [ebp - 0xb4], 2
jmp 0x6bac9d
cmp esi, 0x5c
jne 0x6ba77d
push 1
mov ecx, dword [ebp - 0x48]
push ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x40]
lea eax, [ebp - 0xe8]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
push eax
push edi
call fcn.006b63ec
add esp, 0x18
mov esi, eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x6be2aa
test esi, esi
jne 0x6ba3b8
mov esi, dword [ebp - 0xe8]
jmp 0x6ba77d
cmp esi, 5
jne 0x6ba3c7
mov esi, 8
jmp 0x6ba77d
cmp esi, 0xc
jne 0x6ba3df
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x47
jmp 0x6be2aa
cmp esi, 0x1a
jne 0x6ba415
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x5c
jne 0x6ba404
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 2]
cmp eax, 0x45
jne 0x6ba404
add dword [edi], 2
jmp 0x6bac9d
mov dword [ebp - 0x60], 1
jmp 0x6bac9d
cmp esi, 0x19
je 0x6bac9d
mov edx, dword [ebp + 0x30]
mov eax, esi
add eax, 0xfffffffa
mov ecx, dword [edx + 8]
mov dword [ebp - 0x118], ecx
inc dword [ebp - 0xb0]
add dword [ebp - 0xb4], 2
cmp eax, 0x1c
ja case.0x6ba44b.6
mov al, byte [eax + 0x6ba452]
jmp dword [eax*4 + 0x6ba46f]
mov edx, dword [edi]
mov dword [ebp - 0x70], edx
mov ecx, dword [esi*4 + 0x86c0dc]
dec ecx
mov dword [edi], ecx
dec dword [ebp - 0xb0]
jmp 0x6bac9d
xor esi, esi
lea eax, [ebp - 0x238]
mov dword [ebp - 0x214], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x214]
mov cl, byte [edx + esi + 0x40]
inc esi
or byte [eax], cl
inc dword [ebp - 0x214]
cmp esi, 0x20
jb 0x6ba4cb
jmp 0x6bac9d
mov dword [ebp - 0x9c], 1
xor esi, esi
lea eax, [ebp - 0x238]
mov dword [ebp - 0x214], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x214]
mov cl, byte [edx + esi + 0x40]
inc esi
not cl
or byte [eax], cl
inc dword [ebp - 0x214]
cmp esi, 0x20
jb 0x6ba506
jmp 0x6bac9d
xor esi, esi
lea eax, [ebp - 0x238]
mov dword [ebp - 0x214], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x214]
mov cl, byte [edx + esi + 0xa0]
inc esi
or byte [eax], cl
inc dword [ebp - 0x214]
cmp esi, 0x20
jb 0x6ba539
jmp 0x6bac9d
mov dword [ebp - 0x9c], 1
xor esi, esi
lea eax, [ebp - 0x238]
mov dword [ebp - 0x214], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x214]
mov cl, byte [edx + esi + 0xa0]
inc esi
not cl
or byte [eax], cl
inc dword [ebp - 0x214]
cmp esi, 0x20
jb 0x6ba577
jmp 0x6bac9d
xor esi, esi
lea eax, [ebp - 0x238]
mov dword [ebp - 0x214], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x214]
mov cl, byte [edx + esi]
inc esi
or byte [eax], cl
inc dword [ebp - 0x214]
cmp esi, 0x20
jb 0x6ba5ad
jmp 0x6bac9d
mov dword [ebp - 0x9c], 1
xor esi, esi
lea eax, [ebp - 0x238]
mov dword [ebp - 0x214], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x214]
mov cl, byte [edx + esi]
inc esi
not cl
or byte [eax], cl
inc dword [ebp - 0x214]
cmp esi, 0x20
jb 0x6ba5e7
jmp 0x6bac9d
push 0xffffffffffffffff
push 0x86d53c
mov edx, dword [ebp + 0x30]
push edx
mov ecx, dword [ebp - 0x48]
push ecx
lea ecx, [ebp - 0x8c]
push ecx
lea eax, [ebp - 0x238]
push eax
call fcn.006b9544
add esp, 0x18
jmp 0x6bac9d
push 0x86d53c
lea eax, [ebp - 0x8c]
mov edx, dword [ebp + 0x30]
push edx
lea edx, [ebp - 0x238]
mov ecx, dword [ebp - 0x48]
push ecx
push eax
push edx
call fcn.006b95a4
add esp, 0x14
jmp 0x6bac9d
push 0xffffffffffffffff
push 0x86d58c
mov ecx, dword [ebp + 0x30]
lea edx, [ebp - 0x8c]
push ecx
lea ecx, [ebp - 0x238]
mov eax, dword [ebp - 0x48]
push eax
push edx
push ecx
call fcn.006b9544
add esp, 0x18
jmp 0x6bac9d
push 0x86d58c
lea ecx, [ebp - 0x8c]
mov eax, dword [ebp + 0x30]
push eax
lea eax, [ebp - 0x238]
mov edx, dword [ebp - 0x48]
push edx
push ecx
push eax
call fcn.006b95a4
add esp, 0x14
jmp 0x6bac9d
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 edi
call fcn.006b6c7c
add esp, 0x14
test eax, eax
je 0x6be2aa
cmp esi, 0x10
sete dl
and edx, 1
cmp edx, dword [ebp - 0x11c]
je 0x6ba6fe
mov cl, 3
jmp 0x6ba700
mov cl, 4
mov eax, dword [ebp - 0x8c]
mov byte [eax], cl
inc dword [ebp - 0x8c]
mov dl, byte [ebp - 0x120]
mov eax, dword [ebp - 0x8c]
mov byte [eax], dl
inc dword [ebp - 0x8c]
mov dl, byte [ebp - 0x124]
mov ecx, dword [ebp - 0x8c]
mov byte [ecx], dl
inc dword [ebp - 0x8c]
mov dword [ebp - 0xb8], 1
dec dword [ebp - 0xb0]
jmp 0x6bac9d
test byte [ebp - 0x48], 0x40
je 0x6ba75f
mov esi, dword [ebp + 0x14]
mov dword [esi], 7
jmp 0x6be2aa
dec dword [ebp - 0xb0]
sub dword [ebp - 0xb4], 2
mov eax, dword [edi]
movzx esi, byte [eax]
jmp 0x6ba77d
xor eax, eax
mov dword [ebp - 0x60], eax
add dword [edi], 2
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x5c
jne 0x6ba795
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 2]
cmp eax, 0x45
je 0x6ba775
mov edx, dword [edi]
cmp esi, 0xd
mov dword [ebp - 0xf8], edx
je 0x6ba7a7
cmp esi, 0xa
jne 0x6ba7b1
mov ecx, dword [ebp + 0x30]
or dword [ecx + 0x64], 0x800
cmp dword [ebp - 0x60], 0
jne 0x6bab29
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2d
jne 0x6bab29
add dword [edi], 2
jmp 0x6ba7d3
add dword [edi], 2
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x5c
jne 0x6ba814
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x45
je 0x6ba7d0
jmp 0x6ba814
add dword [edi], 2
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x5c
jne 0x6ba80b
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x45
jne 0x6ba80b
add dword [edi], 2
jmp 0x6ba814
mov dword [ebp - 0x60], 1
jmp 0x6ba82b
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x5c
jne 0x6ba82b
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x51
je 0x6ba7ec
mov ecx, dword [edi]
cmp byte [ecx], 0
je 0x6ba843
cmp dword [ebp - 0x60], 0
jne 0x6ba850
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x5d
jne 0x6ba850
mov ecx, dword [ebp - 0xf8]
mov dword [edi], ecx
jmp 0x6bab29
cmp dword [ebp - 0x80], 0
je 0x6ba9e7
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0x128], edx
cmp dword [ebp - 0x128], 0xc0
jb 0x6ba9f2
test byte [ebp - 0x128], 0x20
jne 0x6ba8a4
mov eax, dword [edi]
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 [edi]
jmp 0x6ba9f2
test byte [ebp - 0x128], 0x10
jne 0x6ba8e2
mov eax, dword [edi]
xor edx, edx
mov ecx, dword [ebp - 0x128]
and ecx, 0xf
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [edi]
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 [edi], 2
jmp 0x6ba9f2
test byte [ebp - 0x128], 8
jne 0x6ba92f
mov eax, dword [edi]
xor edx, edx
mov ecx, dword [ebp - 0x128]
and ecx, 7
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [edi]
shl edx, 0xc
shl ecx, 0x12
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [edi]
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 [edi], 3
jmp 0x6ba9f2
test byte [ebp - 0x128], 4
jne 0x6ba988
mov eax, dword [edi]
xor edx, edx
mov ecx, dword [ebp - 0x128]
and ecx, 3
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [edi]
shl edx, 0x12
shl ecx, 0x18
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [edi]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
mov eax, dword [edi]
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 [edi], 4
jmp 0x6ba9f2
mov eax, dword [edi]
xor edx, edx
mov ecx, dword [ebp - 0x128]
and ecx, 1
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [edi]
shl edx, 0x18
shl ecx, 0x1e
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [edi]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
mov eax, dword [edi]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
xor edx, edx
mov dl, byte [eax + 4]
mov eax, dword [edi]
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 [edi], 5
jmp 0x6ba9f2
mov ecx, dword [edi]
movzx ecx, byte [ecx]
mov dword [ebp - 0x128], ecx
cmp dword [ebp - 0x60], 0
jne 0x6baab4
cmp dword [ebp - 0x128], 0x5c
jne 0x6baa66
push 1
mov eax, dword [ebp - 0x48]
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 edi
call fcn.006b63ec
add esp, 0x18
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
jne 0x6be2aa
cmp dword [ebp - 0x12c], 0
je 0x6baab4
cmp dword [ebp - 0x12c], 5
jne 0x6baa56
mov dword [ebp - 0x128], 8
jmp 0x6baab4
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x53
jmp 0x6be2aa
cmp dword [ebp - 0x128], 0x5b
jne 0x6baab4
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3a
je 0x6baa93
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2e
je 0x6baa93
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3d
jne 0x6baab4
lea edx, [ebp - 0x6c]
push edx
mov ecx, dword [edi]
push ecx
call fcn.006b9004
add esp, 8
test eax, eax
je 0x6baab4
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x53
jmp 0x6be2aa
cmp esi, dword [ebp - 0x128]
jbe 0x6baaca
mov edx, dword [ebp + 0x14]
mov dword [edx], 8
jmp 0x6be2aa
cmp esi, dword [ebp - 0x128]
je 0x6bab29
mov dword [ebp - 0xb4], 2
cmp dword [ebp - 0x128], 0xd
je 0x6baaee
cmp dword [ebp - 0x128], 0xa
jne 0x6baaf8
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 - 0x8c]
push edx
lea edx, [ebp - 0x238]
mov ecx, dword [ebp - 0x48]
push ecx
push eax
push edx
call fcn.006b933c
add esp, 0x18
add dword [ebp - 0xb0], eax
jmp 0x6bac9d
cmp dword [ebp - 0xb4], 2
jge 0x6bab38
inc dword [ebp - 0xb4]
cmp dword [ebp - 0x60], 0
jne 0x6bac77
cmp dword [ebp - 0xb8], 0
jne 0x6bac77
cmp dword [ebp - 0xb4], 1
jne 0x6bac77
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x5d
jne 0x6bac77
inc dword [edi]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x98], 0
je 0x6bac3a
cmp dword [ebp - 0x24], 0xfffffffe
jne 0x6bab94
mov dword [ebp - 0x24], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x80], 0
je 0x6bac05
test byte [ebp - 0x48], 1
je 0x6bac05
mov ecx, esi
test ecx, ecx
jns 0x6babb5
add ecx, 0x7f
sar ecx, 7
xor eax, eax
mov al, byte [ecx + 0x87db48]
shl eax, 7
mov edx, esi
and edx, 0x8000007f
jns 0x6babd2
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx ecx, word [eax*2 + 0x86f848]
xor eax, eax
mov al, byte [ecx*8 + 0x86e1cb]
mov dword [ebp - 0x130], eax
test eax, eax
je 0x6bac05
mov byte [ebx], 0xf
inc ebx
mov byte [ebx], 9
inc ebx
mov dl, byte [ebp - 0x130]
mov byte [ebx], dl
inc ebx
jmp 0x6be2a3
test byte [ebp - 0x48], 1
je 0x6bac0f
mov cl, 0x20
jmp 0x6bac11
mov cl, 0x1f
mov byte [ebx], cl
inc ebx
cmp dword [ebp - 0x80], 0
je 0x6bac30
cmp esi, 0x7f
jbe 0x6bac30
push ebx
push esi
call fcn.006d24b8
add esp, 8
add ebx, eax
jmp 0x6be2a3
mov eax, esi
mov byte [ebx], al
inc ebx
jmp 0x6be2a3
cmp dword [ebp - 0x80], 0
je 0x6bac60
cmp esi, 0x7f
jbe 0x6bac60
lea edx, [ebp - 0xf0]
push edx
push esi
call fcn.006d24b8
add esp, 8
mov dword [ebp - 0xe0], eax
jmp 0x6bdfca
mov ecx, esi
mov byte [ebp - 0xf0], cl
mov dword [ebp - 0xe0], 1
jmp 0x6bdfca
push esi
push esi
mov eax, dword [ebp + 0x30]
lea ecx, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x238]
mov edx, dword [ebp - 0x48]
push edx
push ecx
push eax
call fcn.006b933c
add esp, 0x18
add dword [ebp - 0xb0], eax
inc dword [edi]
mov edx, dword [edi]
movzx esi, byte [edx]
test esi, esi
jne 0x6bacc3
cmp dword [ebp - 0x70], 0
je 0x6bacd6
mov eax, dword [ebp - 0x70]
xor edx, edx
mov dword [edi], eax
mov dword [ebp - 0x70], edx
inc dword [edi]
mov ecx, dword [edi]
movzx esi, byte [ecx]
test esi, esi
je 0x6bacd6
cmp esi, 0x5d
jne 0x6b9dbc
cmp dword [ebp - 0x60], 0
jne 0x6b9dbc
test esi, esi
jne 0x6bace8
mov eax, dword [ebp + 0x14]
mov dword [eax], 6
jmp 0x6be2aa
mov edx, dword [ebp - 0x8c]
cmp edx, dword [ebp - 0x94]
jbe 0x6bad00
mov dword [ebp - 0x90], 1
cmp dword [ebp - 0x24], 0xfffffffe
jne 0x6bad0d
mov dword [ebp - 0x24], 0xffffffff
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x90], 0
je 0x6bae83
cmp dword [ebp - 0xb8], 0
jne 0x6bad4e
cmp dword [ebp - 0x9c], 0
je 0x6bad4e
test byte [ebp - 0x45], 0x20
je 0x6bae83
cmp dword [ebp - 0x80], 0
je 0x6badb5
cmp dword [ebp - 0x9c], 0
je 0x6badb5
cmp dword [ebp - 0x98], 0
jne 0x6badb5
test byte [ebp - 0x45], 0x20
jne 0x6badb5
mov ecx, dword [ebp - 0x8c]
mov byte [ecx], 2
inc dword [ebp - 0x8c]
cmp dword [ebp - 0x80], 0
je 0x6badb5
mov eax, dword [ebp - 0x8c]
push eax
push pe_nt_image_headers32
call fcn.006d24b8
add esp, 8
add dword [ebp - 0x8c], eax
mov edx, dword [ebp - 0x8c]
push edx
push 0x10ffff
call fcn.006d24b8
add esp, 8
add dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x8c]
mov byte [ecx], 0
inc dword [ebp - 0x8c]
mov byte [ebx], 0x70
inc ebx
add ebx, 2
cmp dword [ebp - 0x98], 0
je 0x6badd8
mov al, 1
jmp 0x6badda
xor eax, eax
mov byte [ebx], al
cmp dword [ebp - 0xb8], 0
je 0x6bade8
or byte [ebx], 4
cmp dword [ebp - 0xb0], 0
jle 0x6bae5c
or byte [ebx], 2
inc ebx
mov edx, dword [ebp - 0x8c]
sub edx, ebx
lea ecx, [ebx + 0x20]
push edx
push ebx
push ecx
call sub.msvcrt.dll_memmove
add esp, 0xc
cmp dword [ebp - 0x98], 0
je 0x6bae3f
cmp dword [ebp - 0xb8], 0
jne 0x6bae3f
xor esi, esi
lea eax, [ebp - 0x238]
mov dword [ebp - 0x214], eax
mov edx, dword [ebp - 0x214]
not byte [edx]
inc esi
inc dword [ebp - 0x214]
cmp esi, 0x20
jb 0x6bae2b
push 0x20
lea ecx, [ebp - 0x238]
push ecx
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ebx, dword [ebp - 0x8c]
add ebx, 0x20
jmp 0x6bae62
mov ebx, dword [ebp - 0x8c]
mov eax, ebx
mov edx, dword [ebp - 0x74]
sub eax, dword [ebp - 0x74]
mov ecx, ebx
sar eax, 8
mov byte [edx + 1], al
sub ecx, dword [ebp - 0x74]
mov esi, dword [ebp - 0x74]
and cl, 0xff
mov byte [esi + 2], cl
jmp 0x6be2a3
cmp dword [ebp + 0x34], 0
je 0x6bae9a
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebp + 0x34]
sub eax, dword [ebp - 0x94]
add dword [edx], eax
mov ecx, dword [ebp - 0x98]
cmp ecx, dword [ebp - 0x9c]
jne 0x6baeac
mov cl, 0x6e
jmp 0x6baeae
mov cl, 0x6f
mov byte [ebx], cl
inc ebx
cmp dword [ebp + 0x34], 0
jne 0x6baef4
cmp dword [ebp - 0x98], 0
je 0x6baee2
xor esi, esi
lea eax, [ebp - 0x238]
mov dword [ebp - 0x214], eax
mov edx, dword [ebp - 0x214]
not byte [edx]
inc esi
inc dword [ebp - 0x214]
cmp esi, 0x20
jb 0x6baece
push 0x20
lea ecx, [ebp - 0x238]
push ecx
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add ebx, 0x20
jmp 0x6be2a3
cmp dword [ebp - 0xa4], 0
je 0x6bdf7a
mov ecx, dword [ebp + 0x14]
push ecx
lea eax, [ebp - 0x10]
push eax
lea edx, [ebp - 0xc]
push edx
mov ecx, dword [edi]
inc ecx
push ecx
call fcn.006b6db0
add esp, 0x10
mov dword [edi], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x6be2aa
jmp 0x6baf5b
xor edx, edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], 0xffffffff
jmp 0x6baf5b
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x10], 0xffffffff
jmp 0x6baf5b
xor ecx, ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0x74], 0
jne 0x6baf6f
mov eax, dword [ebp + 0x14]
mov dword [eax], 9
jmp 0x6be2aa
cmp dword [ebp - 0xc], 0
jne 0x6baf8d
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x28], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x10]
jne 0x6baf99
xor eax, eax
jmp 0x6baf9e
mov eax, 2
mov dword [ebp - 0x40], eax
xor edx, edx
mov dword [ebp - 8], edx
xor ecx, ecx
mov dword [ebp - 0xa0], ecx
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x5c], ecx
test byte [ebp - 0x48], 8
je 0x6bb0b3
mov esi, dword [edi]
inc esi
jmp 0x6bafc4
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 0x6bafc3
xor ecx, ecx
mov cl, byte [esi]
cmp ecx, 0x23
jne 0x6bb0b0
inc esi
jmp 0x6bb0a2
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x84], 0
je 0x6bb031
mov edx, dword [ebp + 0x30]
cmp esi, dword [edx + 0x1c]
jae 0x6bb026
mov ecx, dword [ebp - 0x80]
push ecx
mov eax, dword [ebp + 0x30]
add eax, 0x88
push eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x1c]
push ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x84]
push edx
push esi
call fcn.006d20d0
add esp, 0x14
test eax, eax
jne 0x6bb02a
xor ecx, ecx
jmp 0x6bb074
mov ecx, 1
jmp 0x6bb074
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp + 0x30]
sub edx, dword [eax + 0x88]
cmp esi, edx
ja 0x6bb06b
mov dl, byte [esi]
mov ecx, dword [ebp + 0x30]
cmp dl, byte [ecx + 0x8c]
jne 0x6bb06b
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x88], 1
je 0x6bb06f
mov al, byte [esi + 1]
mov edx, dword [ebp + 0x30]
cmp al, byte [edx + 0x8d]
je 0x6bb06f
xor ecx, ecx
jmp 0x6bb074
mov ecx, 1
test ecx, ecx
je 0x6bb086
mov eax, dword [ebp + 0x30]
add esi, dword [eax + 0x88]
jmp 0x6bafc4
inc esi
cmp dword [ebp - 0x80], 0
je 0x6bb0a2
jmp 0x6bb090
inc esi
xor edx, edx
mov dl, byte [esi]
and edx, 0xc0
cmp edx, 0x80
je 0x6bb08f
cmp byte [esi], 0
jne 0x6bafe7
jmp 0x6bafc4
dec esi
mov dword [edi], esi
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2b
jne 0x6bb0d2
xor ecx, ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0xa0], 1
inc dword [edi]
jmp 0x6bb0ee
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3f
jne 0x6bb0e8
mov edx, dword [ebp - 0x18]
mov dword [ebp - 4], edx
inc dword [edi]
jmp 0x6bb0ee
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 0x74]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x75
jne 0x6bb1bc
push 3
mov ecx, dword [ebp - 0x74]
push ecx
mov eax, dword [ebp - 0x74]
add eax, 3
push eax
call sub.msvcrt.dll_memmove
mov edx, dword [ebp - 0x74]
add esp, 0xc
add ebx, 6
mov byte [edx], 0x81
mov ecx, dword [ebp - 0x74]
mov byte [ecx + 1], 0
mov eax, dword [ebp - 0x74]
mov byte [eax + 2], 6
mov edx, dword [ebp - 0x74]
mov byte [edx + 6], 0x78
mov ecx, dword [ebp - 0x74]
mov byte [ecx + 7], 0
mov eax, dword [ebp - 0x74]
mov byte [eax + 8], 6
mov dword [ebp - 0x50], 9
cmp dword [ebp + 0x34], 0
jne 0x6bb1bc
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 0x6bb1bc
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 - 0x74]
inc edx
sub edx, dword [ecx + 0x14]
cmp edx, dword [ebp - 0x134]
jne 0x6bb1bc
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 - 0x74]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x1d
je 0x6bb1f0
mov edx, dword [ebp - 0x74]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x1e
je 0x6bb1f0
mov eax, dword [ebp - 0x74]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x1f
je 0x6bb1f0
mov ecx, dword [ebp - 0x74]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x20
jne 0x6bb2bb
mov edx, dword [ebp - 0x74]
mov cl, byte [edx]
sub cl, 0x1d
je 0x6bb206
dec cl
je 0x6bb20d
dec cl
je 0x6bb216
dec cl
je 0x6bb21f
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x6bb226
mov dword [ebp - 8], 0xd
jmp 0x6bb226
mov dword [ebp - 8], 0x1a
jmp 0x6bb226
mov dword [ebp - 8], 0x27
cmp dword [ebp - 0x80], 0
je 0x6bb28f
xor edx, edx
mov dl, byte [ebx - 1]
and edx, 0xc0
cmp edx, 0x80
jne 0x6bb28f
lea ecx, [ebx - 1]
mov dword [ebp - 0x138], ecx
jmp 0x6bb250
dec dword [ebp - 0x138]
mov eax, dword [ebp - 0x138]
xor edx, edx
mov dl, byte [eax]
and edx, 0xc0
cmp edx, 0x80
je 0x6bb24a
mov esi, ebx
sub esi, dword [ebp - 0x138]
push esi
mov eax, dword [ebp - 0x138]
push eax
lea edx, [ebp - 0x88]
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
or esi, 0x10000000
jmp 0x6bb2d8
movzx esi, byte [ebx - 1]
mov eax, dword [ebp - 0x74]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x1e
jg 0x6bb2d8
cmp dword [ebp - 0xc], 1
jle 0x6bb2d8
mov dword [ebp - 0x20], esi
mov ecx, dword [ebp + 0x30]
mov ecx, dword [ecx + 0x68]
or ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x28], ecx
jmp 0x6bb2d8
mov eax, dword [ebp - 0x74]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x17
jge 0x6bb532
mov dword [ebp - 8], 0x34
mov ecx, dword [ebp - 0x74]
movzx esi, byte [ecx]
mov eax, dword [ebp - 0x74]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x10
je 0x6bb2ef
mov ecx, dword [ebp - 0x74]
movzx ecx, byte [ecx]
cmp ecx, 0xf
jne 0x6bb30d
mov eax, dword [ebp - 0x74]
xor edx, edx
mov dl, byte [eax + 1]
mov dword [ebp - 0x140], edx
mov ecx, dword [ebp - 0x74]
xor eax, eax
mov al, byte [ecx + 2]
mov dword [ebp - 0x144], eax
jmp 0x6bb31c
or edx, 0xffffffff
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x13c], ebx
cmp dword [ebp - 0x10], 0
mov ebx, dword [ebp - 0x74]
je 0x6bbf8f
mov eax, dword [ebp - 8]
add dword [ebp - 4], eax
cmp dword [ebp - 0xc], 0
jne 0x6bb385
cmp dword [ebp - 0x10], 0xffffffff
jne 0x6bb34f
mov dl, byte [ebp - 4]
add dl, 0x21
mov byte [ebx], dl
inc ebx
jmp 0x6bb4de
cmp dword [ebp - 0x10], 1
jne 0x6bb363
mov cl, byte [ebp - 4]
add cl, 0x25
mov byte [ebx], cl
inc ebx
jmp 0x6bb4de
mov cl, byte [ebp - 4]
add cl, 0x27
mov byte [ebx], cl
inc ebx
mov eax, dword [ebp - 0x10]
sar eax, 8
mov byte [ebx], al
mov dl, byte [ebp - 0x10]
and dl, 0xff
mov byte [ebx + 1], dl
add ebx, 2
jmp 0x6bb4de
cmp dword [ebp - 0xc], 1
jne 0x6bb3d4
cmp dword [ebp - 0x10], 0xffffffff
jne 0x6bb39f
mov cl, byte [ebp - 4]
add cl, 0x23
mov byte [ebx], cl
inc ebx
jmp 0x6bb4de
cmp dword [ebp - 0x10], 1
mov ebx, dword [ebp - 0x13c]
je 0x6bbf8f
mov al, byte [ebp - 4]
add al, 0x27
mov byte [ebx], al
inc ebx
mov edx, dword [ebp - 0x10]
dec edx
sar edx, 8
mov byte [ebx], dl
mov cl, byte [ebp - 0x10]
add cl, 0xff
and cl, 0xff
mov byte [ebx + 1], cl
add ebx, 2
jmp 0x6bb4de
mov cl, byte [ebp - 8]
add cl, 0x29
mov byte [ebx], cl
inc ebx
mov eax, dword [ebp - 0xc]
sar eax, 8
mov byte [ebx], al
mov dl, byte [ebp - 0xc]
and dl, 0xff
mov byte [ebx + 1], dl
add ebx, 2
cmp dword [ebp - 0x10], 0
jge 0x6bb452
cmp dword [ebp - 0x80], 0
je 0x6bb424
test esi, 0x10000000
je 0x6bb424
mov ecx, esi
lea eax, [ebp - 0x88]
and ecx, 7
push ecx
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, esi
and edx, 7
add ebx, edx
jmp 0x6bb444
mov ecx, esi
mov byte [ebx], cl
inc ebx
cmp dword [ebp - 0x140], 0
jl 0x6bb444
mov al, byte [ebp - 0x140]
mov byte [ebx], al
inc ebx
mov dl, byte [ebp - 0x144]
mov byte [ebx], dl
inc ebx
mov cl, byte [ebp - 4]
add cl, 0x21
mov byte [ebx], cl
inc ebx
jmp 0x6bb4de
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0xc]
je 0x6bb4de
cmp dword [ebp - 0x80], 0
je 0x6bb48b
test esi, 0x10000000
je 0x6bb48b
mov edx, esi
lea ecx, [ebp - 0x88]
and edx, 7
push edx
push ecx
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, esi
and eax, 7
add ebx, eax
jmp 0x6bb490
mov edx, esi
mov byte [ebx], dl
inc ebx
cmp dword [ebp - 0x140], 0
jl 0x6bb4ab
mov cl, byte [ebp - 0x140]
mov byte [ebx], cl
inc ebx
mov al, byte [ebp - 0x144]
mov byte [ebx], al
inc ebx
mov edx, dword [ebp - 0xc]
sub dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 1
jne 0x6bb4c2
mov cl, byte [ebp - 4]
add cl, 0x25
mov byte [ebx], cl
inc ebx
jmp 0x6bb4de
mov al, byte [ebp - 4]
add al, 0x27
mov byte [ebx], al
inc ebx
mov edx, dword [ebp - 0x10]
sar edx, 8
mov byte [ebx], dl
mov cl, byte [ebp - 0x10]
and cl, 0xff
mov byte [ebx + 1], cl
add ebx, 2
cmp dword [ebp - 0x80], 0
je 0x6bb509
test esi, 0x10000000
je 0x6bb509
mov eax, esi
lea edx, [ebp - 0x88]
and eax, 7
push eax
push edx
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
and esi, 7
add ebx, esi
jmp 0x6bb50e
mov ecx, esi
mov byte [ebx], cl
inc ebx
cmp dword [ebp - 0x140], 0
jl 0x6bbdcf
mov al, byte [ebp - 0x140]
mov byte [ebx], al
inc ebx
mov dl, byte [ebp - 0x144]
mov byte [ebx], dl
inc ebx
jmp 0x6bbdcf
mov ecx, dword [ebp - 0x74]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x6e
je 0x6bb58a
mov edx, dword [ebp - 0x74]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x6f
je 0x6bb58a
mov eax, dword [ebp - 0x74]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x70
je 0x6bb58a
mov ecx, dword [ebp - 0x74]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x71
je 0x6bb58a
mov edx, dword [ebp - 0x74]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x72
je 0x6bb58a
mov eax, dword [ebp - 0x74]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x73
je 0x6bb58a
mov ecx, dword [ebp - 0x74]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x74
jne 0x6bb626
cmp dword [ebp - 0x10], 0
jne 0x6bb598
mov ebx, dword [ebp - 0x74]
jmp 0x6bbf8f
cmp dword [ebp - 0xc], 0
jne 0x6bb5b1
cmp dword [ebp - 0x10], 0xffffffff
jne 0x6bb5b1
mov al, byte [ebp - 4]
add al, 0x62
mov byte [ebx], al
inc ebx
jmp 0x6bbdcf
cmp dword [ebp - 0xc], 1
jne 0x6bb5cb
cmp dword [ebp - 0x10], 0xffffffff
jne 0x6bb5cb
mov dl, byte [ebp - 4]
add dl, 0x64
mov byte [ebx], dl
inc ebx
jmp 0x6bbdcf
cmp dword [ebp - 0xc], 0
jne 0x6bb5e5
cmp dword [ebp - 0x10], 1
jne 0x6bb5e5
mov cl, byte [ebp - 4]
add cl, 0x66
mov byte [ebx], cl
inc ebx
jmp 0x6bbdcf
mov cl, byte [ebp - 4]
add cl, 0x68
mov byte [ebx], cl
inc ebx
mov eax, dword [ebp - 0xc]
sar eax, 8
mov byte [ebx], al
mov dl, byte [ebp - 0xc]
and dl, 0xff
mov byte [ebx + 1], dl
add ebx, 2
cmp dword [ebp - 0x10], 0xffffffff
jne 0x6bb60d
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
sar eax, 8
mov byte [ebx], al
mov dl, byte [ebp - 0x10]
and dl, 0xff
mov byte [ebx + 1], dl
add ebx, 2
jmp 0x6bbdcf
mov ecx, dword [ebp - 0x74]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x7d
jl 0x6bbdae
mov edx, dword [ebp - 0x74]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x87
jg 0x6bbdae
mov esi, ebx
mov eax, dword [ebp - 0x7c]
sub esi, dword [ebp - 0x74]
mov dword [ebp - 0x14c], eax
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x154], ecx
mov ecx, dword [ebp - 0x74]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x87
jne 0x6bb689
mov edx, dword [ebp - 0x74]
xor ecx, ecx
mov cl, byte [edx + 3]
cmp ecx, 0x91
je 0x6bbf8f
mov eax, dword [ebp - 0x74]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x81
jge 0x6bb6b5
cmp dword [ebp - 0xc], 0
jg 0x6bbf8f
cmp dword [ebp - 0x10], 0
jl 0x6bb6ae
cmp dword [ebp - 0x10], 1
jle 0x6bb6b5
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0xc], 0
jne 0x6bb7ba
cmp dword [ebp - 0x10], 1
jg 0x6bb722
mov byte [ebx], 0
mov ecx, dword [ebp - 0x7c]
push ecx
mov eax, dword [ebp + 0x30]
push eax
mov edx, dword [ebp - 0x80]
push edx
push 1
mov ecx, dword [ebp - 0x74]
push ecx
call fcn.006b90c0
add esp, 0x14
push esi
mov eax, dword [ebp - 0x74]
push eax
mov edx, dword [ebp - 0x74]
inc edx
push edx
call sub.msvcrt.dll_memmove
add esp, 0xc
inc ebx
cmp dword [ebp - 0x10], 0
jne 0x6bb706
mov ecx, dword [ebp - 0x74]
mov byte [ecx], 0xa1
jmp 0x6bbf8f
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x74]
mov dl, byte [ebp - 4]
add dl, 0x92
mov byte [eax], dl
inc dword [ebp - 0x74]
jmp 0x6bb7b2
mov byte [ebx], 0
mov edx, dword [ebp - 0x7c]
push edx
mov ecx, dword [ebp + 0x30]
push ecx
mov ecx, dword [ebp - 0x80]
push ecx
push 4
mov eax, dword [ebp - 0x74]
push eax
call fcn.006b90c0
add esp, 0x14
push esi
mov edx, dword [ebp - 0x74]
push edx
mov ecx, dword [ebp - 0x74]
add ecx, 4
push ecx
call sub.msvcrt.dll_memmove
mov edx, dword [ebp - 0x74]
mov al, byte [ebp - 4]
add al, 0x92
add esp, 0xc
mov byte [edx], al
add ebx, 4
inc dword [ebp - 0x74]
mov ecx, dword [ebp - 0x74]
mov byte [ecx], 0x83
inc dword [ebp - 0x74]
cmp dword [ebp - 0x150], 0
jne 0x6bb779
xor eax, eax
jmp 0x6bb782
mov eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0x150]
mov dword [ebp - 0x158], eax
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x150], edx
mov ecx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x74]
sar ecx, 8
mov byte [eax], cl
mov ecx, dword [ebp - 0x74]
mov dl, byte [ebp - 0x158]
and dl, 0xff
mov byte [ecx + 1], dl
add dword [ebp - 0x74], 2
dec dword [ebp - 0x10]
jmp 0x6bb94b
cmp dword [ebp - 0xc], 1
jle 0x6bb93f
cmp dword [ebp + 0x34], 0
je 0x6bb82e
mov ecx, dword [ebp - 0xc]
dec ecx
imul ecx, dword [ebp - 0x50]
mov dword [ebp - 0x15c], ecx
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0x25c], eax
fild dword [ebp - 0x25c]
fild dword [ebp - 0x50]
fmulp st(1)
fld qword [0x6be2bc]
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
je 0x6bb810
mov edx, dword [ebp + 0x34]
mov ecx, 0x7fffffeb
sub ecx, dword [edx]
cmp ecx, dword [ebp - 0x15c]
jge 0x6bb81e
mov esi, dword [ebp + 0x14]
mov dword [esi], 0x14
jmp 0x6be2aa
mov eax, dword [ebp + 0x34]
mov edx, dword [ebp - 0x15c]
add dword [eax], edx
jmp 0x6bb93f
cmp dword [ebp - 0x64], 0
je 0x6bb846
cmp dword [ebp - 0x28], 0
jge 0x6bb846
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x148], 1
mov eax, dword [ebp - 0x148]
cmp eax, dword [ebp - 0xc]
jge 0x6bb93f
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x20]
sub ecx, dword [eax + 0x10]
mov dword [ebp - 0x160], ecx
push esi
mov edx, dword [ebp - 0x74]
push edx
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x6bb89c
mov ecx, dword [ebp + 0x30]
push ecx
call fcn.006b62d4
pop ecx
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x6be2aa
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 - 0x160]
sub edx, dword [ebp - 0x14c]
add eax, 0xffffff9c
sub eax, edx
cmp eax, dword [ecx + 0x20]
jb 0x6bb881
mov eax, dword [ebp + 0x30]
mov eax, dword [eax + 0x10]
add eax, dword [ebp - 0x14c]
jmp 0x6bb90c
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
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x10]
add ecx, dword [ebp - 0x160]
cmp eax, ecx
jb 0x6bb8cf
mov eax, dword [ebp - 0x160]
add ebx, esi
mov dword [ebp - 0x14c], eax
inc dword [ebp - 0x148]
mov ecx, dword [ebp - 0x148]
cmp ecx, dword [ebp - 0xc]
jl 0x6bb85f
cmp dword [ebp - 0x10], 0
jle 0x6bb94b
mov eax, dword [ebp - 0xc]
sub dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jl 0x6bbbb8
cmp dword [ebp + 0x34], 0
je 0x6bb9cc
cmp dword [ebp - 0x10], 0
jle 0x6bb9cc
mov edx, dword [ebp - 0x50]
add edx, 7
imul edx, dword [ebp - 0x10]
add edx, 0xfffffffa
mov dword [ebp - 0x164], edx
fild dword [ebp - 0x10]
mov ecx, dword [ebp - 0x50]
add ecx, 7
mov dword [ebp - 0x260], ecx
fild dword [ebp - 0x260]
fmulp st(1)
fld qword [0x6be2bc]
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
je 0x6bb9ae
mov edx, dword [ebp + 0x34]
mov eax, 0x7fffffeb
sub eax, dword [edx]
cmp eax, dword [ebp - 0x164]
jge 0x6bb9bc
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x14
jmp 0x6be2aa
mov ecx, dword [ebp + 0x34]
mov esi, dword [ebp - 0x164]
add dword [ecx], esi
jmp 0x6bbb3a
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0
jl 0x6bbb3a
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x20]
sub ecx, dword [eax + 0x10]
mov dword [ebp - 0x168], ecx
mov dl, byte [ebp - 4]
add dl, 0x92
mov byte [ebx], dl
inc ebx
cmp dword [ebp - 0x148], 0
je 0x6bba46
mov byte [ebx], 0x83
inc ebx
cmp dword [ebp - 0x150], 0
jne 0x6bba18
xor ecx, ecx
jmp 0x6bba20
mov ecx, ebx
sub ecx, dword [ebp - 0x150]
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 0x150], ebx
mov eax, dword [ebp - 0x16c]
sar eax, 8
mov byte [ebx], al
mov dl, byte [ebp - 0x16c]
and dl, 0xff
mov byte [ebx + 1], dl
add ebx, 2
push esi
mov ecx, dword [ebp - 0x74]
push ecx
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x6bba71
mov eax, dword [ebp + 0x30]
push eax
call fcn.006b62d4
pop ecx
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
jne 0x6be2aa
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x168]
sub ecx, dword [ebp - 0x14c]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp + 0x30]
add edx, dword [eax + 0x3c]
mov eax, dword [ebp + 0x30]
add edx, 0xffffff9c
sub edx, ecx
cmp edx, dword [eax + 0x20]
jb 0x6bba56
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x10]
add eax, dword [ebp - 0x14c]
jmp 0x6bbb09
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 0x6bbac4
mov ecx, 4
jmp 0x6bbac9
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 0x6bbaef
mov cl, 4
jmp 0x6bbaf1
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
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x10]
add ecx, dword [ebp - 0x168]
cmp eax, ecx
jb 0x6bbaa4
mov eax, dword [ebp - 0x168]
add ebx, esi
mov dword [ebp - 0x14c], eax
dec dword [ebp - 0x148]
cmp dword [ebp - 0x148], 0
jge 0x6bb9e3
cmp dword [ebp - 0x150], 0
je 0x6bbdcf
mov eax, ebx
sub eax, dword [ebp - 0x150]
inc eax
mov edx, ebx
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 - 0x170], ecx
cmp dword [ebp - 0x170], 0
jne 0x6bbb75
xor ecx, ecx
jmp 0x6bbb81
mov ecx, dword [ebp - 0x150]
sub ecx, dword [ebp - 0x170]
mov dword [ebp - 0x150], ecx
mov byte [ebx], 0x78
inc ebx
mov ecx, eax
sar ecx, 8
mov byte [ebx], cl
mov ecx, eax
and cl, 0xff
mov byte [ebx + 1], cl
mov ecx, eax
sar ecx, 8
add ebx, 2
and al, 0xff
mov byte [edx + 1], cl
mov byte [edx + 2], al
cmp dword [ebp - 0x150], 0
jne 0x6bbb47
jmp 0x6bbdcf
lea eax, [ebx - 3]
xor ecx, ecx
mov dword [ebp - 0x174], eax
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x174]
mov esi, dword [ebp - 0x174]
mov cl, byte [edx + 1]
shl ecx, 8
xor edx, edx
mov dl, byte [eax + 2]
xor eax, eax
or ecx, edx
sub esi, ecx
mov al, byte [esi]
cmp eax, 0x81
je 0x6bbbfb
xor edx, edx
mov dl, byte [esi]
cmp edx, 0x82
jne 0x6bbc07
cmp dword [ebp - 0xa0], 0
je 0x6bbc07
mov byte [esi], 0x83
xor ecx, ecx
mov cl, byte [esi]
cmp ecx, 0x81
je 0x6bbc1f
xor ecx, ecx
mov cl, byte [esi]
cmp ecx, 0x82
jne 0x6bbc31
mov edx, dword [ebp - 0x174]
mov al, byte [ebp - 4]
add al, 0x79
mov byte [edx], al
jmp 0x6bbdcf
cmp dword [ebp + 0x34], 0
jne 0x6bbc96
mov dword [ebp - 0x178], esi
push 0
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebp - 0x80]
push eax
mov edx, dword [ebp - 0x174]
push edx
mov ecx, dword [ebp - 0x178]
push ecx
call fcn.006b74ec
add esp, 0x14
test eax, eax
je 0x6bbc66
add byte [esi], 5
jmp 0x6bbc96
mov eax, dword [ebp - 0x178]
xor edx, edx
mov dl, byte [eax + 1]
shl edx, 8
mov eax, dword [ebp - 0x178]
xor ecx, ecx
mov cl, byte [eax + 2]
or edx, ecx
add dword [ebp - 0x178], edx
mov edx, dword [ebp - 0x178]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x77
je 0x6bbc3d
xor eax, eax
mov al, byte [esi]
cmp eax, 0x87
jne 0x6bbcbc
xor edx, edx
xor eax, eax
mov dl, byte [esi + 1]
mov al, byte [esi + 2]
shl edx, 8
or edx, eax
movzx edx, byte [esi + edx]
cmp edx, 0x77
je 0x6bbcbc
mov byte [esi], 0x8c
cmp dword [ebp - 0xa0], 0
je 0x6bbd9e
xor ecx, ecx
mov cl, byte [esi]
cmp ecx, 0x87
je 0x6bbce5
xor ecx, ecx
mov cl, byte [esi]
cmp ecx, 0x8c
jne 0x6bbd71
mov eax, ebx
sub eax, esi
mov dword [ebp - 0x17c], eax
mov byte [ebx], 0
mov edx, dword [ebp - 0x7c]
push edx
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebp - 0x80]
push eax
push 3
push esi
call fcn.006b90c0
add esp, 0x14
mov edx, dword [ebp - 0x17c]
push edx
push esi
lea ecx, [esi + 3]
push ecx
call sub.msvcrt.dll_memmove
add dword [ebp - 0x17c], 3
xor eax, eax
add esp, 0xc
mov al, byte [esi]
add ebx, 3
cmp eax, 0x87
jne 0x6bbd36
mov dl, 0x84
jmp 0x6bbd38
mov dl, 0x89
mov byte [esi], dl
mov byte [ebx], 0x7b
inc ebx
mov eax, dword [ebp - 0x17c]
sar eax, 8
mov byte [ebx], al
mov cl, byte [ebp - 0x17c]
and cl, 0xff
mov byte [ebx + 1], cl
add ebx, 2
mov ecx, dword [ebp - 0x17c]
sar ecx, 8
mov byte [esi + 1], cl
mov al, byte [ebp - 0x17c]
and al, 0xff
mov byte [esi + 2], al
jmp 0x6bbd7c
inc byte [esi]
mov edx, dword [ebp - 0x174]
mov byte [edx], 0x7b
cmp dword [ebp - 0x154], 0
je 0x6bbd8e
mov ecx, dword [ebp - 0x154]
mov byte [ecx], 0x94
cmp dword [ebp - 0xc], 2
jge 0x6bbdcf
xor eax, eax
mov dword [ebp - 0xa0], eax
jmp 0x6bbdcf
mov eax, dword [ebp - 0x174]
mov dl, byte [ebp - 4]
add dl, 0x79
mov byte [eax], dl
jmp 0x6bbdcf
mov edx, dword [ebp - 0x74]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x9d
je 0x6bbf8f
mov esi, dword [ebp + 0x14]
mov dword [esi], 0xb
jmp 0x6be2aa
cmp dword [ebp - 0xa0], 0
je 0x6bbf8f
mov eax, dword [ebp - 0x5c]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x50
jg 0x6bbe06
je 0x6bbe59
add edx, 0xffffffe3
sub edx, 4
jb 0x6bbe59
sub edx, 8
je 0x6bbe59
sub edx, 0xd
je 0x6bbe59
sub edx, 0xd
je 0x6bbe59
jmp 0x6bbeb6
sub edx, 0x5d
je 0x6bbe22
add edx, 0xffffffef
sub edx, 2
jb 0x6bbe98
je 0x6bbe9e
jmp 0x6bbeb6
mov ecx, dword [ebp - 0x5c]
movzx ecx, byte [ecx + 3]
cmp ecx, 0x10
je 0x6bbe3b
mov eax, dword [ebp - 0x5c]
xor edx, edx
mov dl, byte [eax + 3]
cmp edx, 0xf
jne 0x6bbe42
mov ecx, 2
jmp 0x6bbe44
xor ecx, ecx
mov eax, dword [ebp - 0x5c]
xor edx, edx
mov dl, byte [eax]
movzx esi, byte [edx + 0x86daa0]
add ecx, esi
add dword [ebp - 0x5c], ecx
jmp 0x6bbeb6
mov eax, dword [ebp - 0x5c]
xor edx, edx
mov dl, byte [eax]
xor ecx, ecx
mov cl, byte [edx + 0x86daa0]
add dword [ebp - 0x5c], ecx
cmp dword [ebp - 0x80], 0
je 0x6bbeb6
mov ecx, dword [ebp - 0x5c]
xor eax, eax
mov al, byte [ecx - 1]
cmp eax, 0xc0
jl 0x6bbeb6
mov edx, dword [ebp - 0x5c]
xor ecx, ecx
mov cl, byte [edx - 1]
and ecx, 0x3f
xor eax, eax
mov al, byte [ecx + 0x86db42]
add dword [ebp - 0x5c], eax
jmp 0x6bbeb6
add dword [ebp - 0x5c], 0x21
jmp 0x6bbeb6
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
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 - 0x5c], ecx
mov ecx, ebx
sub ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x180], ecx
cmp dword [ebp - 0x180], 0
jle 0x6bbf8f
mov eax, dword [ebp - 0x5c]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0x184], edx
cmp dword [ebp - 0x184], 0x76
jae 0x6bbf0c
mov ecx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + 0x86d3dc]
test eax, eax
jle 0x6bbf0c
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x5c]
mov cl, byte [edx + 0x86d3dc]
mov byte [eax], cl
jmp 0x6bbf8f
mov byte [ebx], 0
mov edx, dword [ebp - 0x7c]
push edx
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebp - 0x80]
push eax
push 3
mov edx, dword [ebp - 0x5c]
push edx
call fcn.006b90c0
add esp, 0x14
mov ecx, dword [ebp - 0x180]
push ecx
mov eax, dword [ebp - 0x5c]
push eax
mov edx, dword [ebp - 0x5c]
add edx, 3
push edx
call sub.msvcrt.dll_memmove
add dword [ebp - 0x180], 3
mov ecx, dword [ebp - 0x5c]
add ebx, 3
add esp, 0xc
mov byte [ecx], 0x81
mov byte [ebx], 0x78
inc ebx
mov eax, dword [ebp - 0x180]
sar eax, 8
mov byte [ebx], al
mov dl, byte [ebp - 0x180]
and dl, 0xff
mov byte [ebx + 1], dl
add ebx, 2
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x5c]
sar ecx, 8
mov byte [eax + 1], cl
mov eax, dword [ebp - 0x5c]
mov dl, byte [ebp - 0x180]
and dl, 0xff
mov byte [eax + 2], dl
xor edx, edx
mov dword [ebp - 0x74], edx
mov ecx, dword [ebp + 0x30]
mov esi, dword [ebp - 0x40]
or dword [ecx + 0x68], esi
jmp 0x6be2a3
inc dword [edi]
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x2a
jne 0x6bc287
mov ecx, dword [edi]
movzx ecx, byte [ecx + 1]
cmp ecx, 0x3a
je 0x6bbfd5
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0xc]
test byte [ecx + edx], 2
je 0x6bc287
xor edx, edx
xor eax, eax
mov dword [ebp - 0x18c], edx
xor edx, edx
mov dword [ebp - 0x190], 0x86c494
mov ecx, dword [edi]
inc ecx
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x74], edx
inc dword [edi]
jmp 0x6bc003
inc dword [edi]
mov ecx, dword [edi]
mov edx, dword [ebp + 0x30]
xor eax, eax
mov al, byte [ecx]
mov edx, dword [edx + 0xc]
test byte [edx + eax], 2
jne 0x6bc001
mov eax, dword [edi]
sub eax, dword [ebp - 0x194]
mov dword [ebp - 0x188], eax
mov ecx, dword [edi]
movzx ecx, byte [ecx]
cmp ecx, 0x3a
jne 0x6bc075
inc dword [edi]
mov eax, dword [edi]
mov dword [ebp - 0x198], eax
jmp 0x6bc03b
inc dword [edi]
mov edx, dword [edi]
cmp byte [edx], 0
je 0x6bc04d
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x29
jne 0x6bc039
mov edx, dword [edi]
sub edx, dword [ebp - 0x198]
mov dword [ebp - 0x18c], edx
cmp dword [ebp - 0x18c], 0xff
jbe 0x6bc075
mov esi, dword [ebp + 0x14]
mov dword [esi], 0x4b
jmp 0x6be2aa
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x29
je 0x6bc08e
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3c
jmp 0x6be2aa
xor esi, esi
jmp 0x6bc261
lea eax, [esi + esi*2]
mov edx, dword [eax*4 + 0x86c038]
cmp edx, dword [ebp - 0x188]
jne 0x6bc24f
mov ecx, dword [ebp - 0x188]
push ecx
mov ecx, dword [ebp - 0x190]
push ecx
mov eax, dword [ebp - 0x194]
push eax
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6bc24f
lea edx, [esi + esi*2]
cmp dword [edx*4 + 0x86c03c], 0x9e
jne 0x6bc16e
cmp dword [ebp - 0x18c], 0
je 0x6bc0fb
mov esi, dword [ebp + 0x14]
mov dword [esi], 0x3b
jmp 0x6be2aa
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x6c], 1
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x24]
test eax, eax
je 0x6bc13c
cmp dword [ebp + 0x34], 0
je 0x6bc11d
mov edx, dword [ebp + 0x34]
add dword [edx], 3
jmp 0x6bc136
mov byte [ebx], 0xa0
inc ebx
movzx ecx, word [eax + 4]
sar ecx, 8
mov byte [ebx], cl
mov dl, byte [eax + 4]
and dl, 0xff
mov byte [ebx + 1], dl
add ebx, 2
mov eax, dword [eax]
test eax, eax
jne 0x6bc10f
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x5c], 0
jle 0x6bc149
mov cl, 0x9f
jmp 0x6bc14b
mov cl, 0x9e
mov byte [ebx], cl
xor eax, eax
mov al, cl
mov dword [ebp - 0x19c], eax
inc ebx
cmp dword [ebp - 0x24], 0xfffffffe
jne 0x6bc21e
mov dword [ebp - 0x24], 0xffffffff
jmp 0x6bc21e
cmp dword [ebp - 0x18c], 0
jne 0x6bc1ab
lea edx, [esi + esi*2]
cmp dword [edx*4 + 0x86c03c], 0
jge 0x6bc192
mov esi, dword [ebp + 0x14]
mov dword [esi], 0x42
jmp 0x6be2aa
lea eax, [esi + esi*2]
mov dl, byte [eax*4 + 0x86c03c]
xor eax, eax
mov byte [ebx], dl
inc ebx
mov al, dl
mov dword [ebp - 0x19c], eax
jmp 0x6bc21e
lea ecx, [esi + esi*2]
cmp dword [ecx*4 + 0x86c040], 0
jge 0x6bc1c6
mov esi, dword [ebp + 0x14]
mov dword [esi], 0x3b
jmp 0x6be2aa
lea eax, [esi + esi*2]
mov dl, byte [eax*4 + 0x86c040]
xor eax, eax
mov byte [ebx], dl
mov al, dl
mov dword [ebp - 0x19c], eax
inc ebx
cmp dword [ebp + 0x34], 0
je 0x6bc1f4
mov ecx, dword [ebp + 0x34]
mov eax, dword [ebp - 0x18c]
add dword [ecx], eax
mov byte [ebx], 0
inc ebx
jmp 0x6bc21a
mov dl, byte [ebp - 0x18c]
mov byte [ebx], dl
inc ebx
mov ecx, dword [ebp - 0x18c]
push ecx
mov ecx, dword [ebp - 0x198]
push ecx
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add ebx, dword [ebp - 0x18c]
mov byte [ebx], 0
inc ebx
mov eax, dword [ebp - 0x19c]
add eax, 0xffffff6a
sub eax, 4
jb 0x6bc241
sub eax, 2
jb 0x6bc235
jmp 0x6bc26d
mov edx, dword [ebp + 0x30]
or dword [edx + 0x64], 0x1000
jmp 0x6bc26d
mov ecx, dword [ebp + 0x30]
mov dword [ecx + 0x70], 1
jmp 0x6bc26d
lea eax, [esi + esi*2]
mov edx, dword [eax*4 + 0x86c038]
inc edx
add dword [ebp - 0x190], edx
inc esi
cmp esi, dword [0x86c0a4]
jl 0x6bc095
cmp esi, dword [0x86c0a4]
jl 0x6be2a3
mov esi, dword [ebp + 0x14]
mov dword [esi], 0x3c
jmp 0x6be2aa
mov eax, dword [ebp - 0x48]
xor edx, edx
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov esi, 0x85
mov edx, dword [eax + 0x20]
sub edx, dword [ecx + 0x10]
xor ecx, ecx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0xac], ecx
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3f
jne 0x6bd807
inc dword [edi]
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x3a
jg 0x6bc34d
je 0x6bc3a4
add eax, 0xffffffdf
cmp eax, 0x18
ja case.0x6bc2e2.34
jmp dword [eax*4 + 0x6bc2e9]
cmp eax, 0x43
jg 0x6bc374
je 0x6bcb4b
sub eax, 0x3c
je 0x6bcadc
dec eax
je 0x6bca5f
dec eax
je 0x6bcb3f
jmp case.0x6bc2e2.34
sub eax, 0x50
je 0x6bcc06
sub eax, 2
je 0x6bd381
sub eax, 0x2a
je 0x6bc390
jmp case.0x6bc2e2.34
mov dword [ebp - 0xac], 1
mov edx, dword [ebp + 0x30]
mov dword [edx + 0x7c], 1
mov esi, 0x83
inc dword [edi]
jmp 0x6bd83b
mov esi, 0x87
mov eax, dword [edi]
mov dword [ebp - 0x6c], eax
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3f
jne 0x6bc43d
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 2]
cmp eax, 0x43
jne 0x6bc43d
mov dword [ebp - 0x1a0], 3
mov edx, dword [edi]
mov eax, dword [ebp - 0x1a0]
movzx edx, byte [edx + eax]
cmp edx, 0x30
jl 0x6bc407
mov ecx, dword [edi]
mov eax, dword [ebp - 0x1a0]
xor edx, edx
mov dl, byte [ecx + eax]
cmp edx, 0x39
jg 0x6bc407
inc dword [ebp - 0x1a0]
jmp 0x6bc3dc
mov ecx, dword [edi]
mov eax, dword [ebp - 0x1a0]
xor edx, edx
mov dl, byte [ecx + eax]
cmp edx, 0x29
jne 0x6bc423
mov ecx, dword [ebp - 0x1a0]
inc ecx
add dword [ebp - 0x6c], ecx
mov ecx, dword [ebp - 0x6c]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x28
je 0x6bc43d
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x1c
jmp 0x6be2aa
mov ecx, dword [ebp - 0x6c]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3f
jne 0x6bc49d
mov edx, dword [ebp - 0x6c]
xor ecx, ecx
mov cl, byte [edx + 2]
cmp ecx, 0x3d
je 0x6bc48b
mov eax, dword [ebp - 0x6c]
xor edx, edx
mov dl, byte [eax + 2]
cmp edx, 0x21
je 0x6bc48b
mov ecx, dword [ebp - 0x6c]
xor eax, eax
mov al, byte [ecx + 2]
cmp eax, 0x3c
jne 0x6bc49d
mov edx, dword [ebp - 0x6c]
xor ecx, ecx
mov cl, byte [edx + 3]
cmp ecx, 0x3d
je 0x6bc48b
mov eax, dword [ebp - 0x6c]
xor edx, edx
mov dl, byte [eax + 3]
cmp edx, 0x21
jne 0x6bc49d
mov ecx, dword [ebp + 0x30]
mov dword [ecx + 0x80], 1
jmp 0x6bd83b
mov byte [ebx + 3], 0x8d
mov dword [ebp - 0xc8], 3
mov dword [ebp - 0xc4], 0xffffffff
mov dword [ebp - 0x1ac], 0xffffffff
xor eax, eax
xor edx, edx
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0xc0], edx
inc dword [edi]
xor eax, eax
mov ecx, dword [edi]
mov al, byte [ecx]
cmp eax, 0x52
jne 0x6bc4fb
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x26
jne 0x6bc4fb
mov dword [ebp - 0xdc], 0xffffffff
add dword [edi], 2
mov byte [ebx + 3], 0x8f
jmp 0x6bc579
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3c
jne 0x6bc514
mov dword [ebp - 0xdc], 0x3e
inc dword [edi]
jmp 0x6bc579
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x27
jne 0x6bc52d
mov dword [ebp - 0xdc], 0x27
inc dword [edi]
jmp 0x6bc579
xor edx, edx
mov dword [ebp - 0xdc], edx
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x2d
je 0x6bc54b
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x2b
jne 0x6bc55b
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0xc4], edx
inc dword [edi]
jmp 0x6bc579
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x30
jl 0x6bc579
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x39
jg 0x6bc579
xor eax, eax
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
jl 0x6bc5f1
jmp 0x6bc5d5
cmp dword [ebp - 0xc0], 0xccccccb
jle 0x6bc5b7
jmp 0x6bc594
inc dword [edi]
mov edx, dword [edi]
movzx esi, byte [edx]
cmp esi, 0x30
jl 0x6bc5a9
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x39
jle 0x6bc592
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3d
jmp 0x6be2aa
mov edx, dword [ebp - 0xc0]
mov ecx, dword [edi]
add edx, edx
xor eax, eax
mov al, byte [ecx]
lea edx, [edx + edx*4]
add eax, edx
add eax, 0xffffffd0
mov dword [ebp - 0xc0], eax
inc dword [edi]
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x30
jl 0x6bc670
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x39
jle 0x6bc584
jmp 0x6bc670
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x30
jl 0x6bc615
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x39
jg 0x6bc615
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x54
jmp 0x6be2aa
mov ecx, dword [edi]
mov edx, dword [ebp + 0x30]
xor eax, eax
mov al, byte [ecx]
mov edx, dword [edx + 0xc]
test byte [edx + eax], 0x10
jne 0x6bc635
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1c
jmp 0x6be2aa
mov ecx, dword [edi]
mov dword [ebp - 0x1b4], ecx
inc dword [edi]
jmp 0x6bc643
inc dword [edi]
mov ecx, dword [edi]
mov edx, dword [ebp + 0x30]
xor eax, eax
mov al, byte [ecx]
mov edx, dword [edx + 0xc]
test byte [edx + eax], 0x10
jne 0x6bc641
mov eax, dword [edi]
sub eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x1ac], eax
cmp dword [ebp + 0x34], 0
je 0x6bc670
add dword [ebp - 0xc8], 2
cmp dword [ebp - 0xdc], 0
jle 0x6bc687
mov cl, byte [ebp - 0xdc]
mov eax, dword [edi]
inc dword [edi]
cmp cl, byte [eax]
jne 0x6bc694
mov edx, dword [edi]
inc dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
je 0x6bc6a4
dec dword [edi]
mov esi, dword [ebp + 0x14]
mov dword [esi], 0x1a
jmp 0x6be2aa
cmp dword [ebp + 0x34], 0
jne 0x6bd83b
cmp dword [ebp - 0xc4], 0
jl 0x6bc765
cmp dword [ebp - 0xc0], 0
jg 0x6bc6d2
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x23
jmp 0x6be2aa
cmp dword [ebp - 0xc4], 0
je 0x6bc705
cmp dword [ebp - 0xc4], 0x2d
jne 0x6bc6f3
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
sub ecx, dword [ebp - 0xc0]
inc ecx
jmp 0x6bc6ff
mov ecx, dword [ebp + 0x30]
mov ecx, dword [ecx + 0x40]
add ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xc0], ecx
cmp dword [ebp - 0xc0], 0
jle 0x6bc71c
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x44]
cmp edx, dword [ebp - 0xc0]
jge 0x6bc72a
mov esi, dword [ebp + 0x14]
mov dword [esi], 0xf
jmp 0x6be2aa
mov eax, dword [ebp - 0xc0]
sar eax, 8
mov byte [ebx + 4], al
mov dl, byte [ebp - 0xc0]
and dl, 0xff
mov byte [ebx + 5], dl
mov ecx, dword [ebp + 0x30]
mov ecx, dword [ecx + 0x4c]
cmp ecx, dword [ebp - 0xc0]
jge 0x6bd83b
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0xc0]
mov dword [eax + 0x4c], edx
jmp 0x6bd83b
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0x1b8], eax
xor edx, edx
mov dword [ebp - 0x1a0], edx
jmp 0x6bc7c4
mov ecx, dword [ebp - 0x1ac]
push ecx
mov eax, dword [ebp - 0x1b8]
add eax, 2
push eax
mov edx, dword [ebp - 0x1b4]
push edx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6bc7b2
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1ac]
cmp byte [ecx + eax + 2], 0
je 0x6bc7d2
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x34]
add dword [ebp - 0x1b8], ecx
inc dword [ebp - 0x1a0]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x30]
cmp edx, dword [ebp - 0x1a0]
jg 0x6bc77b
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x1a0]
jle 0x6bc8fc
mov edx, dword [ebp - 0x1a0]
xor eax, eax
mov dword [ebp - 0x1bc], edx
inc dword [ebp - 0x1a0]
mov dword [ebp - 0x1c0], 1
mov edx, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1b8]
movzx edx, byte [edx + 1]
mov al, byte [ecx]
shl eax, 8
or eax, edx
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x4c]
cmp ecx, dword [ebp - 0xc0]
jge 0x6bc88a
mov ecx, dword [ebp + 0x30]
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 0x4c], eax
jmp 0x6bc88a
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x34]
add dword [ebp - 0x1b8], ecx
mov eax, dword [ebp - 0x1ac]
push eax
mov edx, dword [ebp - 0x1b8]
add edx, 2
push edx
mov ecx, dword [ebp - 0x1b4]
push ecx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6bc898
mov eax, dword [ebp - 0x1b8]
mov edx, dword [ebp - 0x1ac]
cmp byte [eax + edx + 2], 0
jne 0x6bc898
inc dword [ebp - 0x1c0]
inc dword [ebp - 0x1a0]
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x1a0]
jg 0x6bc83b
cmp dword [ebp - 0x1c0], 1
jle 0x6bc8e0
mov edx, dword [ebp - 0x1bc]
sar edx, 8
mov byte [ebx + 4], dl
mov cl, byte [ebp - 0x1bc]
and cl, 0xff
mov byte [ebx + 5], cl
mov eax, dword [ebp - 0x1c0]
sar eax, 8
mov byte [ebx + 6], al
mov dl, byte [ebp - 0x1c0]
and dl, 0xff
mov byte [ebx + 7], dl
add dword [ebp - 0xc8], 2
inc byte [ebx + 3]
jmp 0x6bd83b
mov ecx, dword [ebp - 0xc0]
sar ecx, 8
mov byte [ebx + 4], cl
mov al, byte [ebp - 0xc0]
and al, 0xff
mov byte [ebx + 5], al
jmp 0x6bd83b
cmp dword [ebp - 0xdc], 0
je 0x6bc918
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x6be2aa
mov ecx, dword [ebp - 0x1b4]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x52
jne 0x6bca16
xor edx, edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0x1a0], 1
mov ecx, dword [ebp - 0x1a0]
cmp ecx, dword [ebp - 0x1ac]
jge 0x6bc9e2
mov eax, dword [ebp - 0x1b4]
mov edx, dword [ebp - 0x1a0]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x30
jl 0x6bc97b
mov eax, dword [ebp - 0x1b4]
mov edx, dword [ebp - 0x1a0]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x39
jle 0x6bc989
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xf
jmp 0x6be2aa
cmp dword [ebp - 0xc0], 0xccccccb
jle 0x6bc9a3
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x3d
jmp 0x6be2aa
mov ecx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1a0]
xor edx, edx
mov dl, byte [ecx + eax]
mov eax, dword [ebp - 0xc0]
add eax, eax
lea eax, [eax + eax*4]
add edx, eax
add edx, 0xffffffd0
mov dword [ebp - 0xc0], edx
inc dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x1a0]
cmp edx, dword [ebp - 0x1ac]
jl 0x6bc94f
cmp dword [ebp - 0xc0], 0
jne 0x6bc9f5
mov dword [ebp - 0xc0], 0xffff
mov byte [ebx + 3], 0x8f
mov ecx, dword [ebp - 0xc0]
sar ecx, 8
mov byte [ebx + 4], cl
mov cl, byte [ebp - 0xc0]
and cl, 0xff
mov byte [ebx + 5], cl
jmp 0x6bd83b
cmp dword [ebp - 0x1ac], 6
jne 0x6bca4c
push 6
push str.DEFINE
mov eax, dword [ebp - 0x1b4]
push eax
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6bca4c
mov byte [ebx + 3], 0x91
mov dword [ebp - 0xc8], 1
jmp 0x6bd83b
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x6be2aa
mov esi, 0x7d
mov eax, dword [ebp + 0x30]
inc dword [eax + 0x5c]
inc dword [edi]
jmp 0x6bd83b
inc dword [edi]
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
jne 0x6bcacc
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x2a
je 0x6bcacc
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x2b
je 0x6bcacc
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3f
je 0x6bcacc
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x7b
jne 0x6bcabe
mov edx, dword [edi]
add edx, 2
push edx
call fcn.006b635c
pop ecx
test eax, eax
jne 0x6bcacc
mov byte [ebx], 0x9d
inc ebx
xor ecx, ecx
mov dword [ebp - 0x74], ecx
jmp 0x6be2a3
mov esi, 0x7e
mov eax, dword [ebp + 0x30]
inc dword [eax + 0x5c]
jmp 0x6bd83b
mov edx, dword [edi]
mov cl, byte [edx + 1]
sub cl, 0x21
je 0x6bcb00
sub cl, 0x1c
je 0x6bcaed
jmp 0x6bcb13
mov esi, 0x7f
mov eax, dword [ebp + 0x30]
inc dword [eax + 0x5c]
add dword [edi], 2
jmp 0x6bd83b
mov esi, 0x80
mov eax, dword [ebp + 0x30]
inc dword [eax + 0x5c]
add dword [edi], 2
jmp 0x6bd83b
mov edx, dword [edi]
mov eax, dword [ebp + 0x30]
xor ecx, ecx
mov cl, byte [edx + 1]
mov edx, dword [eax + 0xc]
test byte [edx + ecx], 0x10
jne case.0x6bc2e2.39
inc dword [edi]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x18
jmp 0x6be2aa
mov esi, 0x81
inc dword [edi]
jmp 0x6bd83b
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x4c], 1
mov byte [ebx], 0x76
inc ebx
xor eax, eax
mov dword [ebp - 0x1c4], eax
inc dword [edi]
jmp 0x6bcb83
mov edx, dword [ebp - 0x1c4]
mov ecx, dword [edi]
add edx, edx
xor eax, eax
mov al, byte [ecx]
lea edx, [edx + edx*4]
add edx, eax
add edx, 0xffffffd0
mov dword [ebp - 0x1c4], edx
inc dword [edi]
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x30
jl 0x6bcb99
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x39
jle 0x6bcb65
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
je 0x6bcbb2
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x27
jmp 0x6be2aa
cmp dword [ebp - 0x1c4], 0xff
jle 0x6bcbcc
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x26
jmp 0x6be2aa
mov cl, byte [ebp - 0x1c4]
mov byte [ebx], cl
inc ebx
mov eax, dword [ebp + 0x30]
mov edx, dword [edi]
sub edx, dword [eax + 0x18]
inc edx
sar edx, 8
mov byte [ebx], dl
mov ecx, dword [ebp + 0x30]
mov eax, dword [edi]
sub eax, dword [ecx + 0x18]
inc eax
and al, 0xff
mov byte [ebx + 1], al
mov byte [ebx + 2], 0
mov byte [ebx + 3], 0
add ebx, 4
xor edx, edx
mov dword [ebp - 0x74], edx
jmp 0x6be2a3
inc dword [edi]
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x3d
je 0x6bcc1e
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x3e
jne 0x6bcc44
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3e
sete cl
and ecx, 1
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xdc], 0x29
jmp 0x6bcf2a
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3c
je case.0x6bc2e2.39
mov esi, dword [ebp + 0x14]
mov dword [esi], 0x29
jmp 0x6be2aa
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3c
jne 0x6bcc6f
mov ecx, 0x3e
jmp 0x6bcc74
mov ecx, 0x27
mov dword [ebp - 0xdc], ecx
inc dword [edi]
mov eax, dword [edi]
mov dword [ebp - 0x1b4], eax
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x30
jl 0x6bccac
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x39
jg 0x6bccac
mov esi, dword [ebp + 0x14]
mov dword [esi], 0x54
jmp 0x6be2aa
inc dword [edi]
mov eax, dword [edi]
mov ecx, dword [ebp + 0x30]
xor edx, edx
mov dl, byte [eax]
mov eax, dword [ecx + 0xc]
test byte [eax + edx], 0x10
jne 0x6bccaa
mov edx, dword [edi]
sub edx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1ac], edx
cmp dword [ebp + 0x34], 0
je 0x6bcf0f
mov ecx, dword [ebp + 0x30]
mov ecx, dword [ecx + 0x40]
inc ecx
mov dword [ebp - 0x1cc], ecx
mov al, byte [ebp - 0xdc]
mov edx, dword [edi]
cmp al, byte [edx]
je 0x6bccfd
mov esi, dword [ebp + 0x14]
mov dword [esi], 0x2a
jmp 0x6be2aa
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x30], 0x2710
jl 0x6bcd17
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x31
jmp 0x6be2aa
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x1ac]
add ecx, 3
cmp ecx, dword [eax + 0x34]
jle 0x6bcd4e
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp - 0x1ac]
add edx, 3
mov dword [ecx + 0x34], edx
cmp dword [ebp - 0x1ac], 0x20
jle 0x6bcd4e
mov esi, dword [ebp + 0x14]
mov dword [esi], 0x30
jmp 0x6be2aa
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x28]
mov dword [ebp - 0x1c8], edx
xor ecx, ecx
mov dword [ebp - 0x1a0], ecx
jmp 0x6bcdf8
mov ecx, dword [ebp - 0x1c8]
mov eax, dword [ecx + 4]
cmp eax, dword [ebp - 0x1ac]
jne 0x6bcdcc
mov edx, dword [ebp - 0x1ac]
push edx
mov ecx, dword [ebp - 0x1c8]
mov eax, dword [ecx]
push eax
mov edx, dword [ebp - 0x1b4]
push edx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6bcdcc
mov ecx, dword [ebp - 0x1c8]
mov eax, dword [ecx + 8]
cmp eax, dword [ebp - 0x1cc]
je 0x6bce0a
test byte [ebp - 0x46], 8
jne 0x6bcdc0
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x2b
jmp 0x6be2aa
mov ecx, dword [ebp + 0x30]
mov dword [ecx + 0x78], 1
jmp 0x6bcdeb
mov eax, dword [ebp - 0x1c8]
mov edx, dword [eax + 8]
cmp edx, dword [ebp - 0x1cc]
jne 0x6bcdeb
mov esi, dword [ebp + 0x14]
mov dword [esi], 0x41
jmp 0x6be2aa
inc dword [ebp - 0x1a0]
add dword [ebp - 0x1c8], 0xc
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x30]
cmp edx, dword [ebp - 0x1a0]
jg 0x6bcd67
mov ecx, dword [ebp + 0x30]
mov ecx, dword [ecx + 0x30]
cmp ecx, dword [ebp - 0x1a0]
jg 0x6bcf0f
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 0x30]
cmp edx, dword [eax + 0x30]
jg 0x6bcebf
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x38]
add ecx, ecx
mov dword [ebp - 0x1d0], ecx
mov ecx, dword [ebp - 0x1d0]
shl ecx, 2
lea ecx, [ecx + ecx*2]
push ecx
call dword [0x86beb0]
pop ecx
mov dword [ebp - 0x1d4], eax
cmp dword [ebp - 0x1d4], 0
jne 0x6bce6d
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x15
jmp 0x6be2aa
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x38]
shl ecx, 2
lea ecx, [ecx + ecx*2]
push ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x28]
push edx
mov ecx, dword [ebp - 0x1d4]
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x38], 0x14
jle 0x6bcea7
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x28]
push ecx
call dword [0x86beb4]
pop ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x1d4]
mov dword [eax + 0x28], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x1d0]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x30]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 0x1b4]
lea ecx, [ecx + ecx*2]
mov dword [edx + ecx*4], eax
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x30]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 0x1ac]
lea ecx, [ecx + ecx*2]
mov dword [edx + ecx*4 + 4], eax
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x30]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 0x1cc]
lea ecx, [ecx + ecx*2]
mov dword [edx + ecx*4 + 8], eax
mov edx, dword [ebp + 0x30]
inc dword [edx + 0x30]
inc dword [edi]
jmp 0x6bd814
mov dword [ebp - 0xdc], 0x29
mov dword [ebp - 0xa8], 1
inc dword [edi]
mov ecx, dword [edi]
mov dword [ebp - 0x1b4], ecx
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x30
jl 0x6bcf5c
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x39
jg 0x6bcf5c
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x54
jmp 0x6be2aa
inc dword [edi]
mov edx, dword [edi]
mov eax, dword [ebp + 0x30]
xor ecx, ecx
mov cl, byte [edx]
mov edx, dword [eax + 0xc]
test byte [edx + ecx], 0x10
jne 0x6bcf5a
mov ecx, dword [edi]
sub ecx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1ac], ecx
cmp dword [ebp + 0x34], 0
je 0x6bd0dd
xor eax, eax
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0x1ac], 0
jne 0x6bcfa5
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x3e
jmp 0x6be2aa
mov cl, byte [ebp - 0xdc]
mov eax, dword [edi]
cmp cl, byte [eax]
je 0x6bcfbf
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x2a
jmp 0x6be2aa
cmp dword [ebp - 0x1ac], 0x20
jle 0x6bcfd6
mov esi, dword [ebp + 0x14]
mov dword [esi], 0x30
jmp 0x6be2aa
cmp dword [ebp - 0xa8], 0
jne 0x6bcfe5
mov eax, dword [ebp + 0x30]
inc dword [eax + 0x54]
mov edx, dword [ebp + 0x34]
add dword [edx], 2
mov ecx, dword [ebp + 0x34]
add dword [ecx], 0xc
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x7c], 0
je 0x6bd000
mov eax, dword [ebp + 0x34]
add dword [eax], 0xc
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x28]
mov dword [ebp - 0x1d8], ecx
xor eax, eax
mov dword [ebp - 0x1a0], eax
jmp 0x6bd0c6
mov edx, dword [ebp - 0x1d8]
mov ecx, dword [edx + 4]
cmp ecx, dword [ebp - 0x1ac]
jne 0x6bd0b9
mov eax, dword [ebp - 0x1ac]
push eax
mov edx, dword [ebp - 0x1d8]
mov ecx, dword [edx]
push ecx
mov eax, dword [ebp - 0x1b4]
push eax
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6bd0b9
mov edx, dword [ebp - 0x1d8]
mov ecx, dword [edx + 8]
mov dword [ebp - 0xc0], ecx
cmp dword [ebp - 0xa8], 0
jne 0x6bd187
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x1dc], edx
cmp dword [ebp - 0x1dc], 0
je 0x6bd0b9
mov ecx, dword [ebp - 0x1dc]
movzx eax, word [ecx + 4]
cmp eax, dword [ebp - 0xc0]
jne 0x6bd0a2
mov edx, dword [ebp - 0x1dc]
mov word [edx + 6], 1
jmp 0x6bd0b9
mov ecx, dword [ebp - 0x1dc]
mov eax, dword [ecx]
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x1dc], 0
jne 0x6bd082
inc dword [ebp - 0x1a0]
add dword [ebp - 0x1d8], 0xc
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x30]
cmp ecx, dword [ebp - 0x1a0]
jg 0x6bd019
jmp 0x6bd187
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x2c]
mov dword [ebp - 0x1b8], edx
xor ecx, ecx
mov dword [ebp - 0x1a0], ecx
jmp 0x6bd13c
mov eax, dword [ebp - 0x1ac]
push eax
mov edx, dword [ebp - 0x1b8]
add edx, 2
push edx
mov ecx, dword [ebp - 0x1b4]
push ecx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6bd12a
mov eax, dword [ebp - 0x1b8]
mov edx, dword [ebp - 0x1ac]
cmp byte [eax + edx + 2], 0
je 0x6bd14a
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x34]
add dword [ebp - 0x1b8], eax
inc dword [ebp - 0x1a0]
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x30]
cmp ecx, dword [ebp - 0x1a0]
jg 0x6bd0f3
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x30]
cmp edx, dword [ebp - 0x1a0]
jle 0x6bd179
mov edx, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1b8]
xor eax, eax
movzx edx, byte [edx + 1]
mov al, byte [ecx]
shl eax, 8
or eax, edx
mov dword [ebp - 0xc0], eax
jmp 0x6bd187
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xf
jmp 0x6be2aa
cmp dword [ebp - 0xa8], 0
jne 0x6bd524
cmp dword [ebp + 0x34], 0
jne 0x6bdd63
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x78], 0
je 0x6bdd63
mov dword [ebp - 0x1e0], 1
mov ecx, dword [ebp - 0x1a0]
mov dword [ebp - 0x1e4], ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x34]
add edx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1e8], edx
inc dword [ebp - 0x1a0]
jmp 0x6bd223
mov eax, dword [ebp - 0x1b8]
mov edx, dword [ebp - 0x1e8]
add eax, 2
add edx, 2
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x6bd209
test cl, cl
je 0x6bd20b
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x6bd209
add eax, 2
add edx, 2
test cl, cl
jne 0x6bd1ed
jne 0x6bd231
inc dword [ebp - 0x1e0]
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x34]
add dword [ebp - 0x1e8], eax
inc dword [ebp - 0x1a0]
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x30]
cmp ecx, dword [ebp - 0x1a0]
jg 0x6bd1db
cmp dword [ebp - 0x1e0], 1
jle 0x6bdd63
cmp dword [ebp - 0x24], 0xfffffffe
jne 0x6bd24b
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x74], ebx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x20]
mov eax, dword [ebp + 0x30]
sub edx, dword [eax + 0x10]
mov dword [ebp - 0x7c], edx
test byte [ebp - 0x48], 1
je 0x6bd267
mov dl, 0x74
jmp 0x6bd269
mov dl, 0x73
mov byte [ebx], dl
inc ebx
mov eax, dword [ebp - 0x1e4]
shr eax, 8
mov byte [ebx], al
mov cl, byte [ebp - 0x1e4]
and cl, 0xff
mov byte [ebx + 1], cl
add ebx, 2
mov ecx, dword [ebp - 0x1e0]
sar ecx, 8
mov byte [ebx], cl
mov al, byte [ebp - 0x1e0]
and al, 0xff
mov byte [ebx + 1], al
add ebx, 2
mov edx, dword [ebp - 0x1b8]
cmp edx, dword [ebp - 0x1e8]
jae 0x6be2a3
mov edx, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1b8]
xor eax, eax
movzx edx, byte [edx + 1]
mov al, byte [ecx]
shl eax, 8
or eax, edx
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0x20
jge 0x6bd2e8
mov ecx, dword [ebp - 0xc0]
mov eax, 1
shl eax, cl
jmp 0x6bd2ed
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 - 0xc0]
jge 0x6bd30d
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0xc0]
mov dword [eax + 0x4c], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x1ec], eax
cmp dword [ebp - 0x1ec], 0
je 0x6bd359
mov edx, dword [ebp - 0x1ec]
movzx ecx, word [edx + 4]
cmp ecx, dword [ebp - 0xc0]
jne 0x6bd342
mov eax, dword [ebp - 0x1ec]
mov word [eax + 6], 1
jmp 0x6bd359
mov edx, dword [ebp - 0x1ec]
mov ecx, dword [edx]
mov dword [ebp - 0x1ec], ecx
cmp dword [ebp - 0x1ec], 0
jne 0x6bd322
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x34]
add dword [ebp - 0x1b8], edx
mov ecx, dword [ebp - 0x1b8]
cmp ecx, dword [ebp - 0x1e8]
jb 0x6bd2b1
jmp 0x6be2a3
xor eax, eax
mov dword [ebp - 0xc0], eax
inc dword [edi]
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
je 0x6bd524
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1d
jmp 0x6be2aa
mov dword [ebp - 0xdc], 0x29
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
mov dword [ebp - 0xc4], ecx
cmp ecx, 0x2b
jne 0x6bd3f0
inc dword [edi]
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x30
jl 0x6bd3e0
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x39
jle 0x6bd41b
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x3f
jmp 0x6be2aa
cmp dword [ebp - 0xc4], 0x2d
jne 0x6bd41b
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x30
jl case.0x6bc2e2.34
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x39
jg case.0x6bc2e2.34
inc dword [edi]
xor eax, eax
mov dword [ebp - 0xc0], eax
jmp 0x6bd476
cmp dword [ebp - 0xc0], 0xccccccb
jle 0x6bd458
jmp 0x6bd435
inc dword [edi]
mov edx, dword [edi]
movzx esi, byte [edx]
cmp esi, 0x30
jl 0x6bd44a
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x39
jle 0x6bd433
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3d
jmp 0x6be2aa
mov ecx, dword [ebp - 0xc0]
mov eax, dword [edi]
add ecx, ecx
xor edx, edx
mov dl, byte [eax]
lea ecx, [ecx + ecx*4]
add ecx, edx
add ecx, 0xffffffd0
mov dword [ebp - 0xc0], ecx
inc dword [edi]
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x30
jl 0x6bd48c
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x39
jle 0x6bd425
mov al, byte [ebp - 0xdc]
mov edx, dword [edi]
cmp al, byte [edx]
je 0x6bd4a6
mov esi, dword [ebp + 0x14]
mov dword [esi], 0x1d
jmp 0x6be2aa
cmp dword [ebp - 0xc4], 0x2d
jne 0x6bd4f2
cmp dword [ebp - 0xc0], 0
jne 0x6bd4c6
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3a
jmp 0x6be2aa
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
sub ecx, dword [ebp - 0xc0]
inc ecx
mov dword [ebp - 0xc0], ecx
cmp dword [ebp - 0xc0], 0
jg 0x6bd524
mov esi, dword [ebp + 0x14]
mov dword [esi], 0xf
jmp 0x6be2aa
cmp dword [ebp - 0xc4], 0x2b
jne 0x6bd524
cmp dword [ebp - 0xc0], 0
jne 0x6bd512
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3a
jmp 0x6be2aa
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
add ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0x74], ebx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x20]
sub eax, dword [edx + 0x10]
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x1f0], eax
cmp dword [ebp + 0x34], 0
jne 0x6bd666
mov byte [ebx], 0
cmp dword [ebp - 0xc0], 0
je 0x6bd578
mov edx, dword [ebp - 0xc0]
push edx
mov ecx, dword [ebp - 0x80]
push ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x14]
push edx
call fcn.006b72a4
add esp, 0xc
mov dword [ebp - 0x1f0], eax
cmp dword [ebp - 0x1f0], 0
jne 0x6bd616
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x44]
cmp eax, dword [ebp - 0xc0]
jge 0x6bd5a1
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x6be2aa
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x14]
add eax, dword [ebp - 0xc0]
mov dword [ebp - 0x1f0], eax
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x10]
mov edx, dword [ebp + 0x30]
add ecx, dword [eax + 0x3c]
add ecx, 0xffffff9c
cmp ecx, dword [edx + 0x20]
ja 0x6bd5e5
mov ecx, dword [ebp + 0x30]
push ecx
call fcn.006b62d4
pop ecx
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x6be2aa
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
lea ecx, [ebx + 1]
sub ecx, dword [eax + 0x14]
mov esi, dword [edx + 0x20]
sar ecx, 8
lea eax, [ebx + 1]
mov byte [esi], cl
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 0x6bd666
mov ecx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x1f0]
xor edx, edx
movzx ecx, byte [ecx + 1]
shl ecx, 8
mov dl, byte [eax + 2]
or ecx, edx
jne 0x6bd666
cmp dword [ebp + 0x2c], 0
jg 0x6bd666
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebp - 0x80]
push eax
mov edx, dword [ebp + 0x28]
push edx
push ebx
mov ecx, dword [ebp - 0x1f0]
push ecx
call fcn.006b7a18
add esp, 0x14
test eax, eax
je 0x6bd666
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x28
jmp 0x6be2aa
mov byte [ebx], 0x75
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x1f0]
sub eax, dword [edx + 0x14]
sar eax, 8
mov byte [ebx + 1], al
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x1f0]
sub ecx, dword [edx + 0x14]
and cl, 0xff
mov byte [ebx + 2], cl
add ebx, 3
xor ecx, ecx
mov dword [ebp - 0x64], ecx
cmp dword [ebp - 0x24], 0xfffffffe
jne 0x6be2a3
mov dword [ebp - 0x24], 0xffffffff
jmp 0x6be2a3
xor eax, eax
lea edx, [ebp - 0x1a4]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1b0], edx
jmp 0x6bd77a
mov ecx, dword [edi]
inc dword [edi]
movzx ecx, byte [ecx]
cmp ecx, 0x69
jg 0x6bd6ee
je 0x6bd725
sub ecx, 0x2d
je 0x6bd6ff
sub ecx, 0x1d
je 0x6bd70d
sub ecx, 0xb
je 0x6bd751
sub ecx, 3
je 0x6bd75f
jmp 0x6bd76a
sub ecx, 0x6d
je 0x6bd730
sub ecx, 6
je 0x6bd73b
sub ecx, 5
je 0x6bd746
jmp 0x6bd76a
lea eax, [ebp - 0x1a8]
mov dword [ebp - 0x1b0], eax
jmp 0x6bd77a
mov edx, dword [ebp - 0x1b0]
or dword [edx], 0x80000
mov ecx, dword [ebp + 0x30]
or dword [ecx + 0x64], 0x400
jmp 0x6bd77a
mov eax, dword [ebp - 0x1b0]
or dword [eax], 1
jmp 0x6bd77a
mov edx, dword [ebp - 0x1b0]
or dword [edx], 2
jmp 0x6bd77a
mov ecx, dword [ebp - 0x1b0]
or dword [ecx], 4
jmp 0x6bd77a
mov eax, dword [ebp - 0x1b0]
or dword [eax], 8
jmp 0x6bd77a
mov edx, dword [ebp - 0x1b0]
or dword [edx], 0x200
jmp 0x6bd77a
mov ecx, dword [ebp - 0x1b0]
or dword [ecx], 0x40
jmp 0x6bd77a
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xc
dec dword [edi]
jmp 0x6be2aa
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
je 0x6bd794
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3a
jne 0x6bd6ca
mov ecx, dword [ebp - 0x48]
or ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a8]
not eax
and ecx, eax
mov dword [ebp - 0xbc], ecx
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
jne 0x6bd7fe
test byte [ebp - 0xbb], 2
setne al
and eax, 1
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
xor edx, 1
mov dword [ebp - 0x18], edx
test byte [ebp - 0xbc], 1
je 0x6bd7e1
mov ecx, 1
jmp 0x6bd7e3
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x48], eax
mov edx, dword [ebp + 8]
mov dword [edx], eax
xor ecx, ecx
mov dword [ebp - 0x74], ecx
jmp 0x6be2a3
mov esi, 0x83
inc dword [edi]
jmp 0x6bd83b
test byte [ebp - 0x47], 0x10
je 0x6bd814
mov esi, 0x83
jmp 0x6bd83b
mov eax, dword [ebp + 0x30]
inc dword [eax + 0x40]
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
shr ecx, 8
mov byte [ebx + 3], cl
mov ecx, dword [ebp + 0x30]
mov al, byte [ecx + 0x40]
and al, 0xff
mov byte [ebx + 4], al
mov dword [ebp - 0xc8], 2
mov edx, dword [ebp + 0x30]
inc dword [edx + 0x58]
mov ecx, dword [edx + 0x58]
cmp ecx, 0xfa
jle 0x6bd85a
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x52
jmp 0x6be2aa
cmp esi, 0x7d
jl 0x6bd885
cmp esi, 0x80
jg 0x6bd885
mov edx, dword [ebp + 0x30]
cmp dword [edx + 0x80], 0
je 0x6bd885
xor ecx, ecx
mov dword [ebp - 0x74], ecx
mov eax, dword [ebp + 0x30]
xor edx, edx
mov dword [eax + 0x80], edx
jmp 0x6bd897
mov dword [ebp - 0x74], ebx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x20]
sub eax, dword [edx + 0x10]
mov dword [ebp - 0x7c], eax
mov ecx, esi
mov byte [ebx], cl
mov dword [ebp - 0x5c], ebx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x68]
mov dword [ebp - 0x44], edx
xor edx, edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x50], edx
cmp dword [ebp + 0x34], 0
jne 0x6bd8c2
xor ecx, ecx
jmp 0x6bd8c5
lea ecx, [ebp - 0x50]
push ecx
lea ecx, [ebp - 0xd4]
mov eax, dword [ebp + 0x30]
cmp esi, 0x87
push eax
lea eax, [ebp - 0xcc]
mov edx, dword [ebp + 0x28]
push edx
push ecx
push eax
lea edx, [ebp - 0xd8]
push edx
lea ecx, [ebp - 0xd0]
push ecx
jne 0x6bd8f9
mov eax, 1
jmp 0x6bd8fb
xor eax, eax
add eax, dword [ebp + 0x2c]
cmp esi, 0x7f
push eax
mov edx, dword [ebp - 0xc8]
push edx
mov ecx, dword [ebp - 0xac]
push ecx
je 0x6bd91e
cmp esi, 0x80
je 0x6bd91e
xor ecx, ecx
jmp 0x6bd923
mov ecx, 1
push ecx
lea edx, [ebp - 0x5c]
mov eax, dword [ebp + 0x14]
push eax
push edi
push edx
mov ecx, dword [ebp - 0xbc]
push ecx
call fcn.006be2c4
add esp, 0x3c
test eax, eax
je 0x6be2aa
mov eax, dword [ebp + 0x30]
dec dword [eax + 0x58]
cmp esi, 0x81
jne 0x6bd963
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
cmp ecx, dword [ebp - 0xe4]
ja 0x6bd963
mov byte [ebx], 0x82
cmp esi, 0x7d
jl 0x6bd976
cmp esi, 0x80
jg 0x6bd976
mov eax, dword [ebp + 0x30]
dec dword [eax + 0x5c]
cmp esi, 0x87
jne 0x6bda29
cmp dword [ebp + 0x34], 0
jne 0x6bda29
mov dword [ebp - 0x1f4], ebx
xor edx, edx
mov dword [ebp - 0x1f8], edx
inc dword [ebp - 0x1f8]
xor eax, eax
mov edx, dword [ebp - 0x1f4]
mov ecx, dword [ebp - 0x1f4]
movzx edx, byte [edx + 2]
mov al, byte [ecx + 1]
shl eax, 8
or eax, edx
add dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0x1f4]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x78
jne 0x6bd99a
xor ecx, ecx
mov cl, byte [ebx + 3]
cmp ecx, 0x91
jne 0x6bd9fa
cmp dword [ebp - 0x1f8], 1
jle 0x6bd9f3
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x36
jmp 0x6be2aa
mov esi, 0x91
jmp 0x6bda29
cmp dword [ebp - 0x1f8], 2
jle 0x6bda11
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1b
jmp 0x6be2aa
cmp dword [ebp - 0x1f8], 1
jne 0x6bda29
or edx, 0xffffffff
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xd8], edx
mov eax, dword [edi]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x29
je 0x6bda42
mov esi, dword [ebp + 0x14]
mov dword [esi], 0xe
jmp 0x6be2aa
cmp dword [ebp + 0x34], 0
je 0x6bda93
mov eax, dword [ebp + 0x34]
mov edx, 0x7fffffeb
mov ecx, dword [ebp - 0x50]
add ecx, 0xfffffffa
sub edx, dword [eax]
cmp edx, ecx
jge 0x6bda6a
mov esi, dword [ebp + 0x14]
mov dword [esi], 0x14
jmp 0x6be2aa
mov edx, dword [ebp + 0x34]
mov eax, dword [ebp - 0x50]
add eax, 0xfffffffa
inc ebx
add dword [edx], eax
mov byte [ebx], 0
mov byte [ebx + 1], 3
add ebx, 2
mov byte [ebx], 0x78
inc ebx
mov byte [ebx], 0
mov byte [ebx + 1], 3
add ebx, 2
jmp 0x6be2a3
mov ebx, dword [ebp - 0x5c]
cmp esi, 0x91
je 0x6be2a3
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
xor eax, eax
mov edx, dword [ebp - 0x28]
cmp esi, 0x81
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x64], eax
jl 0x6bdb56
cmp dword [ebp - 0x24], 0xfffffffe
jne 0x6bdb05
cmp dword [ebp - 0xd8], 0
jl 0x6bdaf5
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x64], 1
jmp 0x6bdafc
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x38], 0xffffffff
jmp 0x6bdb32
cmp dword [ebp - 0xd8], 0
jl 0x6bdb32
cmp dword [ebp - 0xd4], 0
jge 0x6bdb32
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xcc], eax
mov edx, dword [ebp - 0xd8]
or edx, dword [ebp - 0x44]
mov dword [ebp - 0xd4], edx
cmp dword [ebp - 0xd4], 0
jl 0x6be2a3
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x28], eax
jmp 0x6be2a3
cmp esi, 0x7d
jne 0x6be2a3
cmp dword [ebp - 0xd4], 0
jl 0x6be2a3
cmp dword [ebp - 0xd8], 0
jl 0x6be2a3
mov edx, dword [ebp - 0xcc]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0x28], ecx
jmp 0x6be2a3
mov eax, dword [edi]
mov dword [ebp - 0x6c], eax
push 0
mov edx, dword [ebp - 0x48]
push edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x40]
lea ecx, [ebp - 0xe8]
push eax
mov edx, dword [ebp + 0x14]
push edx
push ecx
push edi
call fcn.006b63ec
add esp, 0x18
mov esi, eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x6be2aa
test esi, esi
jne 0x6bdbd3
mov esi, dword [ebp - 0xe8]
jmp 0x6bdf43
cmp dword [ebp - 0x24], 0xfffffffe
jne 0x6bdbea
cmp esi, 5
jle 0x6bdbea
cmp esi, 0x17
jge 0x6bdbea
mov dword [ebp - 0x24], 0xffffffff
mov eax, dword [ebp - 0x1c]
cmp esi, 0x1b
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x34], ecx
jne 0x6bdcdf
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x20]
mov eax, dword [ebp + 0x30]
sub edx, dword [eax + 0x10]
mov dword [ebp - 0x7c], edx
inc dword [edi]
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x3c
jne 0x6bdc2e
mov ecx, 0x3e
jmp 0x6bdc33
mov ecx, 0x27
mov dword [ebp - 0xdc], ecx
xor eax, eax
mov dword [ebp - 0xc8], eax
xor edx, edx
mov dword [ebp - 0xac], edx
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 1]
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x200], 0x2b
je 0x6bdc89
cmp dword [ebp - 0x200], 0x2d
je 0x6bdc89
cmp dword [ebp - 0x200], 0x30
jb 0x6bdc7a
cmp dword [ebp - 0x200], 0x39
jbe 0x6bdc89
mov dword [ebp - 0xa8], 1
jmp 0x6bcf2a
mov edx, dword [edi]
add edx, 2
mov dword [ebp - 0x1fc], edx
jmp 0x6bdc9c
inc dword [ebp - 0x1fc]
mov ecx, dword [ebp - 0x1fc]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x30
jl 0x6bdcba
mov edx, dword [ebp - 0x1fc]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x39
jle 0x6bdc96
mov al, byte [ebp - 0xdc]
mov edx, dword [ebp - 0x1fc]
cmp al, byte [edx]
je 0x6bdcd8
mov esi, dword [ebp + 0x14]
mov dword [esi], 0x39
jmp 0x6be2aa
inc dword [edi]
jmp 0x6bd3b7
cmp esi, 0x1c
jne 0x6bdd53
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3c
je 0x6bdd15
mov ecx, dword [edi]
movzx ecx, byte [ecx + 1]
cmp ecx, 0x27
je 0x6bdd15
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x7b
je 0x6bdd15
mov esi, dword [ebp + 0x14]
mov dword [esi], 0x45
jmp 0x6be2aa
xor eax, eax
mov dword [ebp - 0xa8], eax
inc dword [edi]
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x3c
jne 0x6bdd31
mov ecx, 0x3e
jmp 0x6bdd48
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x27
jne 0x6bdd43
mov ecx, 0x27
jmp 0x6bdd48
mov ecx, 0x7d
mov dword [ebp - 0xdc], ecx
jmp 0x6bcf2a
test esi, esi
jge 0x6bde40
neg esi
mov dword [ebp - 0xc0], esi
cmp dword [ebp - 0x24], 0xfffffffe
jne 0x6bdd70
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x74], ebx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x20]
mov eax, dword [ebp + 0x30]
sub edx, dword [eax + 0x10]
mov dword [ebp - 0x7c], edx
test byte [ebp - 0x48], 1
je 0x6bdd8c
mov dl, 0x72
jmp 0x6bdd8e
mov dl, 0x71
mov byte [ebx], dl
inc ebx
mov eax, dword [ebp - 0xc0]
sar eax, 8
mov byte [ebx], al
mov cl, byte [ebp - 0xc0]
and cl, 0xff
mov byte [ebx + 1], cl
add ebx, 2
cmp dword [ebp - 0xc0], 0x20
jge 0x6bddc3
mov ecx, dword [ebp - 0xc0]
mov eax, 1
shl eax, cl
jmp 0x6bddc8
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 - 0xc0]
jge 0x6bdde8
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0xc0]
mov dword [eax + 0x4c], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x204], eax
cmp dword [ebp - 0x204], 0
je 0x6be2a3
mov edx, dword [ebp - 0x204]
movzx ecx, word [edx + 4]
cmp ecx, dword [ebp - 0xc0]
jne 0x6bde24
mov eax, dword [ebp - 0x204]
mov word [eax + 6], 1
jmp 0x6be2a3
mov edx, dword [ebp - 0x204]
mov ecx, dword [edx]
mov dword [ebp - 0x204], ecx
cmp dword [ebp - 0x204], 0
jne 0x6bde01
jmp 0x6be2a3
cmp esi, 0xf
je 0x6bde4a
cmp esi, 0x10
jne 0x6bdec7
xor eax, eax
xor edx, edx
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x210], edx
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x210]
push ecx
push eax
lea edx, [ebp - 0x20c]
lea ecx, [ebp - 0x208]
push edx
push ecx
push edi
call fcn.006b6c7c
add esp, 0x14
test eax, eax
je 0x6be2aa
mov dword [ebp - 0x74], ebx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x20]
mov eax, dword [ebp + 0x30]
sub edx, dword [eax + 0x10]
mov dword [ebp - 0x7c], edx
cmp esi, 0x10
sete dl
and edx, 1
cmp edx, dword [ebp - 0x208]
je 0x6bdeab
mov cl, 0x10
jmp 0x6bdead
mov cl, 0xf
mov byte [ebx], cl
inc ebx
mov al, byte [ebp - 0x20c]
mov byte [ebx], al
inc ebx
mov dl, byte [ebp - 0x210]
mov byte [ebx], dl
inc ebx
jmp 0x6be2a3
cmp esi, 5
je 0x6bded6
cmp esi, 4
je 0x6bded6
cmp esi, 1
jne 0x6bdee9
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x48], 0
jne 0x6bdee9
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x48], 1
cmp esi, 0x1d
jl 0x6bdf08
cmp esi, 0x22
jg 0x6bdf08
mov edx, dword [edi]
inc edx
mov dword [ebp - 0x70], edx
mov ecx, dword [esi*4 + 0x86c0dc]
dec ecx
mov dword [edi], ecx
jmp 0x6be2a3
cmp esi, 5
jle 0x6bdf16
cmp esi, 0x17
jge 0x6bdf16
mov eax, ebx
jmp 0x6bdf18
xor eax, eax
mov dword [ebp - 0x74], eax
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x20]
sub ecx, dword [eax + 0x10]
mov dword [ebp - 0x7c], ecx
cmp dword [ebp - 0x80], 0
jne 0x6bdf39
cmp esi, 0xe
jne 0x6bdf39
mov dl, 0xd
jmp 0x6bdf3b
mov edx, esi
mov byte [ebx], dl
inc ebx
jmp 0x6be2a3
cmp dword [ebp - 0x80], 0
je 0x6bdf66
cmp esi, 0x7f
jbe 0x6bdf66
lea eax, [ebp - 0xf0]
push eax
push esi
call fcn.006d24b8
add esp, 8
mov dword [ebp - 0xe0], eax
jmp 0x6bdfca
mov ecx, esi
mov byte [ebp - 0xf0], cl
mov dword [ebp - 0xe0], 1
jmp 0x6bdfca
mov dword [ebp - 0xe0], 1
mov ecx, esi
mov byte [ebp - 0xf0], cl
cmp dword [ebp - 0x80], 0
je 0x6bdfca
cmp esi, 0xc0
jb 0x6bdfca
jmp 0x6bdfb5
inc dword [edi]
mov eax, dword [edi]
mov dl, byte [eax]
mov eax, dword [ebp - 0xe0]
mov byte [ebp + eax - 0xf0], dl
inc dword [ebp - 0xe0]
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
and ecx, 0xc0
cmp ecx, 0x80
je 0x6bdf9c
mov dword [ebp - 0x74], ebx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x20]
sub eax, dword [edx + 0x10]
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x80], 0
je 0x6be197
test byte [ebp - 0x48], 1
je 0x6be197
movzx esi, byte [ebp - 0xf0]
cmp esi, 0xc0
jb 0x6be133
test esi, 0x20
jne 0x6be023
and esi, 0x1f
xor eax, eax
mov al, byte [ebp - 0xef]
shl esi, 6
and eax, 0x3f
or esi, eax
jmp 0x6be133
test esi, 0x10
jne 0x6be053
xor edx, edx
and esi, 0xf
mov dl, byte [ebp - 0xef]
xor ecx, ecx
and edx, 0x3f
mov cl, byte [ebp - 0xee]
shl edx, 6
and ecx, 0x3f
shl esi, 0xc
or esi, edx
or esi, ecx
jmp 0x6be133
test esi, 8
jne 0x6be093
xor ecx, ecx
xor eax, eax
mov cl, byte [ebp - 0xef]
mov al, byte [ebp - 0xee]
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 - 0xed]
or esi, eax
and edx, 0x3f
or esi, edx
jmp 0x6be133
test esi, 4
jne 0x6be0e0
xor ecx, ecx
and esi, 3
mov cl, byte [ebp - 0xef]
xor eax, eax
and ecx, 0x3f
mov al, byte [ebp - 0xee]
shl ecx, 0x12
xor edx, edx
shl esi, 0x18
mov dl, byte [ebp - 0xed]
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 - 0xec]
and ecx, 0x3f
or esi, edx
or esi, ecx
jmp 0x6be133
xor eax, eax
and esi, 1
mov al, byte [ebp - 0xef]
xor edx, edx
and eax, 0x3f
mov dl, byte [ebp - 0xee]
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 - 0xed]
and ecx, 0x3f
mov al, byte [ebp - 0xec]
shl ecx, 0xc
or esi, edx
and eax, 0x3f
xor edx, edx
shl eax, 6
or esi, ecx
mov dl, byte [ebp - 0xeb]
or esi, eax
and edx, 0x3f
or esi, edx
mov ecx, esi
test ecx, ecx
jns 0x6be13c
add ecx, 0x7f
sar ecx, 7
xor eax, eax
mov al, byte [ecx + 0x87db48]
shl eax, 7
mov edx, esi
and edx, 0x8000007f
jns 0x6be159
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx ecx, word [eax*2 + 0x86f848]
xor eax, eax
mov al, byte [ecx*8 + 0x86e1cb]
mov esi, eax
test eax, eax
je 0x6be197
mov byte [ebx], 0x10
inc ebx
mov byte [ebx], 9
inc ebx
mov edx, esi
mov byte [ebx], dl
inc ebx
cmp dword [ebp - 0x24], 0xfffffffe
jne 0x6be2a3
or ecx, 0xffffffff
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x24], ecx
jmp 0x6be2a3
test byte [ebp - 0x48], 1
je 0x6be1a1
mov al, 0x1e
jmp 0x6be1a3
mov al, 0x1d
mov byte [ebx], al
inc ebx
xor esi, esi
lea eax, [ebp - 0xf0]
mov dword [ebp - 0x214], eax
cmp esi, dword [ebp - 0xe0]
jae 0x6be1d6
mov edx, dword [ebp - 0x214]
mov cl, byte [edx]
mov byte [ebx], cl
inc ebx
inc esi
inc dword [ebp - 0x214]
cmp esi, dword [ebp - 0xe0]
jb 0x6be1bc
xor ecx, ecx
mov cl, byte [ebp - 0xf0]
cmp ecx, 0xd
je 0x6be1f0
xor eax, eax
mov al, byte [ebp - 0xf0]
cmp eax, 0xa
jne 0x6be1fa
mov edx, dword [ebp + 0x30]
or dword [edx + 0x64], 0x800
cmp dword [ebp - 0x24], 0xfffffffe
jne 0x6be268
mov dword [ebp - 0x38], 0xffffffff
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0xe0], 1
je 0x6be222
cmp dword [ebp - 0x3c], 0
jne 0x6be25d
xor edx, edx
mov dl, byte [ebp - 0xf0]
or edx, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], edx
xor ecx, ecx
mov cl, byte [ebp - 0xf0]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0xe0], 1
je 0x6be2a3
xor edx, edx
mov dl, byte [ebx - 1]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x68]
mov dword [ebp - 0x28], eax
jmp 0x6be2a3
or edx, 0xffffffff
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], edx
jmp 0x6be2a3
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0xe0], 1
je 0x6be28f
cmp dword [ebp - 0x3c], 0
jne 0x6be2a3
xor edx, edx
mov dl, byte [ebx - 1]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x68]
or eax, dword [ebp - 0x3c]
mov dword [ebp - 0x28], eax
inc dword [edi]
jmp 0x6b96eb
mov edx, dword [ebp + 0x10]
mov eax, dword [edi]
mov dword [edx], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret