Function at 0x6b19bc
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffff6c
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [esp]
mov edx, dword [eax + 0x10]
mov dword [esp + 0xc], edx
mov ecx, dword [esp]
mov eax, dword [ecx + 0x34]
mov dword [esp + 0x10], eax
mov edx, dword [esp]
mov ecx, dword [edx + 0x38]
mov dword [esp + 0x14], ecx
mov eax, dword [esp]
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x18], edx
mov ecx, dword [esp]
mov eax, dword [ecx + 0x40]
mov dword [esp + 0x1c], eax
mov edx, dword [esp]
mov ecx, dword [edx + 0x44]
mov edx, 1
mov dword [esp + 0x20], ecx
mov eax, dword [esp]
mov ecx, dword [eax + 8]
shl edx, cl
dec edx
mov dword [esp + 0x24], edx
mov edx, 1
mov eax, dword [esp]
mov ecx, dword [eax + 4]
shl edx, cl
dec edx
mov dword [esp + 0x28], edx
mov eax, dword [esp]
mov edx, dword [eax]
mov dword [esp + 0x2c], edx
mov ecx, dword [esp]
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x30], eax
mov edx, dword [esp]
mov ecx, dword [edx + 0x28]
mov dword [esp + 0x34], ecx
mov eax, dword [esp]
mov edx, dword [eax + 0x24]
mov dword [esp + 0x38], edx
mov ecx, dword [esp]
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x3c], eax
xor eax, eax
mov edx, dword [esp]
mov ecx, dword [edx + 0x30]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
mov edx, dword [esp]
mov ecx, dword [edx + 0x18]
mov dword [esp + 0x48], ecx
mov eax, dword [esp]
mov esi, dword [eax + 0x1c]
mov eax, dword [esp]
mov eax, dword [eax + 0x20]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
and edx, ecx
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
shl edx, 4
mov edi, dword [esp + 0x50]
add edx, edx
add edi, edi
add edx, ecx
add edx, edi
cmp esi, 0x1000000
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x4c]
movzx edx, word [edx]
jae 0x6b1ad3
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx edi, byte [ecx]
shl esi, 8
or eax, edi
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b1cf1
mov esi, ecx
mov ecx, 0x800
sub ecx, edx
shr ecx, 5
add cx, dx
mov edx, dword [esp + 0x4c]
mov word [edx], cx
mov edx, dword [esp + 0xc]
add edx, 0xe6c
mov dword [esp + 0x4c], edx
mov ecx, dword [esp + 0x40]
test ecx, ecx
jne 0x6b1b17
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x6b1b5d
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x28]
and edx, ebx
mov ecx, dword [esp + 0x2c]
shl edx, cl
mov ebx, dword [esp + 0x2c]
mov ecx, 8
sub ecx, ebx
mov ebx, dword [esp + 0x38]
test ebx, ebx
jne 0x6b1b40
mov ebx, dword [esp + 0x34]
jmp 0x6b1b44
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x30]
movzx ebx, byte [edi + ebx - 1]
sar ebx, cl
add edx, ebx
shl edx, 8
lea edx, [edx + edx*2]
add edx, edx
add dword [esp + 0x4c], edx
mov ecx, dword [esp + 0x10]
cmp ecx, 7
jae 0x6b1bda
mov edi, 1
mov edx, dword [esp + 0x4c]
movzx edx, word [edx + edi*2]
cmp esi, 0x1000000
jae 0x6b1b8e
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx ecx, byte [ecx]
shl esi, 8
or eax, ecx
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b1bb5
mov ebx, 0x800
mov esi, ecx
sub ebx, edx
mov ecx, dword [esp + 0x4c]
shr ebx, 5
add bx, dx
mov word [ecx + edi*2], bx
add edi, edi
jmp 0x6b1bcd
sub esi, ecx
sub eax, ecx
mov ecx, edx
shr ecx, 5
sub dx, cx
mov ecx, dword [esp + 0x4c]
mov word [ecx + edi*2], dx
lea edi, [edi + edi + 1]
cmp edi, 0x100
jb 0x6b1b6b
jmp 0x6b1cc2
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
sub edx, ecx
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp edi, ecx
jae 0x6b1bf6
mov edi, dword [esp + 0x34]
jmp 0x6b1bf8
xor edi, edi
mov ecx, dword [esp]
add edx, edi
mov edi, dword [ecx + 0x14]
movzx edx, byte [edi + edx]
mov dword [esp + 0x54], edx
mov edi, 1
mov dword [esp + 0x58], pe_nt_image_headers32
shl dword [esp + 0x54], 1
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
and edx, ecx
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x58]
add edx, edx
mov ecx, dword [esp + 0x4c]
add edx, ecx
mov ecx, dword [esp + 0x5c]
add ecx, ecx
add edx, ecx
mov ecx, edi
add ecx, ecx
add edx, ecx
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x60]
movzx edx, word [edx]
cmp esi, 0x1000000
jae 0x6b1c67
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx ecx, byte [ecx]
shl esi, 8
or eax, ecx
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b1c97
mov esi, ecx
mov ecx, 0x800
sub ecx, edx
shr ecx, 5
add cx, dx
mov edx, dword [esp + 0x60]
mov word [edx], cx
add edi, edi
mov edx, dword [esp + 0x5c]
not edx
and dword [esp + 0x58], edx
jmp 0x6b1cb6
sub esi, ecx
sub eax, ecx
mov ecx, edx
shr ecx, 5
sub dx, cx
mov ecx, dword [esp + 0x60]
mov word [ecx], dx
lea edi, [edi + edi + 1]
mov edx, dword [esp + 0x5c]
and dword [esp + 0x58], edx
cmp edi, 0x100
jb 0x6b1c15
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
mov ebx, edi
mov byte [ecx + edx], bl
inc dword [esp + 0x38]
inc dword [esp + 0x3c]
mov edx, dword [esp + 0x10]
xor ecx, ecx
mov cl, byte [edx + 0x70ae0c]
mov dword [esp + 0x10], ecx
jmp 0x6b2951
mov edi, edx
sub esi, ecx
shr edi, 5
sub eax, ecx
sub dx, di
mov ecx, dword [esp + 0x4c]
mov word [ecx], dx
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
add edx, edx
add edx, edi
add edx, 0x180
cmp esi, 0x1000000
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x4c]
movzx edx, word [edx]
jae 0x6b1d3c
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx edi, byte [ecx]
shl esi, 8
or eax, edi
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b1d76
mov esi, ecx
mov ecx, 0x800
sub ecx, edx
shr ecx, 5
add cx, dx
mov edx, dword [esp + 0x4c]
mov word [edx], cx
add dword [esp + 0x10], 0xc
mov edx, dword [esp + 0xc]
add edx, 0x664
mov dword [esp + 0x4c], edx
jmp 0x6b2029
sub esi, ecx
sub eax, ecx
mov ecx, edx
mov edi, dword [esp + 0x4c]
shr ecx, 5
sub dx, cx
mov word [edi], dx
mov edx, dword [esp + 0x40]
test edx, edx
jne 0x6b1da3
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jne 0x6b1da3
mov eax, 1
jmp 0x6b29f1
mov edx, dword [esp + 0x10]
add edx, edx
mov ecx, dword [esp + 0xc]
add edx, ecx
add edx, 0x198
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x4c]
movzx edx, word [edx]
cmp esi, 0x1000000
jae 0x6b1ddb
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx edi, byte [ecx]
shl esi, 8
or eax, edi
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b1ed6
mov esi, ecx
mov ecx, 0x800
sub ecx, edx
shr ecx, 5
add cx, dx
mov edx, dword [esp + 0x4c]
mov word [edx], cx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
shl edx, 4
mov edi, dword [esp + 0x50]
add edx, edx
add edi, edi
add edx, ecx
add edx, edi
add edx, 0x1e0
cmp esi, 0x1000000
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x4c]
movzx edx, word [edx]
jae 0x6b1e44
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx edi, byte [ecx]
shl esi, 8
or eax, edi
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b1ebe
mov esi, ecx
mov ecx, 0x800
sub ecx, edx
shr ecx, 5
add cx, dx
mov edx, dword [esp + 0x4c]
mov word [edx], cx
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
sub edx, ecx
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp edi, ecx
jae 0x6b1e82
mov edi, dword [esp + 0x34]
jmp 0x6b1e84
xor edi, edi
add edx, edi
mov ecx, dword [esp + 0x30]
mov dl, byte [ecx + edx]
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
mov byte [edi + ecx], dl
inc dword [esp + 0x38]
inc dword [esp + 0x3c]
mov edx, dword [esp + 0x10]
cmp edx, 7
jae 0x6b1eb0
mov edx, 9
jmp 0x6b1eb5
mov edx, 0xb
mov dword [esp + 0x10], edx
jmp 0x6b2951
sub esi, ecx
sub eax, ecx
mov ecx, edx
mov edi, dword [esp + 0x4c]
shr ecx, 5
sub dx, cx
mov word [edi], dx
jmp 0x6b2002
sub esi, ecx
sub eax, ecx
mov ecx, edx
mov edi, dword [esp + 0x4c]
shr ecx, 5
sub dx, cx
mov word [edi], dx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
add edx, edx
add edx, ecx
add edx, 0x1b0
cmp esi, 0x1000000
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x4c]
movzx edx, word [edx]
jae 0x6b1f21
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx edi, byte [ecx]
shl esi, 8
or eax, edi
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b1f50
mov esi, ecx
mov ecx, 0x800
sub ecx, edx
shr ecx, 5
add cx, dx
mov edx, dword [esp + 0x4c]
mov word [edx], cx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x64], edx
jmp 0x6b1ff2
sub esi, ecx
sub eax, ecx
mov ecx, edx
mov edi, dword [esp + 0x4c]
shr ecx, 5
sub dx, cx
mov word [edi], dx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
add edx, edx
add edx, ecx
add edx, 0x1c8
cmp esi, 0x1000000
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x4c]
movzx edx, word [edx]
jae 0x6b1f9b
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx edi, byte [ecx]
shl esi, 8
or eax, edi
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b1fc7
mov esi, ecx
mov ecx, 0x800
sub ecx, edx
shr ecx, 5
add cx, dx
mov edx, dword [esp + 0x4c]
mov word [edx], cx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x64], edx
jmp 0x6b1fea
sub esi, ecx
sub eax, ecx
mov ecx, edx
mov edi, dword [esp + 0x4c]
shr ecx, 5
sub dx, cx
mov word [edi], dx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x64], edx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x10]
cmp ecx, 7
jae 0x6b2012
mov edx, 8
jmp 0x6b2017
mov edx, 0xb
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0xc]
add ecx, 0xa68
mov dword [esp + 0x4c], ecx
mov ebx, dword [esp + 0x4c]
movzx edx, word [ebx]
cmp esi, 0x1000000
jae 0x6b204b
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx ecx, byte [ecx]
shl esi, 8
or eax, ecx
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b208e
mov esi, ecx
mov ecx, 0x800
sub ecx, edx
shr ecx, 5
add cx, dx
mov word [ebx], cx
mov ebx, dword [esp + 0x50]
shl ebx, 3
add ebx, ebx
mov edx, dword [esp + 0x4c]
add ebx, edx
add ebx, 4
xor ecx, ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], 8
jmp 0x6b2130
sub esi, ecx
sub eax, ecx
mov ecx, edx
shr ecx, 5
sub dx, cx
mov word [ebx], dx
mov ebx, dword [esp + 0x4c]
add ebx, 2
movzx edx, word [ebx]
cmp esi, 0x1000000
jae 0x6b20c2
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx ecx, byte [ecx]
shl esi, 8
or eax, ecx
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b2107
mov esi, ecx
mov ecx, 0x800
sub ecx, edx
shr ecx, 5
add cx, dx
mov word [ebx], cx
mov ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
shl ebx, 3
mov dword [esp + 0x6c], 8
add ebx, ebx
add ebx, edx
mov dword [esp + 0x68], 8
add ebx, 0x104
jmp 0x6b2130
sub esi, ecx
sub eax, ecx
mov ecx, edx
shr ecx, 5
sub dx, cx
mov word [ebx], dx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x6c], 0x10
mov dword [esp + 0x68], pe_nt_image_headers32
add ebx, 0x204
mov dword [esp + 0x44], 1
mov edx, dword [esp + 0x44]
movzx edx, word [ebx + edx*2]
cmp esi, 0x1000000
jae 0x6b215b
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx ecx, byte [ecx]
shl esi, 8
or eax, ecx
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b2188
mov edi, 0x800
mov esi, ecx
sub edi, edx
mov ecx, dword [esp + 0x44]
shr edi, 5
add di, dx
mov word [ebx + ecx*2], di
mov edx, dword [esp + 0x44]
add dword [esp + 0x44], edx
jmp 0x6b21ab
sub esi, ecx
sub eax, ecx
mov ecx, edx
shr ecx, 5
sub dx, cx
mov ecx, dword [esp + 0x44]
mov word [ebx + ecx*2], dx
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x44]
add edx, ecx
inc edx
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x68]
cmp edx, ecx
jb 0x6b2138
mov edx, dword [esp + 0x68]
sub dword [esp + 0x44], edx
mov edx, dword [esp + 0x6c]
add dword [esp + 0x44], edx
mov ecx, dword [esp + 0x10]
cmp ecx, 0xc
jb 0x6b2872
mov edx, dword [esp + 0x44]
cmp edx, 4
jae 0x6b21e3
mov ecx, dword [esp + 0x44]
jmp 0x6b21e8
mov ecx, 3
shl ecx, 6
add ecx, ecx
mov edx, dword [esp + 0xc]
add ecx, edx
add ecx, 0x360
mov dword [esp + 0x4c], ecx
mov edi, 1
mov edx, dword [esp + 0x4c]
movzx edx, word [edx + edi*2]
cmp esi, 0x1000000
jae 0x6b2225
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx ecx, byte [ecx]
shl esi, 8
or eax, ecx
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b224c
mov ebx, 0x800
mov esi, ecx
sub ebx, edx
mov ecx, dword [esp + 0x4c]
shr ebx, 5
add bx, dx
mov word [ecx + edi*2], bx
add edi, edi
jmp 0x6b2264
sub esi, ecx
sub eax, ecx
mov ecx, edx
shr ecx, 5
sub dx, cx
mov ecx, dword [esp + 0x4c]
mov word [ecx + edi*2], dx
lea edi, [edi + edi + 1]
mov edx, dword [esp + 0x4c]
movzx edx, word [edx + edi*2]
cmp esi, 0x1000000
jae 0x6b2287
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx ecx, byte [ecx]
shl esi, 8
or eax, ecx
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b22ae
mov ebx, 0x800
mov esi, ecx
sub ebx, edx
mov ecx, dword [esp + 0x4c]
shr ebx, 5
add bx, dx
mov word [ecx + edi*2], bx
add edi, edi
jmp 0x6b22c6
sub esi, ecx
sub eax, ecx
mov ecx, edx
shr ecx, 5
sub dx, cx
mov ecx, dword [esp + 0x4c]
mov word [ecx + edi*2], dx
lea edi, [edi + edi + 1]
mov edx, dword [esp + 0x4c]
movzx edx, word [edx + edi*2]
cmp esi, 0x1000000
jae 0x6b22e9
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx ecx, byte [ecx]
shl esi, 8
or eax, ecx
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b2310
mov ebx, 0x800
mov esi, ecx
sub ebx, edx
mov ecx, dword [esp + 0x4c]
shr ebx, 5
add bx, dx
mov word [ecx + edi*2], bx
add edi, edi
jmp 0x6b2328
sub esi, ecx
sub eax, ecx
mov ecx, edx
shr ecx, 5
sub dx, cx
mov ecx, dword [esp + 0x4c]
mov word [ecx + edi*2], dx
lea edi, [edi + edi + 1]
mov edx, dword [esp + 0x4c]
movzx edx, word [edx + edi*2]
cmp esi, 0x1000000
jae 0x6b234b
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx ecx, byte [ecx]
shl esi, 8
or eax, ecx
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b2372
mov ebx, 0x800
mov esi, ecx
sub ebx, edx
mov ecx, dword [esp + 0x4c]
shr ebx, 5
add bx, dx
mov word [ecx + edi*2], bx
add edi, edi
jmp 0x6b238a
sub esi, ecx
sub eax, ecx
mov ecx, edx
shr ecx, 5
sub dx, cx
mov ecx, dword [esp + 0x4c]
mov word [ecx + edi*2], dx
lea edi, [edi + edi + 1]
mov edx, dword [esp + 0x4c]
movzx edx, word [edx + edi*2]
cmp esi, 0x1000000
jae 0x6b23ad
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx ecx, byte [ecx]
shl esi, 8
or eax, ecx
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b23d4
mov ebx, 0x800
mov esi, ecx
sub ebx, edx
mov ecx, dword [esp + 0x4c]
shr ebx, 5
add bx, dx
mov word [ecx + edi*2], bx
add edi, edi
jmp 0x6b23ec
sub esi, ecx
sub eax, ecx
mov ecx, edx
shr ecx, 5
sub dx, cx
mov ecx, dword [esp + 0x4c]
mov word [ecx + edi*2], dx
lea edi, [edi + edi + 1]
mov edx, dword [esp + 0x4c]
movzx edx, word [edx + edi*2]
cmp esi, 0x1000000
jae 0x6b240f
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx ecx, byte [ecx]
shl esi, 8
or eax, ecx
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b2436
mov ebx, 0x800
mov esi, ecx
sub ebx, edx
mov ecx, dword [esp + 0x4c]
shr ebx, 5
add bx, dx
mov word [ecx + edi*2], bx
add edi, edi
jmp 0x6b244e
sub esi, ecx
sub eax, ecx
mov ecx, edx
shr ecx, 5
sub dx, cx
mov ecx, dword [esp + 0x4c]
mov word [ecx + edi*2], dx
lea edi, [edi + edi + 1]
sub edi, 0x40
cmp edi, 4
jb 0x6b280c
mov dword [esp + 0x70], edi
mov edx, edi
shr edx, 1
dec edx
mov dword [esp + 0x74], edx
and edi, 1
or edi, 2
mov ecx, dword [esp + 0x70]
cmp ecx, 0xe
jae 0x6b2545
mov ecx, dword [esp + 0x74]
shl edi, cl
mov edx, edi
mov ecx, dword [esp + 0xc]
add edx, edx
add edx, ecx
mov ecx, dword [esp + 0x70]
add ecx, ecx
add edx, 0x560
sub edx, ecx
add edx, 0xfffffffe
mov dword [esp + 0x4c], edx
mov dword [esp + 0x78], 1
mov dword [esp + 0x7c], 1
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x7c]
movzx edx, word [edx + ecx*2]
cmp esi, 0x1000000
jae 0x6b24d6
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx ecx, byte [ecx]
shl esi, 8
or eax, ecx
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b2507
mov ebp, 0x800
mov esi, ecx
sub ebp, edx
mov ecx, dword [esp + 0x4c]
shr ebp, 5
mov ebx, dword [esp + 0x7c]
add bp, dx
mov word [ecx + ebx*2], bp
mov edx, dword [esp + 0x7c]
add dword [esp + 0x7c], edx
jmp 0x6b2532
sub esi, ecx
sub eax, ecx
mov ecx, edx
mov ebx, dword [esp + 0x7c]
shr ecx, 5
sub dx, cx
mov ecx, dword [esp + 0x4c]
mov word [ecx + ebx*2], dx
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x7c]
add edx, ecx
inc edx
mov dword [esp + 0x7c], edx
or edi, dword [esp + 0x78]
shl dword [esp + 0x78], 1
dec dword [esp + 0x74]
jne 0x6b24af
jmp 0x6b280c
sub dword [esp + 0x74], 4
cmp esi, 0x1000000
jae 0x6b2566
mov edx, dword [esp + 0x48]
xor ecx, ecx
shl eax, 8
shl esi, 8
mov cl, byte [edx]
or eax, ecx
inc dword [esp + 0x48]
shr esi, 1
sub eax, esi
xor ecx, ecx
mov edx, eax
add edi, edi
shr edx, 0x1f
sub ecx, edx
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x80]
add edi, edx
and ecx, esi
inc edi
add eax, ecx
dec dword [esp + 0x74]
jne 0x6b254a
mov edx, dword [esp + 0xc]
add edx, 0x644
shl edi, 4
mov dword [esp + 0x4c], edx
mov dword [esp + 0x84], 1
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x84]
movzx edx, word [ecx + edx*2]
cmp esi, 0x1000000
jae 0x6b25dd
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx ecx, byte [ecx]
shl esi, 8
or eax, ecx
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b2617
mov ebp, 0x800
mov esi, ecx
sub ebp, edx
mov ecx, dword [esp + 0x4c]
shr ebp, 5
mov ebx, dword [esp + 0x84]
add bp, dx
mov word [ecx + ebx*2], bp
mov edx, dword [esp + 0x84]
add dword [esp + 0x84], edx
jmp 0x6b264d
sub esi, ecx
sub eax, ecx
mov ecx, edx
mov ebx, dword [esp + 0x84]
shr ecx, 5
sub dx, cx
mov ecx, dword [esp + 0x4c]
mov word [ecx + ebx*2], dx
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x84]
add edx, ecx
inc edx
or edi, 1
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x84]
movzx edx, word [edx + ecx*2]
cmp esi, 0x1000000
jae 0x6b2677
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx ecx, byte [ecx]
shl esi, 8
or eax, ecx
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b26b1
mov ebp, 0x800
mov esi, ecx
sub ebp, edx
mov ecx, dword [esp + 0x4c]
shr ebp, 5
mov ebx, dword [esp + 0x84]
add bp, dx
mov word [ecx + ebx*2], bp
mov edx, dword [esp + 0x84]
add dword [esp + 0x84], edx
jmp 0x6b26e7
sub esi, ecx
sub eax, ecx
mov ecx, edx
mov ebx, dword [esp + 0x84]
shr ecx, 5
sub dx, cx
mov ecx, dword [esp + 0x4c]
mov word [ecx + ebx*2], dx
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x84]
add edx, ecx
inc edx
or edi, 2
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x84]
movzx edx, word [edx + ecx*2]
cmp esi, 0x1000000
jae 0x6b2711
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx ecx, byte [ecx]
shl esi, 8
or eax, ecx
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b274b
mov ebp, 0x800
mov esi, ecx
sub ebp, edx
mov ecx, dword [esp + 0x4c]
shr ebp, 5
mov ebx, dword [esp + 0x84]
add bp, dx
mov word [ecx + ebx*2], bp
mov edx, dword [esp + 0x84]
add dword [esp + 0x84], edx
jmp 0x6b2781
sub esi, ecx
sub eax, ecx
mov ecx, edx
mov ebx, dword [esp + 0x84]
shr ecx, 5
sub dx, cx
mov ecx, dword [esp + 0x4c]
mov word [ecx + ebx*2], dx
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x84]
add edx, ecx
inc edx
or edi, 4
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x84]
movzx edx, word [edx + ecx*2]
cmp esi, 0x1000000
jae 0x6b27ab
mov ecx, dword [esp + 0x48]
shl eax, 8
movzx ecx, byte [ecx]
shl esi, 8
or eax, ecx
inc dword [esp + 0x48]
mov ecx, esi
shr ecx, 0xb
imul ecx, edx
cmp ecx, eax
jbe 0x6b27d7
mov ebp, 0x800
mov esi, ecx
sub ebp, edx
mov ecx, dword [esp + 0x4c]
shr ebp, 5
mov ebx, dword [esp + 0x84]
add bp, dx
mov word [ecx + ebx*2], bp
jmp 0x6b27f5
sub esi, ecx
sub eax, ecx
mov ecx, edx
mov ebx, dword [esp + 0x84]
shr ecx, 5
sub dx, cx
mov ecx, dword [esp + 0x4c]
or edi, 8
mov word [ecx + ebx*2], dx
cmp edi, 0xffffffff
jne 0x6b280c
add dword [esp + 0x44], 0x112
sub dword [esp + 0x10], 0xc
jmp 0x6b296d
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
lea ecx, [edi + 1]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x40]
test edx, edx
jne 0x6b2847
mov ecx, dword [esp + 0x3c]
cmp edi, ecx
jb 0x6b2859
mov eax, 1
jmp 0x6b29f1
mov edx, dword [esp + 0x40]
cmp edi, edx
jb 0x6b2859
mov eax, 1
jmp 0x6b29f1
mov ecx, dword [esp + 0x10]
cmp ecx, 0x13
jae 0x6b2869
mov edx, 7
jmp 0x6b286e
mov edx, 0xa
mov dword [esp + 0x10], edx
add dword [esp + 0x44], 2
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x38]
cmp ecx, edx
jne 0x6b288d
mov eax, 1
jmp 0x6b29f1
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x38]
sub ecx, edx
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x44]
cmp ecx, edx
jae 0x6b28b6
mov edx, dword [esp + 0x88]
jmp 0x6b28ba
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x14]
sub ecx, ebx
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x14]
cmp ebx, edi
jae 0x6b28d6
mov ebx, dword [esp + 0x34]
jmp 0x6b28d8
xor ebx, ebx
add ecx, ebx
add dword [esp + 0x3c], edx
sub dword [esp + 0x44], edx
lea ebx, [edx + ecx]
mov edi, dword [esp + 0x34]
cmp ebx, edi
ja 0x6b292d
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
add edi, ebx
mov ebx, dword [esp + 0x38]
sub ecx, ebx
mov dword [esp + 0x8c], ecx
mov ecx, edx
add ecx, edi
mov dword [esp + 0x90], ecx
add dword [esp + 0x38], edx
mov edx, dword [esp + 0x8c]
mov dl, byte [edi + edx]
mov byte [edi], dl
inc edi
mov ecx, dword [esp + 0x90]
cmp edi, ecx
jne 0x6b2913
jmp 0x6b2951
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0x38]
mov bl, byte [ebx + ecx]
inc ecx
mov byte [edi + ebp], bl
inc dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
cmp ecx, ebx
jne 0x6b294e
xor ecx, ecx
dec edx
jne 0x6b292d
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 4]
cmp edx, edi
jae 0x6b296d
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 8]
cmp edx, ecx
jb 0x6b1a88
cmp esi, 0x1000000
jae 0x6b2989
mov edx, dword [esp + 0x48]
xor ecx, ecx
shl eax, 8
shl esi, 8
mov cl, byte [edx]
or eax, ecx
inc dword [esp + 0x48]
mov edx, dword [esp]
mov ecx, dword [esp + 0x48]
mov dword [edx + 0x18], ecx
mov edx, dword [esp]
mov dword [edx + 0x1c], esi
mov ecx, dword [esp]
mov dword [ecx + 0x20], eax
mov eax, dword [esp]
mov edx, dword [esp + 0x44]
mov dword [eax + 0x48], edx
mov eax, dword [esp]
mov ecx, dword [esp + 0x38]
mov dword [eax + 0x24], ecx
mov eax, dword [esp]
mov edx, dword [esp + 0x3c]
mov dword [eax + 0x2c], edx
mov ecx, dword [esp]
mov ebx, dword [esp + 0x14]
mov dword [ecx + 0x38], ebx
mov eax, dword [esp]
mov edx, dword [esp + 0x18]
mov dword [eax + 0x3c], edx
mov ecx, dword [esp]
mov ebx, dword [esp + 0x1c]
mov dword [ecx + 0x40], ebx
mov eax, dword [esp]
mov edx, dword [esp + 0x20]
mov dword [eax + 0x44], edx
xor eax, eax
mov ecx, dword [esp]
mov ebx, dword [esp + 0x10]
mov dword [ecx + 0x34], ebx
add esp, 0x94
pop ebp
pop edi
pop esi
pop ebx
ret