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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffed4
xor eax, eax
xor edx, edx
xor ecx, ecx
push ebx
push esi
push edi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x28], ecx
mov byte [ebp - 0x29], 0
mov byte [ebp - 0x2a], 0
mov byte [ebp - 0x2b], 0
mov byte [ebp - 0x2c], 0
xor eax, eax
xor edx, edx
mov dword [ebp - 0x34], eax
xor eax, eax
mov esi, dword [ebp + 0x10]
lea ebx, [ebp - 0x12c]
add esi, dword [ebp + 0x18]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], edx
lea ecx, [esi - 1]
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], 0
jne 0x6d08e5
cmp dword [ebp + 0xc], 0
jne 0x6d08e5
cmp dword [ebp + 0x10], 0
jne 0x6d08e5
cmp dword [ebp + 0x14], 0xfffffc19
jne 0x6d08e5
cmp dword [ebp + 0x18], 0xfffffc19
jne 0x6d08e5
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call fcn.006bfd08
add esp, 0x1c
jmp 0x6d165b
test dword [ebp + 0x1c], 0xe20f5a6f
je 0x6d08f8
mov eax, 0xfffffffd
jmp 0x6d165b
cmp dword [ebp - 0x4c], 0
je 0x6d0910
cmp dword [ebp + 0x10], 0
je 0x6d0910
cmp dword [ebp + 0x20], 0
jne 0x6d091a
cmp dword [ebp + 0x24], 0
jle 0x6d091a
mov eax, 0xfffffffe
jmp 0x6d165b
cmp dword [ebp + 0x24], 0
jge 0x6d092a
mov eax, 0xfffffff1
jmp 0x6d165b
cmp dword [ebp + 0x14], 0
jge 0x6d093a
mov eax, 0xffffffe0
jmp 0x6d165b
cmp dword [ebp + 0x18], 0
jl 0x6d0948
mov edx, dword [ebp + 0x18]
cmp edx, dword [ebp + 0x14]
jle 0x6d0952
mov eax, 0xffffffe8
jmp 0x6d165b
mov edx, dword [ebp - 0x4c]
cmp dword [edx], 0x50435245
je 0x6d097c
mov ecx, dword [ebp - 0x4c]
cmp dword [ecx], 0x45524350
jne 0x6d0972
mov eax, 0xffffffe3
jmp 0x6d165b
mov eax, 0xfffffffc
jmp 0x6d165b
mov edx, dword [ebp - 0x4c]
test byte [edx + 0xc], 1
jne 0x6d098f
mov eax, 0xffffffe4
jmp 0x6d165b
mov edx, dword [ebp - 0x4c]
test byte [edx + 9], 8
setne cl
and ecx, 1
mov dword [ebx + 0x4c], ecx
mov dword [ebp - 0x20], ecx
test byte [ebp + 0x1f], 8
je 0x6d09af
mov eax, 2
jmp 0x6d09be
test byte [ebp + 0x1d], 0x80
je 0x6d09bc
mov eax, 1
jmp 0x6d09be
xor eax, eax
mov dword [ebx + 0x88], eax
cmp dword [ebp - 0x20], 0
je 0x6d0a5e
test byte [ebp + 0x1d], 0x20
jne 0x6d0a5e
lea edx, [ebp - 0x50]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.006d2508
add esp, 0xc
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
je 0x6d0a2f
cmp dword [ebp + 0x24], 2
jl 0x6d0a0c
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0x50]
mov dword [eax], edx
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x54]
mov dword [ecx + 4], eax
cmp dword [ebp - 0x54], 5
jg 0x6d0a25
cmp dword [ebx + 0x88], 1
jle 0x6d0a25
mov eax, 0xffffffe7
jmp 0x6d165b
mov eax, 0xfffffff6
jmp 0x6d165b
cmp dword [ebp + 0x18], 0
jle 0x6d0a5e
mov edx, dword [ebp + 0x18]
cmp edx, dword [ebp + 0x14]
jge 0x6d0a5e
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 0x18]
xor eax, eax
mov al, byte [ecx + edi]
and eax, 0xc0
cmp eax, 0x80
jne 0x6d0a5e
mov eax, 0xfffffff5
jmp 0x6d165b
mov edx, dword [ebp - 0x4c]
movzx ecx, word [edx + 0x22]
add ecx, dword [ebp - 0x4c]
mov dword [ebx + 0x30], ecx
mov ecx, dword [ebp - 0x4c]
movzx eax, word [ecx + 0x26]
mov dword [ebx + 0x20], eax
xor eax, eax
mov edx, dword [ebp - 0x4c]
movzx ecx, word [edx + 0x24]
mov dword [ebx + 0x24], ecx
mov dword [ebp - 0x48], eax
mov dword [ebx + 4], 0x989680
mov dword [ebx + 8], 0x989680
xor edx, edx
mov dword [ebx + 0xa8], edx
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x30], eax
cmp dword [ebp + 0xc], 0
je 0x6d0aff
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx]
mov dword [ebp - 0x58], ecx
test byte [ebp - 0x58], 1
je 0x6d0ac0
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 4]
mov dword [ebp - 0x48], edx
test byte [ebp - 0x58], 2
je 0x6d0acf
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 8]
mov dword [ebx + 4], eax
test byte [ebp - 0x58], 0x10
je 0x6d0ade
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x14]
mov dword [ebx + 8], ecx
test byte [ebp - 0x58], 4
je 0x6d0af0
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0xc]
mov dword [ebx + 0xa8], edx
test byte [ebp - 0x58], 8
je 0x6d0aff
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x4c]
test byte [edx + 0xd], 0x20
je 0x6d0b1c
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x6d0b1c
mov edx, dword [ebp - 0x4c]
mov ecx, dword [edx + 0x10]
mov dword [ebx + 4], ecx
mov eax, dword [ebp - 0x4c]
test byte [eax + 0xd], 0x40
je 0x6d0b39
mov edx, dword [ebp - 0x4c]
mov ecx, dword [edx + 0x14]
cmp ecx, dword [ebx + 8]
jae 0x6d0b39
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax + 0x14]
mov dword [ebx + 8], edx
cmp dword [ebp - 0x30], 0
jne 0x6d0b46
mov dword [ebp - 0x30], 0x87fd48
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx + 8]
or eax, dword [ebp + 0x1c]
test al, 0x10
setne dl
and edx, 1
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x4c]
test byte [ecx + 0xd], 1
setne al
and eax, 1
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x4c]
test byte [edx + 0xa], 4
setne cl
and ecx, 1
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x4c]
movzx edx, word [eax + 0x26]
mov eax, dword [ebp - 0x4c]
movzx ecx, word [eax + 0x24]
imul edx, ecx
mov eax, dword [ebp - 0x4c]
movzx ecx, word [eax + 0x22]
add ecx, dword [ebp - 0x4c]
add edx, ecx
mov dword [ebx + 0x70], edx
mov edx, dword [ebp + 0x10]
mov dword [ebx + 0x74], edx
mov ecx, dword [ebp + 0x18]
mov dword [ebx + 0x94], ecx
mov eax, dword [ebx + 0x74]
add eax, dword [ebp + 0x14]
mov dword [ebx + 0x78], eax
mov edx, dword [ebx + 0x78]
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x4c]
test byte [ecx + 8], 0x20
setne al
and eax, 1
mov dword [ebx + 0x58], eax
mov edx, dword [ebp - 0x4c]
test byte [edx + 0xb], 0x20
setne cl
and ecx, 1
mov dword [ebx + 0x54], ecx
mov eax, dword [ebp - 0x4c]
test byte [eax + 0xb], 2
setne dl
and edx, 1
xor ecx, ecx
mov dword [ebx + 0x50], edx
mov dword [ebx + 0x2c], ecx
test byte [ebp + 0x1c], 0x80
setne al
and eax, 1
mov dword [ebx + 0x44], eax
test byte [ebp + 0x1d], 1
setne dl
and edx, 1
mov dword [ebx + 0x48], edx
test byte [ebp + 0x1d], 4
setne cl
and ecx, 1
mov dword [ebx + 0x5c], ecx
test byte [ebp + 0x1f], 0x10
setne al
and eax, 1
xor edx, edx
mov dword [ebx + 0x60], eax
xor ecx, ecx
mov dword [ebx + 0x64], edx
mov dword [ebx + 0xb0], ecx
mov dword [ebx + 0xac], ecx
xor eax, eax
mov dword [ebx + 0xa4], eax
mov edx, dword [ebp - 0x4c]
test byte [edx + 0xd], 0x10
setne cl
and ecx, 1
mov dword [ebx + 0x6c], ecx
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x38], eax
mov edx, dword [ebp - 0x30]
add edx, 0x100
mov dword [ebx + 0x3c], edx
mov ecx, dword [ebp - 0x30]
add ecx, 0x340
mov dword [ebx + 0x40], ecx
mov eax, dword [ebp + 0x1c]
and eax, 0x1800000
sub eax, 1
jb 0x6d0c87
sub eax, 0x7fffff
je 0x6d0cac
sub eax, 0x800000
je 0x6d0cb5
jmp 0x6d0cbc
mov edx, dword [ebp - 0x4c]
test dword [edx + 8], 0x1800000
je 0x6d0ca5
mov ecx, dword [ebp - 0x4c]
test byte [ecx + 0xa], 0x80
setne al
and eax, 1
mov dword [ebx + 0x68], eax
jmp 0x6d0cc6
xor edx, edx
mov dword [ebx + 0x68], edx
jmp 0x6d0cc6
mov dword [ebx + 0x68], 1
jmp 0x6d0cc6
xor ecx, ecx
mov dword [ebx + 0x68], ecx
jmp 0x6d0cc6
mov eax, 0xffffffe9
jmp 0x6d165b
test byte [ebp + 0x1e], 0x70
jne 0x6d0cd4
mov edx, dword [ebp - 0x4c]
mov ecx, dword [edx + 8]
jmp 0x6d0cd7
mov ecx, dword [ebp + 0x1c]
and ecx, 0x700000
cmp ecx, 0x300000
jg 0x6d0cfe
je 0x6d0d2b
sub ecx, 1
jb 0x6d0d10
sub ecx, 0xfffff
je 0x6d0d19
sub ecx, 0x100000
je 0x6d0d22
jmp 0x6d0d46
sub ecx, 0x400000
je 0x6d0d34
sub ecx, 0x100000
je 0x6d0d3d
jmp 0x6d0d46
mov dword [ebp - 0xc], 0xa
jmp 0x6d0d50
mov dword [ebp - 0xc], 0xd
jmp 0x6d0d50
mov dword [ebp - 0xc], 0xa
jmp 0x6d0d50
mov dword [ebp - 0xc], 0xd0a
jmp 0x6d0d50
mov dword [ebp - 0xc], 0xffffffff
jmp 0x6d0d50
mov dword [ebp - 0xc], 0xfffffffe
jmp 0x6d0d50
mov eax, 0xffffffe9
jmp 0x6d165b
cmp dword [ebp - 0xc], 0xfffffffe
jne 0x6d0d5f
mov dword [ebx + 0x18], 2
jmp 0x6d0da6
cmp dword [ebp - 0xc], 0
jge 0x6d0d6e
mov dword [ebx + 0x18], 1
jmp 0x6d0da6
xor edx, edx
mov dword [ebx + 0x18], edx
cmp dword [ebp - 0xc], 0xff
jle 0x6d0d99
mov dword [ebx + 0x1c], 2
mov ecx, dword [ebp - 0xc]
sar ecx, 8
and cl, 0xff
mov byte [ebx + 0x34], cl
mov al, byte [ebp - 0xc]
and al, 0xff
mov byte [ebx + 0x35], al
jmp 0x6d0da6
mov dword [ebx + 0x1c], 1
mov dl, byte [ebp - 0xc]
mov byte [ebx + 0x34], dl
cmp dword [ebx + 0x88], 0
je 0x6d0dc2
mov ecx, dword [ebp - 0x4c]
test byte [ecx + 0xd], 2
je 0x6d0dc2
mov eax, 0xfffffff3
jmp 0x6d165b
mov eax, dword [ebp + 0x24]
mov ecx, 3
cdq
idiv ecx
mov eax, dword [ebp + 0x24]
sub eax, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
add eax, eax
mov ecx, 3
cdq
idiv ecx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x4c]
movzx eax, word [ecx + 0x20]
test eax, eax
jle 0x6d0e40
mov eax, dword [ebp - 4]
mov ecx, 3
cdq
idiv ecx
mov edx, dword [ebp - 0x4c]
movzx ecx, word [edx + 0x20]
cmp eax, ecx
jg 0x6d0e40
mov eax, dword [ebp - 0x4c]
movzx ecx, word [eax + 0x20]
lea eax, [ecx + ecx*2]
add eax, 3
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
shl edx, 2
push edx
call dword [0x86beb0]
pop ecx
mov dword [ebx + 0xc], eax
cmp dword [ebx + 0xc], 0
jne 0x6d0e37
mov eax, 0xfffffffa
jmp 0x6d165b
mov dword [ebp - 0x10], 1
jmp 0x6d0e46
mov edx, dword [ebp + 0x20]
mov dword [ebx + 0xc], edx
mov ecx, dword [ebp - 4]
mov dword [ebx + 0x10], ecx
mov eax, dword [ebp - 4]
add eax, eax
mov ecx, 3
cdq
idiv ecx
mov dword [ebx + 0x14], eax
xor ecx, ecx
mov dword [ebx + 0x90], ecx
cmp dword [ebx + 0xc], 0
je 0x6d0ed2
mov eax, dword [ebp - 4]
shl eax, 2
add eax, dword [ebx + 0xc]
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x4c]
movzx ecx, word [edx + 0x1e]
shl ecx, 2
mov eax, dword [ebp - 0x5c]
sub eax, ecx
mov dword [ebp - 0x60], eax
mov edx, dword [ebx + 0xc]
add edx, 8
cmp edx, dword [ebp - 0x60]
jbe 0x6d0ea7
mov ecx, dword [ebx + 0xc]
add ecx, 8
mov dword [ebp - 0x60], ecx
jmp 0x6d0ea7
mov eax, dword [ebp - 0x5c]
mov dword [eax], 0xffffffff
sub dword [ebp - 0x5c], 4
mov edx, dword [ebp - 0x5c]
cmp edx, dword [ebp - 0x60]
jae 0x6d0e9e
cmp dword [ebp + 0x24], 0
jle 0x6d0ec2
mov ecx, dword [ebx + 0xc]
mov dword [ecx], 0xffffffff
cmp dword [ebp + 0x24], 1
jle 0x6d0ed2
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0xffffffff
cmp dword [ebp - 0x14], 0
jne 0x6d0f2b
mov edx, dword [ebp - 0x4c]
test byte [edx + 0xc], 0x10
je 0x6d0f0d
mov dword [ebp - 0x24], 1
mov ecx, dword [ebp - 0x4c]
mov al, byte [ecx + 0x18]
mov byte [ebp - 0x2a], al
mov byte [ebp - 0x29], al
mov edx, dword [ebp - 0x4c]
test byte [edx + 0xc], 0x20
je 0x6d0f2b
xor ecx, ecx
mov cl, byte [ebp - 0x29]
mov edi, dword [ebx + 0x3c]
mov al, byte [edi + ecx]
mov byte [ebp - 0x2a], al
jmp 0x6d0f2b
cmp dword [ebp - 0x18], 0
jne 0x6d0f2b
cmp dword [ebp - 0x48], 0
je 0x6d0f2b
mov edx, dword [ebp - 0x48]
test byte [edx + 4], 1
je 0x6d0f2b
mov ecx, dword [ebp - 0x48]
add ecx, 8
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x4c]
test byte [ecx + 0xc], 0x40
je 0x6d0f5e
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x4c]
mov dl, byte [eax + 0x1a]
mov byte [ebp - 0x2c], dl
mov byte [ebp - 0x2b], dl
mov eax, dword [ebp - 0x4c]
test byte [eax + 0xc], 0x80
je 0x6d0f5e
xor ecx, ecx
mov cl, byte [ebp - 0x2b]
mov edi, dword [ebx + 0x3c]
mov al, byte [edi + ecx]
mov byte [ebp - 0x2c], al
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x64], edx
cmp dword [ebp - 0x1c], 0
je 0x6d106b
cmp dword [ebp - 0x20], 0
mov edi, esi
je 0x6d1004
jmp 0x6d0f95
inc edi
jmp 0x6d0f80
inc edi
cmp edi, dword [ebp - 0x38]
jae 0x6d0f95
xor eax, eax
mov al, byte [edi]
and eax, 0xc0
cmp eax, 0x80
je 0x6d0f7f
cmp edi, dword [ebx + 0x78]
jae 0x6d1068
cmp dword [ebx + 0x18], 0
je 0x6d0fd1
cmp edi, dword [ebx + 0x78]
jae 0x6d0fc6
mov edx, dword [ebp - 0x20]
lea ecx, [ebx + 0x1c]
push edx
push ecx
mov ecx, dword [ebx + 0x78]
push ecx
mov eax, dword [ebx + 0x18]
push eax
push edi
call fcn.006d20d0
add esp, 0x14
test eax, eax
jne 0x6d0fca
xor edx, edx
jmp 0x6d0ff9
mov edx, 1
jmp 0x6d0ff9
mov ecx, dword [ebx + 0x78]
sub ecx, dword [ebx + 0x1c]
cmp edi, ecx
ja 0x6d0ff0
mov al, byte [edi]
cmp al, byte [ebx + 0x34]
jne 0x6d0ff0
cmp dword [ebx + 0x1c], 1
je 0x6d0ff4
mov dl, byte [edi + 1]
cmp dl, byte [ebx + 0x35]
je 0x6d0ff4
xor edx, edx
jmp 0x6d0ff9
mov edx, 1
test edx, edx
je 0x6d0f7c
jmp 0x6d1068
inc edi
cmp edi, dword [ebx + 0x78]
jae 0x6d1068
cmp dword [ebx + 0x18], 0
je 0x6d103c
cmp edi, dword [ebx + 0x78]
jae 0x6d1031
mov eax, dword [ebp - 0x20]
lea ecx, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebx + 0x78]
push ecx
mov eax, dword [ebx + 0x18]
push eax
push edi
call fcn.006d20d0
add esp, 0x14
test eax, eax
jne 0x6d1035
xor edx, edx
jmp 0x6d1064
mov edx, 1
jmp 0x6d1064
mov ecx, dword [ebx + 0x78]
sub ecx, dword [ebx + 0x1c]
cmp edi, ecx
ja 0x6d105b
mov al, byte [edi]
cmp al, byte [ebx + 0x34]
jne 0x6d105b
cmp dword [ebx + 0x1c], 1
je 0x6d105f
mov dl, byte [edi + 1]
cmp dl, byte [ebx + 0x35]
je 0x6d105f
xor edx, edx
jmp 0x6d1064
mov edx, 1
test edx, edx
je 0x6d1003
mov dword [ebp - 0x38], edi
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + 8]
or ecx, dword [ebp + 0x1c]
test ecx, 0x4000000
jne 0x6d123f
cmp dword [ebp - 0x24], 0
je 0x6d10c5
mov cl, byte [ebp - 0x29]
cmp cl, byte [ebp - 0x2a]
je 0x6d10b0
jmp 0x6d1091
inc esi
cmp esi, dword [ebp - 0x38]
jae 0x6d123f
mov al, byte [esi]
cmp al, byte [ebp - 0x29]
je 0x6d123f
cmp al, byte [ebp - 0x2a]
jne 0x6d1090
jmp 0x6d123f
inc esi
cmp esi, dword [ebp - 0x38]
jae 0x6d123f
mov al, byte [esi]
cmp al, byte [ebp - 0x29]
jne 0x6d10af
jmp 0x6d123f
cmp dword [ebp - 0x18], 0
je 0x6d1210
mov edx, dword [ebx + 0x74]
add edx, dword [ebp + 0x18]
cmp esi, edx
jbe 0x6d123f
cmp dword [ebp - 0x20], 0
je 0x6d117c
jmp 0x6d1104
inc esi
jmp 0x6d10ed
inc esi
cmp esi, dword [ebp - 0x38]
jae 0x6d1104
xor ecx, ecx
mov cl, byte [esi]
and ecx, 0xc0
cmp ecx, 0x80
je 0x6d10ec
cmp esi, dword [ebp - 0x38]
jae 0x6d11e9
cmp dword [ebx + 0x18], 0
je 0x6d113f
mov edi, dword [ebx + 0x74]
cmp esi, edi
jbe 0x6d1134
mov eax, dword [ebp - 0x20]
push eax
lea edx, [ebx + 0x1c]
push edx
push edi
mov ecx, dword [ebx + 0x18]
push ecx
push esi
call fcn.006d22b8
add esp, 0x14
test eax, eax
jne 0x6d1138
xor ecx, ecx
jmp 0x6d1171
mov ecx, 1
jmp 0x6d1171
mov eax, dword [ebx + 0x74]
add eax, dword [ebx + 0x1c]
cmp esi, eax
jb 0x6d1168
mov edx, esi
sub edx, dword [ebx + 0x1c]
mov cl, byte [edx]
cmp cl, byte [ebx + 0x34]
jne 0x6d1168
cmp dword [ebx + 0x1c], 1
je 0x6d116c
mov eax, esi
sub eax, dword [ebx + 0x1c]
mov dl, byte [eax + 1]
cmp dl, byte [ebx + 0x35]
je 0x6d116c
xor ecx, ecx
jmp 0x6d1171
mov ecx, 1
test ecx, ecx
je 0x6d10e9
jmp 0x6d11e9
inc esi
cmp esi, dword [ebp - 0x38]
jae 0x6d11e9
cmp dword [ebx + 0x18], 0
je 0x6d11b3
mov edi, dword [ebx + 0x74]
cmp esi, edi
jbe 0x6d11a8
mov eax, dword [ebp - 0x20]
push eax
lea edx, [ebx + 0x1c]
push edx
push edi
mov ecx, dword [ebx + 0x18]
push ecx
push esi
call fcn.006d22b8
add esp, 0x14
test eax, eax
jne 0x6d11ac
xor ecx, ecx
jmp 0x6d11e5
mov ecx, 1
jmp 0x6d11e5
mov eax, dword [ebx + 0x74]
add eax, dword [ebx + 0x1c]
cmp esi, eax
jb 0x6d11dc
mov edx, esi
sub edx, dword [ebx + 0x1c]
mov cl, byte [edx]
cmp cl, byte [ebx + 0x34]
jne 0x6d11dc
cmp dword [ebx + 0x1c], 1
je 0x6d11e0
mov eax, esi
sub eax, dword [ebx + 0x1c]
mov dl, byte [eax + 1]
cmp dl, byte [ebx + 0x35]
je 0x6d11e0
xor ecx, ecx
jmp 0x6d11e5
mov ecx, 1
test ecx, ecx
je 0x6d117b
xor eax, eax
mov al, byte [esi - 1]
cmp eax, 0xd
jne 0x6d123f
cmp dword [ebx + 0x18], 1
je 0x6d11ff
cmp dword [ebx + 0x18], 2
jne 0x6d123f
cmp esi, dword [ebp - 0x38]
jae 0x6d123f
xor edx, edx
mov dl, byte [esi]
cmp edx, 0xa
jne 0x6d123f
inc esi
jmp 0x6d123f
cmp dword [ebp - 0x34], 0
je 0x6d123f
cmp esi, dword [ebp - 0x38]
jae 0x6d123f
xor eax, eax
mov al, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
shr eax, 3
mov ecx, dword [ebp - 0x34]
movzx eax, byte [ecx + eax]
and edx, eax
jne 0x6d123f
inc esi
cmp esi, dword [ebp - 0x38]
jb 0x6d121b
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx + 8]
or eax, dword [ebp + 0x1c]
test eax, 0x4000000
jne 0x6d1303
cmp dword [ebx + 0x88], 0
jne 0x6d1303
cmp dword [ebp - 0x48], 0
je 0x6d1289
mov edx, dword [ebp - 0x48]
test byte [edx + 4], 2
je 0x6d1289
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x38]
sub ecx, esi
cmp ecx, dword [eax + 0x28]
jae 0x6d1289
xor edi, edi
jmp 0x6d149c
cmp dword [ebp - 0x28], 0
je 0x6d1303
mov eax, dword [ebp - 0x38]
sub eax, esi
cmp eax, 0x3e8
jge 0x6d1303
cmp dword [ebp - 0x24], 0
je 0x6d12a8
mov eax, 1
jmp 0x6d12aa
xor eax, eax
add eax, esi
cmp eax, dword [ebp - 0x44]
jbe 0x6d1303
mov dl, byte [ebp - 0x2b]
cmp dl, byte [ebp - 0x2c]
je 0x6d12df
cmp eax, dword [ebp - 0x38]
jae 0x6d12f4
xor edx, edx
xor ecx, ecx
mov dl, byte [eax]
inc eax
mov cl, byte [ebp - 0x2b]
cmp edx, ecx
je 0x6d12d5
xor ecx, ecx
mov cl, byte [ebp - 0x2c]
cmp edx, ecx
jne 0x6d12d8
dec eax
jmp 0x6d12f4
cmp eax, dword [ebp - 0x38]
jb 0x6d12be
jmp 0x6d12f4
cmp eax, dword [ebp - 0x38]
jae 0x6d12f4
mov dl, byte [eax]
inc eax
cmp dl, byte [ebp - 0x2b]
jne 0x6d12ef
dec eax
jmp 0x6d12f4
cmp eax, dword [ebp - 0x38]
jb 0x6d12e4
cmp eax, dword [ebp - 0x38]
jb 0x6d1300
xor edi, edi
jmp 0x6d149c
mov dword [ebp - 0x44], eax
mov dword [ebx + 0x7c], esi
mov dword [ebx + 0x84], esi
xor eax, eax
mov dword [ebx], eax
xor edx, edx
mov dword [ebx + 0x98], edx
xor ecx, ecx
mov dword [ebx + 0x8c], ecx
xor ecx, ecx
mov dword [ebx + 0x28], ecx
push 0
push 0
push ebx
push 2
push esi
mov eax, dword [ebx + 0x70]
push eax
push esi
call fcn.006bfd08
add esp, 0x1c
mov edi, eax
cmp dword [ebx + 0x64], 0
je 0x6d1354
cmp dword [ebp - 0x3c], 0
jne 0x6d1354
mov eax, dword [ebx + 0x84]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], esi
mov edx, edi
cmp edx, 0xfffffc1f
jg 0x6d1373
je 0x6d1388
sub edx, 0xfffffc1c
je 0x6d13d5
dec edx
je 0x6d13a0
dec edx
je 0x6d1393
jmp 0x6d149c
sub edx, 0xfffffc20
je 0x6d13a0
sub edx, 0x3e0
je 0x6d13a0
jmp 0x6d149c
mov dword [ebp - 0x68], esi
mov ecx, dword [ebx + 0x28]
mov dword [ebx + 0x2c], ecx
jmp 0x6d13dc
cmp esi, dword [ebx + 0x7c]
jae 0x6d13a0
mov ecx, dword [ebx + 0x7c]
mov dword [ebp - 0x68], ecx
jmp 0x6d13dc
xor eax, eax
lea edx, [esi + 1]
mov dword [ebx + 0x2c], eax
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x20], 0
je 0x6d13dc
jmp 0x6d13b6
inc dword [ebp - 0x68]
mov ecx, dword [ebp - 0x68]
cmp ecx, dword [ebp - 0x38]
jae 0x6d13dc
mov eax, dword [ebp - 0x68]
xor edx, edx
mov dl, byte [eax]
and edx, 0xc0
cmp edx, 0x80
je 0x6d13b3
jmp 0x6d13dc
xor edi, edi
jmp 0x6d149c
xor edi, edi
cmp dword [ebp - 0x1c], 0
je 0x6d1443
cmp dword [ebx + 0x18], 0
je 0x6d1417
cmp esi, dword [ebx + 0x78]
jae 0x6d140c
mov eax, dword [ebp - 0x20]
lea edx, [ebx + 0x1c]
push eax
push edx
mov ecx, dword [ebx + 0x78]
push ecx
mov ecx, dword [ebx + 0x18]
push ecx
push esi
call fcn.006d20d0
add esp, 0x14
test eax, eax
jne 0x6d1410
xor eax, eax
jmp 0x6d143f
mov eax, 1
jmp 0x6d143f
mov edx, dword [ebx + 0x78]
sub edx, dword [ebx + 0x1c]
cmp esi, edx
ja 0x6d1436
mov cl, byte [esi]
cmp cl, byte [ebx + 0x34]
jne 0x6d1436
cmp dword [ebx + 0x1c], 1
je 0x6d143a
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
je 0x6d143a
xor eax, eax
jmp 0x6d143f
mov eax, 1
test eax, eax
jne 0x6d149c
cmp dword [ebp - 0x14], 0
mov esi, dword [ebp - 0x68]
jne 0x6d149c
cmp esi, dword [ebp - 0x38]
ja 0x6d149c
mov eax, dword [ebp + 0x10]
add eax, dword [ebp + 0x18]
cmp esi, eax
jbe 0x6d148f
xor edx, edx
mov dl, byte [esi - 1]
cmp edx, 0xd
jne 0x6d148f
cmp esi, dword [ebp - 0x38]
jae 0x6d148f
xor ecx, ecx
mov cl, byte [esi]
cmp ecx, 0xa
jne 0x6d148f
mov ecx, dword [ebp - 0x4c]
test byte [ecx + 0xd], 8
jne 0x6d148f
cmp dword [ebx + 0x18], 1
je 0x6d148e
cmp dword [ebx + 0x18], 2
je 0x6d148e
cmp dword [ebx + 0x1c], 2
jne 0x6d148f
inc esi
xor eax, eax
mov dword [ebx + 0xac], eax
jmp 0x6d0f5e
cmp edi, 1
je 0x6d14ad
cmp edi, 0xfffffc19
jne 0x6d15d8
cmp dword [ebp - 0x10], 0
je 0x6d14f9
cmp dword [ebp - 8], 4
jl 0x6d14d9
mov edx, dword [ebp - 8]
add edx, 0xfffffffe
shl edx, 2
push edx
mov ecx, dword [ebx + 0xc]
add ecx, 8
push ecx
mov eax, dword [ebp + 0x20]
add eax, 8
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [ebx + 0x8c]
cmp edx, dword [ebp - 8]
jle 0x6d14ee
or dword [ebx + 0x90], 0x10000
mov ecx, dword [ebx + 0xc]
push ecx
call dword [0x86beb4]
pop ecx
test byte [ebx + 0x92], 1
je 0x6d1511
mov eax, dword [ebx + 0x8c]
cmp eax, dword [ebp - 8]
jl 0x6d1511
xor edi, edi
jmp 0x6d151e
mov edi, dword [ebx + 0x8c]
sar edi, 1
jns 0x6d151e
adc edi, 0
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebx + 0x8c]
sar ecx, 1
movzx edx, word [eax + 0x1e]
jns 0x6d1532
adc ecx, 0
cmp edx, ecx
jl 0x6d1591
cmp dword [ebp + 0x20], 0
je 0x6d1591
mov ecx, dword [ebp - 0x4c]
movzx eax, word [ecx + 0x1e]
add eax, eax
add eax, 2
mov dword [ebp - 0x74], eax
mov edx, dword [ebp - 0x74]
cmp edx, dword [ebp + 0x24]
jle 0x6d1559
mov ecx, dword [ebp + 0x24]
mov dword [ebp - 0x74], ecx
mov eax, dword [ebx + 0x8c]
shl eax, 2
add eax, dword [ebp + 0x20]
mov dword [ebp - 0x6c], eax
mov edx, dword [ebp - 0x74]
shl edx, 2
add edx, dword [ebp + 0x20]
mov dword [ebp - 0x70], edx
mov ecx, dword [ebp - 0x6c]
cmp ecx, dword [ebp - 0x70]
jae 0x6d1591
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0xffffffff
add dword [ebp - 0x6c], 4
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebp - 0x70]
jb 0x6d157c
cmp dword [ebp + 0x24], 2
jge 0x6d159b
xor edi, edi
jmp 0x6d15b5
mov eax, dword [ebx + 0x7c]
mov edx, dword [ebp + 0x20]
sub eax, dword [ebx + 0x74]
mov dword [edx], eax
mov ecx, dword [ebx + 0x80]
mov esi, dword [ebp + 0x20]
sub ecx, dword [ebx + 0x74]
mov dword [esi + 4], ecx
cmp dword [ebp + 0xc], 0
je 0x6d15d1
mov eax, dword [ebp + 0xc]
test byte [eax], 0x20
je 0x6d15d1
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x18]
mov ebx, dword [ebx + 0xac]
mov dword [ecx], ebx
mov eax, edi
jmp 0x6d165b
cmp dword [ebp - 0x10], 0
je 0x6d15e9
mov edx, dword [ebx + 0xc]
push edx
call dword [0x86beb4]
pop ecx
test edi, edi
je 0x6d15f6
cmp edi, 0xfffffff4
je 0x6d15f6
mov eax, edi
jmp 0x6d165b
cmp dword [ebp - 0x40], 0
je 0x6d163a
xor edx, edx
mov dword [ebx + 0xac], edx
cmp dword [ebp + 0x24], 1
jle 0x6d1633
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp + 0x20]
sub ecx, dword [ebp + 0x10]
mov dword [eax], ecx
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x20]
sub edx, dword [ebp + 0x10]
mov dword [ecx + 4], edx
cmp dword [ebp + 0x24], 2
jle 0x6d1633
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x20]
sub ecx, dword [ebp + 0x10]
mov dword [eax + 8], ecx
mov edi, 0xfffffff4
jmp 0x6d163d
or edi, 0xffffffff
cmp dword [ebp + 0xc], 0
je 0x6d1659
mov eax, dword [ebp + 0xc]
test byte [eax], 0x20
je 0x6d1659
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x18]
mov ebx, dword [ebx + 0xb0]
mov dword [ecx], ebx
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret