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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xfffffe1c
xor eax, eax
test dword [esp], ebx
push ebx
push esi
push edi
xor esi, esi
mov dword [ebp - 8], 1
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
lea ebx, [ebp - 0xf4]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x38], eax
cmp dword [ebp + 0x14], 0
jne 0x6bed9f
cmp dword [ebp + 0x10], 0
je 0x6bed98
mov edx, dword [ebp + 0x10]
mov dword [edx], 0x63
xor eax, eax
jmp 0x6bf991
mov edx, dword [ebp + 0x14]
xor ecx, ecx
mov dword [edx], ecx
cmp dword [ebp + 0x10], 0
je 0x6bedb3
mov ecx, dword [ebp + 0x10]
xor eax, eax
mov dword [ecx], eax
cmp dword [ebp + 0x18], 0
jne 0x6bedc5
mov dword [ebp - 0x24], 0x10
jmp 0x6bf834
mov edx, dword [ebp + 0x18]
xor eax, eax
mov dword [edx], eax
cmp dword [ebp + 0x1c], 0
jne 0x6bedd9
mov dword [ebp + 0x1c], 0x87fd48
mov edx, dword [ebp + 0x1c]
mov dword [ebx], edx
mov ecx, dword [ebp + 0x1c]
add ecx, 0x100
mov dword [ebx + 4], ecx
mov ecx, dword [ebp + 0x1c]
add ecx, 0x200
mov dword [ebx + 8], ecx
mov eax, dword [ebp + 0x1c]
add eax, 0x340
mov dword [ebx + 0xc], eax
test dword [ebp + 0xc], 0xd8008580
je 0x6bee16
mov dword [ebp - 0x24], 0x11
jmp 0x6bf829
test byte [ebp + 0xe], 1
je 0x6bee23
mov dword [ebp - 0x2c], 1
xor edx, edx
mov dword [ebx + 0x64], edx
jmp 0x6bf17b
xor edi, edi
xor eax, eax
mov dword [ebp - 0x3c], eax
push 5
push str.UTF8_
mov edx, dword [ebp - 0x38]
add edx, esi
add edx, 2
push edx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6bee64
add esi, 7
or dword [ebp + 0xc], 0x800
jmp 0x6bf17b
push 4
push str.UTF_
mov ecx, dword [ebp - 0x38]
add ecx, esi
add ecx, 2
push ecx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6bee94
add esi, 6
or dword [ebp + 0xc], 0x800
jmp 0x6bf17b
push 4
push str.UCP_
mov ecx, dword [ebp - 0x38]
add ecx, esi
add ecx, 2
push ecx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6beec4
add esi, 6
or dword [ebp + 0xc], 0x20000000
jmp 0x6bf17b
push 0x10
push str.NO_AUTO_POSSESS_
mov eax, dword [ebp - 0x38]
add eax, esi
add eax, 2
push eax
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6beef4
add esi, 0x12
or dword [ebp + 0xc], 0x20000
jmp 0x6bf17b
push 0xd
push str.NO_START_OPT_
mov edx, dword [ebp - 0x38]
add edx, esi
add edx, 2
push edx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6bef24
add esi, 0xf
or dword [ebp + 0xc], 0x4000000
jmp 0x6bf17b
push 0xc
push str.LIMIT_MATCH
mov ecx, dword [ebp - 0x38]
add ecx, esi
add ecx, 2
push ecx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6befb3
xor eax, eax
lea edi, [esi + 0xe]
mov dword [ebp - 0x40], eax
jmp 0x6bef6c
cmp dword [ebp - 0x40], 0x19999998
ja 0x6bef7f
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x38]
add ecx, ecx
xor edx, edx
mov dl, byte [eax + edi]
lea ecx, [ecx + ecx*4]
add edx, ecx
sub edx, 0x30
inc edi
mov dword [ebp - 0x40], edx
mov ecx, dword [ebp - 0x38]
xor eax, eax
mov al, byte [ecx + edi]
push eax
call sub.msvcrt.dll_isdigit
pop ecx
test eax, eax
jne 0x6bef4a
mov edx, edi
mov eax, dword [ebp - 0x38]
inc edi
movzx edx, byte [eax + edx]
cmp edx, 0x29
jne 0x6bf19a
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [ebp - 0x1c]
jae 0x6befa7
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x1c], ecx
or dword [ebx + 0x64], 0x2000
mov esi, edi
jmp 0x6bf17b
push 0x10
push str.LIMIT_RECURSION
mov eax, dword [ebp - 0x38]
add eax, esi
add eax, 2
push eax
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6bf03d
xor edx, edx
lea edi, [esi + 0x12]
mov dword [ebp - 0x44], edx
jmp 0x6beffb
cmp dword [ebp - 0x44], 0x19999998
ja 0x6bf00e
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x38]
add ecx, ecx
xor edx, edx
mov dl, byte [eax + edi]
lea ecx, [ecx + ecx*4]
add edx, ecx
sub edx, 0x30
inc edi
mov dword [ebp - 0x44], edx
mov ecx, dword [ebp - 0x38]
xor eax, eax
mov al, byte [ecx + edi]
push eax
call sub.msvcrt.dll_isdigit
pop ecx
test eax, eax
jne 0x6befd9
mov edx, edi
mov eax, dword [ebp - 0x38]
inc edi
movzx edx, byte [eax + edx]
cmp edx, 0x29
jne 0x6bf19a
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [ebp - 0x20]
jae 0x6bf036
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x20], ecx
or dword [ebx + 0x64], 0x4000
mov esi, edi
jmp 0x6bf17b
push 3
push 0x86d4de
mov eax, dword [ebp - 0x38]
add eax, esi
add eax, 2
push eax
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6bf066
add esi, 5
mov edi, 0x100000
jmp 0x6bf152
push 3
push 0x86d4e2
mov eax, dword [ebp - 0x38]
add eax, esi
add eax, 2
push eax
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6bf08f
add esi, 5
mov edi, 0x200000
jmp 0x6bf152
push 5
push str.CRLF_
mov eax, dword [ebp - 0x38]
add eax, esi
add eax, 2
push eax
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6bf0b8
add esi, 7
mov edi, 0x300000
jmp 0x6bf152
push 4
push str.ANY_
mov eax, dword [ebp - 0x38]
add eax, esi
add eax, 2
push eax
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6bf0de
add esi, 6
mov edi, 0x400000
jmp 0x6bf152
push 8
push str.ANYCRLF_
mov eax, dword [ebp - 0x38]
add eax, esi
add eax, 2
push eax
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6bf104
add esi, 0xa
mov edi, 0x500000
jmp 0x6bf152
push 0xc
push str.BSR_ANYCRLF_
mov eax, dword [ebp - 0x38]
add eax, esi
add eax, 2
push eax
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6bf12c
mov dword [ebp - 0x3c], 0x800000
add esi, 0xe
jmp 0x6bf152
push 0xc
push str.BSR_UNICODE_
mov edx, dword [ebp - 0x38]
add edx, esi
add edx, 2
push edx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x6bf152
mov dword [ebp - 0x3c], 0x1000000
add esi, 0xe
test edi, edi
je 0x6bf166
mov ecx, dword [ebp + 0xc]
and ecx, 0xff8fffff
or edi, ecx
mov dword [ebp + 0xc], edi
jmp 0x6bf17b
cmp dword [ebp - 0x3c], 0
je 0x6bf19a
mov ecx, dword [ebp + 0xc]
and ecx, 0xfe7fffff
or ecx, dword [ebp - 0x3c]
mov dword [ebp + 0xc], ecx
mov eax, dword [ebp - 0x38]
xor edx, edx
mov dl, byte [eax + esi]
cmp edx, 0x28
jne 0x6bf19a
mov ecx, dword [ebp - 0x38]
xor eax, eax
mov al, byte [ecx + esi + 1]
cmp eax, 0x2a
je 0x6bee2d
test byte [ebp + 0xd], 8
setne dl
and edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0
je 0x6bf1bf
cmp dword [ebp - 0x2c], 0
je 0x6bf1bf
mov dword [ebp - 0x24], 0x4e
jmp 0x6bf834
cmp dword [ebp - 0x28], 0
je 0x6bf1f0
test byte [ebp + 0xd], 0x20
jne 0x6bf1f0
mov ecx, dword [ebp + 0x18]
push ecx
push 0xffffffffffffffff
mov eax, dword [ebp + 8]
push eax
call fcn.006d2508
add esp, 0xc
mov dword [ebp - 0x24], eax
test eax, eax
je 0x6bf1f0
mov dword [ebp - 0x24], 0x2c
jmp 0x6bf834
mov edx, dword [ebp + 0xc]
and edx, 0x1800000
cmp edx, 0x1800000
jne 0x6bf20d
mov dword [ebp - 0x24], 0x38
jmp 0x6bf829
mov ecx, dword [ebp + 0xc]
and ecx, 0x700000
cmp ecx, 0x300000
jg 0x6bf237
je 0x6bf25e
sub ecx, 1
jb 0x6bf249
sub ecx, 0xfffff
je 0x6bf250
sub ecx, 0x100000
je 0x6bf257
jmp 0x6bf271
sub ecx, 0x400000
je 0x6bf265
sub ecx, 0x100000
je 0x6bf26a
jmp 0x6bf271
mov eax, 0xa
jmp 0x6bf27d
mov eax, 0xd
jmp 0x6bf27d
mov eax, 0xa
jmp 0x6bf27d
mov eax, 0xd0a
jmp 0x6bf27d
or eax, 0xffffffff
jmp 0x6bf27d
mov eax, 0xfffffffe
jmp 0x6bf27d
mov dword [ebp - 0x24], 0x38
jmp 0x6bf829
cmp eax, 0xfffffffe
jne 0x6bf28e
mov dword [ebx + 0x84], 2
jmp 0x6bf2df
test eax, eax
jge 0x6bf29e
mov dword [ebx + 0x84], 1
jmp 0x6bf2df
xor edx, edx
cmp eax, 0xff
mov dword [ebx + 0x84], edx
jle 0x6bf2cf
mov ecx, eax
sar ecx, 8
mov dword [ebx + 0x88], 2
and cl, 0xff
and al, 0xff
mov byte [ebx + 0x8c], cl
mov byte [ebx + 0x8d], al
jmp 0x6bf2df
mov dword [ebx + 0x88], 1
mov byte [ebx + 0x8c], al
xor ecx, ecx
xor eax, eax
mov dword [ebx + 0x4c], ecx
xor edx, edx
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x44], edx
mov dword [ebx + 0x40], edx
xor eax, eax
mov dword [ebx + 0x30], eax
xor ecx, ecx
mov dword [ebx + 0x34], ecx
xor ecx, ecx
mov dword [ebx + 0x2c], ecx
xor eax, eax
mov dword [ebx + 0x78], eax
xor edx, edx
mov dword [ebx + 0x7c], edx
xor ecx, ecx
mov dword [ebx + 0x54], ecx
lea eax, [ebp - 0x10f4]
mov dword [ebx + 0x14], eax
lea edx, [ebp - 0x10f4]
mov dword [ebx + 0x20], edx
xor ecx, ecx
mov dword [ebx + 0x80], ecx
lea eax, [ebp - 0x10f4]
mov dword [ebx + 0x10], eax
lea edx, [ebp - 0x11e4]
mov dword [ebx + 0x3c], 0x1000
mov dword [ebx + 0x28], edx
mov dword [ebx + 0x38], 0x14
mov ecx, dword [ebp + 8]
mov dword [ebx + 0x18], ecx
mov eax, dword [ebp + 8]
push eax
call sub.msvcrt.dll_strlen
add eax, dword [ebp + 8]
pop ecx
mov dword [ebx + 0x1c], eax
xor edx, edx
mov dword [ebx + 0x68], edx
xor ecx, ecx
mov dword [ebx + 0x58], ecx
xor eax, eax
mov dword [ebx + 0x5c], eax
xor edx, edx
mov dword [ebx + 0x48], edx
xor eax, eax
mov ecx, dword [ebp + 0xc]
lea edx, [ebp - 0x10f4]
mov dword [ebx + 0x60], ecx
mov dword [ebx + 0x24], eax
add dword [ebp - 0x38], esi
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 8]
lea edx, [ebp - 0x10]
mov byte [ecx], 0x83
push eax
push ebx
push 0
push edx
lea ecx, [ebp - 0x18]
lea eax, [ebp - 0xc]
push ecx
push eax
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0x24]
push edx
push 0
push 0
push 0
push 0
push ecx
lea eax, [ebp - 0x38]
lea edx, [ebp - 0x34]
push eax
push edx
mov ecx, dword [ebx + 0x60]
push ecx
call fcn.006be2c4
add esp, 0x3c
cmp dword [ebp - 0x24], 0
jne 0x6bf829
cmp dword [ebp - 8], 0x10000
jle 0x6bf3e6
mov dword [ebp - 0x24], 0x14
jmp 0x6bf829
mov eax, dword [ebx + 0x30]
imul dword [ebx + 0x34]
add eax, dword [ebp - 8]
add eax, 0x38
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x30]
push edx
call dword [0x86beb0]
pop ecx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x6bf415
mov dword [ebp - 0x24], 0x15
jmp 0x6bf829
mov ecx, dword [ebp - 4]
mov dword [ecx], 0x50435245
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x30]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 4]
mov eax, dword [ebx + 0x60]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x64]
mov dword [edx + 0xc], eax
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x1c]
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x20]
mov dword [ecx + 0x14], eax
mov edx, dword [ebp - 4]
mov word [edx + 0x18], 0
mov ecx, dword [ebp - 4]
mov word [ecx + 0x1a], 0
mov eax, dword [ebp - 4]
mov word [eax + 0x22], 0x38
mov ax, word [ebx + 0x34]
mov edx, dword [ebp - 4]
mov word [edx + 0x24], ax
mov eax, 0x87fd48
mov cx, word [ebx + 0x30]
mov edx, dword [ebp - 4]
mov word [edx + 0x26], cx
mov ecx, dword [ebp - 4]
mov word [ecx + 0x28], 0
cmp eax, dword [ebp + 0x1c]
jne 0x6bf493
xor edx, edx
jmp 0x6bf496
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
xor edi, edi
mov dword [eax + 0x30], edx
xor edx, edx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x34], edi
mov eax, dword [ebp - 4]
mov word [eax + 0x2e], dx
mov eax, dword [ebp - 4]
mov word [eax + 0x2c], dx
mov eax, dword [ebp - 4]
mov word [eax + 0x2a], dx
xor eax, eax
mov ecx, dword [ebx + 0x40]
xor edx, edx
mov dword [ebx + 0x44], ecx
xor ecx, ecx
mov dword [ebx + 0x58], ecx
mov dword [ebx + 0x5c], eax
mov dword [ebx + 0x40], edx
xor ecx, ecx
mov dword [ebx + 0x48], ecx
mov eax, dword [ebp - 4]
movzx edx, word [eax + 0x22]
add edx, dword [ebp - 4]
mov dword [ebx + 0x2c], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
movzx edx, word [eax + 0x26]
movzx edi, word [ecx + 0x24]
imul edi, edx
add edi, dword [ebx + 0x2c]
xor eax, eax
mov dword [ebx + 0x14], edi
xor edx, edx
mov ecx, dword [ebx + 0x10]
mov dword [ebx + 0x20], ecx
xor ecx, ecx
mov dword [ebx + 0x80], ecx
mov dword [ebx + 0x68], eax
mov dword [ebx + 0x6c], edx
xor ecx, ecx
xor eax, eax
mov dword [ebx + 0x70], ecx
xor edx, edx
mov dword [ebx + 0x74], eax
mov dword [ebx + 0x24], edx
cmp dword [ebx + 0x30], 0
jle 0x6bf578
mov ecx, dword [ebx + 0x30]
xor edx, edx
mov dword [ebp - 0x48], ecx
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x4c], eax
mov dword [ebx + 0x30], edx
cmp dword [ebp - 0x48], 0
jle 0x6bf567
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx + 8]
push eax
mov edx, dword [ebp - 0x4c]
mov ecx, dword [edx + 4]
push ecx
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax]
push edx
push ebx
call fcn.006bec88
add esp, 0x10
dec dword [ebp - 0x48]
add dword [ebp - 0x4c], 0xc
cmp dword [ebp - 0x48], 0
jg 0x6bf53d
cmp dword [ebx + 0x38], 0x14
jle 0x6bf578
mov ecx, dword [ebx + 0x28]
push ecx
call dword [0x86beb4]
pop ecx
add esi, dword [ebp + 8]
lea edx, [ebp - 0x10]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x18]
mov byte [eax], 0x83
push 0
push ebx
push 0
push edx
push ecx
lea eax, [ebp - 0xc]
lea edx, [ebp - 0x14]
push eax
push edx
push 0
push 0
push 0
lea ecx, [ebp - 0x24]
push 0
push ecx
lea eax, [ebp - 0x38]
lea edx, [ebp - 0x34]
push eax
push edx
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 8]
push eax
call fcn.006be2c4
mov ax, word [ebx + 0x40]
mov edx, dword [ebp - 4]
add esp, 0x3c
mov word [edx + 0x1e], ax
mov cx, word [ebx + 0x4c]
mov edx, dword [ebp - 4]
mov word [edx + 0x20], cx
mov ax, word [ebx + 0x48]
mov ecx, dword [ebp - 4]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 4]
mov edx, dword [ebx + 0x64]
or edx, 1
mov dword [eax + 0xc], edx
cmp dword [ebx + 0x6c], 0
je 0x6bf5fe
xor edx, edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x10], 0xffffffff
cmp dword [ebp - 0x24], 0
jne 0x6bf613
mov ecx, dword [ebp - 0x38]
cmp byte [ecx], 0
je 0x6bf613
mov dword [ebp - 0x24], 0x16
mov ecx, dword [ebp - 0x34]
mov byte [ecx], 0
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
sub eax, edi
cmp eax, dword [ebp - 8]
jle 0x6bf62d
mov dword [ebp - 0x24], 0x17
mov edx, dword [ebx + 0x20]
cmp edx, dword [ebx + 0x10]
jbe 0x6bf6de
mov dword [ebp - 0x50], 0xffffffff
xor ecx, ecx
mov dword [ebp - 0x54], ecx
jmp 0x6bf6cc
sub dword [ebx + 0x20], 2
mov eax, dword [ebx + 0x20]
movzx esi, byte [eax]
shl esi, 8
movzx eax, byte [eax + 1]
or esi, eax
test esi, esi
je 0x6bf66c
xor edx, edx
mov dl, byte [edi + esi - 1]
cmp edx, 0x75
je 0x6bf675
mov dword [ebp - 0x24], 0xa
jmp 0x6bf6de
xor ecx, ecx
xor eax, eax
mov cl, byte [edi + esi]
mov al, byte [edi + esi + 1]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x58]
cmp edx, dword [ebp - 0x50]
je 0x6bf6aa
mov ecx, dword [ebp - 0x58]
push ecx
mov ecx, dword [ebp - 0x28]
push ecx
push edi
call fcn.006b72a4
add esp, 0xc
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x54], 0
jne 0x6bf6b9
mov dword [ebp - 0x24], 0x35
jmp 0x6bf6cc
mov eax, dword [ebp - 0x54]
sub eax, edi
mov edx, eax
sar edx, 8
and al, 0xff
mov byte [edi + esi], dl
mov byte [edi + esi + 1], al
cmp dword [ebp - 0x24], 0
jne 0x6bf6de
mov ecx, dword [ebx + 0x20]
cmp ecx, dword [ebx + 0x10]
ja 0x6bf64a
cmp dword [ebx + 0x3c], 0x1000
jle 0x6bf6f2
mov ecx, dword [ebx + 0x10]
push ecx
call dword [0x86beb4]
pop ecx
xor eax, eax
mov dword [ebx + 0x10], eax
cmp dword [ebp - 0x24], 0
jne 0x6bf714
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov cx, word [edx + 0x20]
cmp cx, word [eax + 0x1e]
jbe 0x6bf714
mov dword [ebp - 0x24], 0xf
cmp dword [ebp - 0x24], 0
jne 0x6bf734
test byte [ebp + 0xe], 2
jne 0x6bf734
mov dword [ebp - 0x5c], edi
push ebx
mov edx, dword [ebp - 0x28]
push edx
mov ecx, dword [ebp - 0x5c]
push ecx
call fcn.006b8d30
add esp, 0xc
cmp dword [ebp - 0x24], 0
jne 0x6bf818
cmp dword [ebx + 0x74], 0
je 0x6bf818
push 0xffffffffffffffff
mov eax, dword [ebp - 0x28]
push eax
push edi
call fcn.006b72a4
add esp, 0xc
mov esi, eax
test esi, esi
je 0x6bf818
xor eax, eax
xor edx, edx
mov al, byte [esi + 1]
mov dl, byte [esi + 2]
shl eax, 8
or eax, edx
jne 0x6bf7fc
xor ecx, ecx
xor eax, eax
mov cl, byte [esi - 2]
mov al, byte [esi - 1]
shl ecx, 8
or ecx, eax
add ecx, esi
add ecx, 0xfffffffd
mov dword [ebp - 0x60], ecx
xor ecx, ecx
mov edx, dword [ebp - 0x60]
mov cl, byte [edx]
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x60]
mov byte [ecx], 0
push 0
push ebx
push 1
mov eax, dword [ebp - 4]
test byte [eax + 9], 8
setne dl
and edx, 1
push edx
push esi
call fcn.006b6ec0
mov ecx, dword [ebp - 0x60]
add esp, 0x14
mov dl, byte [ebp - 0x64]
test eax, eax
mov byte [ecx], dl
jge 0x6bf7e7
cmp eax, 0xfffffffe
jne 0x6bf7d1
mov edx, 0x24
jmp 0x6bf7e2
cmp eax, 0xfffffffc
jne 0x6bf7dd
mov edx, 0x46
jmp 0x6bf7e2
mov edx, 0x19
mov dword [ebp - 0x24], edx
jmp 0x6bf818
cmp eax, dword [ebx + 0x48]
jle 0x6bf7ef
mov dword [ebx + 0x48], eax
mov ecx, eax
sar ecx, 8
and al, 0xff
mov byte [esi + 1], cl
mov byte [esi + 2], al
add esi, 3
push 0xffffffffffffffff
mov eax, dword [ebp - 0x28]
push eax
push esi
call fcn.006b72a4
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x6bf761
cmp dword [ebp - 0x24], 0
je 0x6bf858
mov eax, dword [ebp - 4]
push eax
call dword [0x86beb4]
pop ecx
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x18]
sub edx, dword [ebp + 8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x24]
push eax
call fcn.006b62a8
pop ecx
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
cmp dword [ebp + 0x10], 0
je 0x6bf851
mov ecx, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x24]
mov dword [ecx], ebx
xor eax, eax
jmp 0x6bf991
mov edx, dword [ebp - 4]
test byte [edx + 8], 0x10
jne 0x6bf8fb
push 0
push ebx
push 0
push edi
call fcn.006be72c
add esp, 0x10
test eax, eax
je 0x6bf880
mov ecx, dword [ebp - 4]
or dword [ecx + 8], 0x10
jmp 0x6bf8fb
cmp dword [ebp - 0xc], 0
jge 0x6bf898
push 0
lea ecx, [ebp - 0xc]
push ecx
push edi
call fcn.006beae4
add esp, 0xc
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0xc], 0
jl 0x6bf8dd
mov ax, word [ebp - 0x14]
mov edx, dword [ebp - 4]
and ax, 0xff
mov word [edx + 0x18], ax
test byte [ebp - 0xc], 1
je 0x6bf8d4
mov ecx, dword [ebp - 4]
mov edx, dword [ebx + 4]
movzx eax, word [ecx + 0x18]
xor ecx, ecx
mov cl, byte [edx + eax]
mov eax, dword [ebp - 4]
movzx edx, word [eax + 0x18]
cmp ecx, edx
je 0x6bf8d4
mov ecx, dword [ebp - 4]
or dword [ecx + 0xc], 0x20
mov eax, dword [ebp - 4]
or dword [eax + 0xc], 0x10
jmp 0x6bf8fb
push 0
push 0
push ebx
push 0
push edi
call fcn.006be8c0
add esp, 0x14
test eax, eax
je 0x6bf8fb
mov edx, dword [ebp - 4]
or dword [edx + 0xc], 0x100
cmp dword [ebp - 0x10], 0
jl 0x6bf950
mov ecx, dword [ebp - 4]
test byte [ecx + 8], 0x10
je 0x6bf910
test byte [ebp - 0x10], 2
je 0x6bf950
mov ax, word [ebp - 0x18]
mov edx, dword [ebp - 4]
and ax, 0xff
mov word [edx + 0x1a], ax
test byte [ebp - 0x10], 1
je 0x6bf949
mov ecx, dword [ebp - 4]
mov edx, dword [ebx + 4]
movzx eax, word [ecx + 0x1a]
xor ecx, ecx
mov cl, byte [edx + eax]
mov eax, dword [ebp - 4]
movzx edx, word [eax + 0x1a]
cmp ecx, edx
je 0x6bf949
mov ecx, dword [ebp - 4]
or dword [ecx + 0xc], 0x80
mov eax, dword [ebp - 4]
or dword [eax + 0xc], 0x40
push 0
push ebx
mov edx, dword [ebp - 0x28]
push edx
mov ecx, dword [ebp - 0x34]
push ecx
push edi
call fcn.006b74ec
add esp, 0x14
test eax, eax
je 0x6bf974
mov eax, dword [ebp - 4]
or dword [eax + 0xc], 0x8000
jmp 0x6bf98e
xor edx, edx
xor eax, eax
mov dl, byte [edi + 1]
mov al, byte [edi + 2]
shl edx, 8
or edx, eax
add edi, edx
xor edx, edx
mov dl, byte [edi]
cmp edx, 0x77
je 0x6bf950
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret