Function at 0x6b7fc0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1d0]
cmp eax, dword [ecx + 8]
jbe 0x6b995d
sub esp, 0x250
mov eax, 0
lea edi, [esp + 0x174]
call fcn.0044dd6b
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
lea eax, [0x7c0240]
mov dword [esp], eax
call fcn.0040eaf0
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x258]
mov dword [esp], ecx
mov edx, dword [esp + 0x25c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x2e
mov dword [esp + 0x10], 0x2e
call fcn.00462f80
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x6b9884
mov eax, dword [esp + 0x98]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], 0x2e
mov dword [esp + 0xbc], 0x2e
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb4]
cmp eax, 3
jbe 0x6b9956
add eax, 0xfffffffc
mov edx, dword [ecx]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], 0x2a
lea eax, [ecx + 4]
mov dword [esp + 0xb4], eax
cmp edx, 0x2014b50
jne 0x6b9863
mov eax, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
cmp edx, 1
jbe 0x6b994f
add edx, 0xfffffffe
movzx ebx, word [ecx + 4]
mov dword [esp + 0xb8], edx
add eax, 0xfffffffe
mov dword [esp + 0xbc], eax
neg eax
sar eax, 0x1f
and eax, 2
lea eax, [eax + ecx + 4]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x254]
mov word [eax + 0x12], bx
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb4]
cmp edx, 1
jbe 0x6b9948
add edx, 0xfffffffe
movzx ebp, word [ebx]
mov dword [esp + 0xb8], edx
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, ebx
mov dword [esp + 0xb4], ecx
mov word [eax + 0x14], bp
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb4]
cmp edx, 1
jbe 0x6b9941
add edx, 0xfffffffe
movzx ebp, word [ebx]
mov dword [esp + 0xb8], edx
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, ebx
mov dword [esp + 0xb4], ecx
mov word [eax + 0x16], bp
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb4]
cmp edx, 1
jbe 0x6b993a
add edx, 0xfffffffe
movzx ebp, word [ebx]
mov dword [esp + 0xb8], edx
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, ebx
mov dword [esp + 0xb4], ecx
mov word [eax + 0x18], bp
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb4]
cmp edx, 1
jbe 0x6b9933
add edx, 0xfffffffe
movzx ebp, word [ebx]
mov dword [esp + 0xb8], edx
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, ebx
mov dword [esp + 0xb4], ecx
mov word [eax + 0x30], bp
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb4]
cmp edx, 1
jbe 0x6b992c
add edx, 0xfffffffe
movzx ebp, word [ebx]
mov dword [esp + 0xb8], edx
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, ebx
mov dword [esp + 0xb4], ecx
mov word [eax + 0x32], bp
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb4]
cmp edx, 3
jbe 0x6b9925
add edx, 0xfffffffc
mov ebp, dword [ebx]
mov dword [esp + 0xb8], edx
add ecx, 0xfffffffc
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
add ecx, ebx
mov dword [esp + 0xb4], ecx
mov dword [eax + 0x34], ebp
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xb8]
cmp ebx, 3
jbe 0x6b991e
add ebx, 0xfffffffc
mov ebp, dword [edx]
mov dword [esp + 0xb8], ebx
add ecx, 0xfffffffc
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
add ecx, edx
mov dword [esp + 0xb4], ecx
mov dword [eax + 0x38], ebp
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb4]
cmp edx, 3
jbe 0x6b9917
add edx, 0xfffffffc
mov ebp, dword [ebx]
mov dword [esp + 0xb8], edx
add ecx, 0xfffffffc
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
add ecx, ebx
mov dword [esp + 0xb4], ecx
mov dword [eax + 0x3c], ebp
mov ecx, dword [eax + 0x38]
mov dword [eax + 0x40], ecx
mov dword [eax + 0x44], 0
mov ecx, dword [eax + 0x3c]
mov dword [eax + 0x48], ecx
mov dword [eax + 0x4c], 0
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb4]
cmp edx, 1
jbe 0x6b9910
movzx ebp, word [ebx]
add edx, 0xfffffffe
mov dword [esp + 0xb8], edx
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
lea edx, [ebx + ecx]
mov dword [esp + 0xb4], edx
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xb8]
cmp edi, 1
jbe 0x6b9909
movzx ecx, word [ebx + ecx]
mov dword [esp + 0x84], ecx
lea ebx, [edi - 2]
mov dword [esp + 0xb8], ebx
lea ebx, [esi - 2]
mov dword [esp + 0xbc], ebx
neg ebx
sar ebx, 0x1f
and ebx, 2
lea esi, [edx + ebx]
mov dword [esp + 0xb4], esi
mov edi, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
cmp edi, 1
jbe 0x6b9902
movzx edx, word [edx + ebx]
lea ebx, [edi - 2]
mov dword [esp + 0xb8], ebx
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, esi
mov dword [esp + 0xb4], ecx
mov ebx, dword [esp + 0xb8]
mov esi, dword [esp + 0xbc]
cmp ebx, 4
jb 0x6b98fb
mov dword [esp + 0x80], ebp
mov dword [esp + 0x7c], edx
lea edi, [esi - 4]
mov dword [esp + 0x78], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 4
lea edx, [ecx + edi]
mov dword [esp + 0xb4], edx
lea ebp, [ebx - 4]
mov dword [esp + 0xb8], ebp
mov eax, dword [esp + 0x78]
mov dword [esp + 0xbc], eax
cmp ebp, 3
jbe 0x6b98f4
lea eax, [ebx - 8]
mov ecx, dword [ecx + edi]
mov dword [esp + 0xb8], eax
lea eax, [esi - 8]
mov dword [esp + 0xbc], eax
neg eax
sar eax, 0x1f
and eax, 4
add eax, edx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x254]
mov dword [eax + 0x5c], ecx
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb4]
cmp edx, 3
jbe 0x6b98ed
add edx, 0xfffffffc
mov ebp, dword [ebx]
mov dword [esp + 0xb8], edx
add ecx, 0xfffffffc
mov dword [esp + 0xbc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
add ecx, ebx
mov dword [esp + 0xb4], ecx
mov dword [eax + 0x74], ebp
mov dword [eax + 0x78], 0
lea ecx, [0x7d0160]
mov dword [esp], ecx
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
lea ebx, [edx + ecx]
mov dword [esp + 0x78], ebx
mov ebp, dword [esp + 0x7c]
add ebp, ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.00439eb0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x88], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0x258]
mov dword [esp], ebx
mov ebx, dword [esp + 0x25c]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.00462f80
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test eax, eax
jne 0x6b984e
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x54]
cmp eax, ecx
ja 0x6b98e6
mov dword [esp], 0
mov edx, dword [esp + 0x88]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.0043d060
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x254]
mov dword [edx + 4], eax
mov eax, dword [0xcc2260]
test eax, eax
jne 0x6b9836
mov dword [edx], ecx
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x78]
cmp eax, ecx
ja 0x6b98df
mov ebx, dword [esp + 0x54]
cmp ecx, ebx
ja 0x6b98df
mov ebp, dword [esp + 0x84]
mov dword [edx + 0x54], ebp
mov ebp, ebx
sub ebx, eax
mov dword [edx + 0x58], ebx
mov esi, dword [0xcc2260]
lea edi, [edx + 0x50]
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0x88]
add eax, ebx
test esi, esi
jne 0x6b980f
mov dword [edx + 0x50], eax
mov eax, dword [esp + 0x50]
cmp ecx, eax
ja 0x6b98d8
mov dword [esp], 0
sub ebp, ecx
mov edx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ecx
add ebx, ebp
mov dword [esp + 4], ebx
sub eax, ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.0043d060
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x254]
mov dword [edx + 0xc], ecx
mov ecx, dword [0xcc2260]
lea ebx, [edx + 8]
test ecx, ecx
jne 0x6b97f7
mov dword [edx + 8], eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.006bbdf0
movzx eax, byte [esp + 8]
mov byte [esp + 0x35], al
movzx ecx, byte [esp + 9]
mov byte [esp + 0x36], cl
mov edx, dword [esp + 0x254]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.006bbdf0
movzx eax, byte [esp + 8]
movzx ecx, byte [esp + 9]
movzx edx, byte [esp + 0x35]
test dl, dl
je 0x6b97e7
test al, al
je 0x6b97e7
movzx edx, byte [esp + 0x36]
test dl, dl
je 0x6b97cf
mov ecx, dword [esp + 0x254]
movzx edx, word [ecx + 0x16]
test dx, 0x800
sete dl
mov byte [ecx + 0x10], dl
mov edx, dword [ecx + 0x3c]
mov ebx, dword [ecx + 0x38]
mov dword [esp + 0x74], ebx
mov ebp, dword [ecx + 0x74]
mov eax, ebp
mov ebp, dword [ecx + 0x78]
lea edi, [esp + 0x19c]
mov esi, eax
xor eax, eax
call fcn.0044dd6b
mov ecx, dword [esp + 0x254]
mov edi, ebp
mov ebp, dword [ecx + 0x50]
mov ebx, dword [ecx + 0x54]
mov ecx, dword [ecx + 0x58]
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x94], ecx
cmp edx, 0xffffffff
sete dl
mov ebx, dword [esp + 0x74]
cmp ebx, 0xffffffff
sete bl
cmp esi, 0xffffffff
xchg ebp, ebx
sete bl
xchg ebp, ebx
test edi, edi
mov esi, ecx
sete cl
and ecx, ebp
jmp 0x6b87aa
mov ebp, edx
mov edx, ecx
mov ecx, ebp
mov byte [esp + 0x38], cl
mov byte [esp + 0x39], bl
mov ebp, dword [esp + 0xa8]
mov edi, ecx
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb0]
cmp ecx, 4
jl 0x6b94a2
mov byte [esp + 0x37], dl
add ecx, 0xfffffffe
movzx edx, word [ebp]
mov word [esp + 0x3a], dx
mov dword [esp + 0xac], ecx
lea ecx, [ebx - 2]
mov dword [esp + 0xb0], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
lea ebx, [ebp + ecx]
mov dword [esp + 0x90], ebx
mov dword [esp + 0xa8], ebx
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0xac]
cmp ebx, 1
jbe 0x6b98d1
movzx ecx, word [ebp + ecx]
add ebx, 0xfffffffe
mov dword [esp + 0xac], ebx
add edx, 0xfffffffe
mov dword [esp + 0xb0], edx
neg edx
sar edx, 0x1f
and edx, 2
mov dword [esp + 0x84], edx
mov ebx, dword [esp + 0x90]
lea ebp, [ebx + edx]
mov dword [esp + 0xa8], ebp
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0xac]
cmp ebx, ecx
jl 0x6b94a2
cmp ecx, edx
ja 0x6b98ca
cmp ecx, ebx
ja 0x6b98c3
mov dword [esp + 0x8c], ebp
sub ebx, ecx
mov dword [esp + 0xac], ebx
mov ebx, edx
sub edx, ecx
mov dword [esp + 0xb0], edx
neg edx
sar edx, 0x1f
and edx, ecx
add edx, ebp
mov dword [esp + 0xa8], edx
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], ebx
movzx edx, word [esp + 0x3a]
cmp dx, 0xa
ja 0x6b917a
cmp dx, 1
jne 0x6b8c31
movzx edx, byte [esp + 0x37]
test dl, dl
je 0x6b8c25
cmp ecx, 8
jl 0x6b8c04
mov dword [esp + 0x80], ebx
add ecx, 0xfffffff8
mov edx, dword [esp + 0x84]
mov ebp, dword [esp + 0x90]
movzx ebx, byte [ebp + edx]
mov dword [esp + 0x74], ebx
movzx ebx, byte [ebp + edx + 1]
mov dword [esp + 0x70], ebx
movzx ebx, byte [ebp + edx + 2]
mov dword [esp + 0x6c], ebx
movzx ebx, byte [ebp + edx + 3]
mov dword [esp + 0x68], ebx
movzx ebx, byte [ebp + edx + 6]
mov dword [esp + 0x64], ebx
movzx ebx, byte [ebp + edx + 7]
mov dword [esp + 0x60], ebx
movzx ebx, byte [ebp + edx + 4]
movzx edx, byte [ebp + edx + 5]
mov dword [esp + 0x5c], edx
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x80]
add ecx, 0xfffffff8
mov dword [esp + 0xa4], ecx
neg ecx
sar ecx, 0x1f
and ecx, 8
mov ebp, dword [esp + 0x8c]
add ecx, ebp
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x70]
mov ebp, ecx
shl ecx, 8
mov edx, dword [esp + 0x74]
or edx, ecx
mov ecx, dword [esp + 0x6c]
shl ecx, 0x10
or edx, ecx
mov ecx, dword [esp + 0x68]
shl ecx, 0x18
or edx, ecx
mov ecx, dword [esp + 0x254]
mov dword [ecx + 0x48], edx
mov edx, dword [esp + 0x6c]
shr edx, 0x10
shr ebp, 0x18
or ebp, edx
mov edx, dword [esp + 0x68]
shr edx, 8
or edx, ebp
or ebx, edx
mov edx, dword [esp + 0x5c]
shl edx, 8
or edx, ebx
mov ebx, dword [esp + 0x64]
shl ebx, 0x10
or ebx, edx
mov edx, dword [esp + 0x60]
shl edx, 0x18
or edx, ebx
mov dword [ecx + 0x4c], edx
movzx edx, byte [esp + 0x39]
test dl, dl
je 0x6b8bfd
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
cmp ebx, 8
jl 0x6b8bdc
add ebx, 0xfffffff8
movzx ecx, byte [edx]
mov dword [esp + 0x74], ecx
movzx ecx, byte [edx + 1]
mov dword [esp + 0x70], ecx
movzx ecx, byte [edx + 2]
mov dword [esp + 0x6c], ecx
movzx ecx, byte [edx + 3]
mov dword [esp + 0x68], ecx
movzx ecx, byte [edx + 4]
mov dword [esp + 0x64], ecx
movzx ecx, byte [edx + 7]
mov dword [esp + 0x60], ecx
movzx ecx, byte [edx + 5]
mov dword [esp + 0x5c], ecx
movzx ecx, byte [edx + 6]
mov dword [esp + 0xa0], ebx
lea ebx, [ebp - 8]
mov dword [esp + 0xa4], ebx
neg ebx
sar ebx, 0x1f
and ebx, 8
add edx, ebx
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x70]
mov ebx, edx
shl edx, 8
mov ebp, dword [esp + 0x74]
or ebp, edx
mov edx, dword [esp + 0x6c]
shl edx, 0x10
or edx, ebp
mov ebp, dword [esp + 0x68]
shl ebp, 0x18
or ebp, edx
mov edx, dword [esp + 0x254]
mov dword [edx + 0x40], ebp
mov ebp, dword [esp + 0x6c]
shr ebp, 0x10
shr ebx, 0x18
or ebx, ebp
mov ebp, dword [esp + 0x68]
shr ebp, 8
or ebp, ebx
mov ebx, dword [esp + 0x64]
or ebx, ebp
mov ebp, dword [esp + 0x5c]
shl ebp, 8
or ebp, ebx
shl ecx, 0x10
or ecx, ebp
mov ebx, dword [esp + 0x60]
shl ebx, 0x18
or ecx, ebx
mov dword [edx + 0x44], ecx
xchg edi, eax
test al, al
xchg edi, eax
je 0x6b8bd8
mov ecx, dword [esp + 0x9c]
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
cmp ebx, 8
jl 0x6b8bb7
add ebx, 0xfffffff8
mov edi, edx
movzx edx, byte [ecx + 2]
mov dword [esp + 0x74], edx
movzx edx, byte [ecx + 1]
mov dword [esp + 0x70], edx
movzx edx, byte [ecx]
mov dword [esp + 0x6c], edx
movzx edx, byte [ecx + 3]
mov dword [esp + 0x68], edx
movzx edx, byte [ecx + 4]
mov dword [esp + 0x64], edx
movzx edx, byte [ecx + 7]
mov dword [esp + 0x60], edx
movzx edx, byte [ecx + 6]
mov dword [esp + 0x5c], edx
movzx edx, byte [ecx + 5]
mov dword [esp + 0xa0], ebx
lea ebx, [ebp - 8]
mov dword [esp + 0xa4], ebx
neg ebx
sar ebx, 0x1f
and ebx, 8
add ecx, ebx
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x70]
mov ebx, ecx
shl ecx, 8
mov ebp, dword [esp + 0x6c]
or ecx, ebp
mov ebp, dword [esp + 0x74]
shl ebp, 0x10
or ebp, ecx
mov ecx, dword [esp + 0x68]
shl ecx, 0x18
or ecx, ebp
mov dword [edi + 0x74], ecx
mov ecx, dword [esp + 0x74]
shr ecx, 0x10
shr ebx, 0x18
or ebx, ecx
mov ecx, dword [esp + 0x68]
shr ecx, 8
or ecx, ebx
mov ebx, dword [esp + 0x64]
or ebx, ecx
shl edx, 8
or edx, ebx
mov ecx, dword [esp + 0x5c]
shl ecx, 0x10
or ecx, edx
mov edx, dword [esp + 0x60]
shl edx, 0x18
or ecx, edx
mov dword [edi + 0x78], ecx
xor ecx, ecx
xor edx, edx
xor ebx, ebx
jmp 0x6b87a4
mov eax, dword [0xcad270]
mov ecx, dword [0xcad274]
mov dword [esp + 0x260], eax
mov dword [esp + 0x264], ecx
add esp, 0x250
ret
mov edi, edx
jmp 0x6b8bac
mov eax, dword [0xcad270]
mov ecx, dword [0xcad274]
mov dword [esp + 0x260], eax
mov dword [esp + 0x264], ecx
add esp, 0x250
ret
mov edx, ecx
jmp 0x6b8ac9
mov eax, dword [0xcad274]
mov ecx, dword [0xcad270]
mov dword [esp + 0x260], ecx
mov dword [esp + 0x264], eax
add esp, 0x250
ret
mov ecx, dword [esp + 0x254]
jmp 0x6b89de
cmp dx, 0xa
jne 0x6b915f
cmp ecx, 4
jge 0x6b8c5b
mov edi, dword [esp + 0x254]
movzx ecx, byte [esp + 0x37]
movzx edx, byte [esp + 0x38]
movzx ebx, byte [esp + 0x39]
jmp 0x6b87a4
add ecx, 0xfffffffc
mov dword [esp + 0xa0], ecx
lea ecx, [ebx - 4]
mov dword [esp + 0xa4], ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
add ecx, ebp
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0xa4]
cmp edx, 4
jl 0x6b9144
add edx, 0xfffffffe
movzx ebp, word [ecx]
mov word [esp + 0x3a], bp
mov dword [esp + 0xa0], edx
lea edx, [ebx - 2]
mov dword [esp + 0xa4], edx
neg edx
sar edx, 0x1f
and edx, 2
lea ebx, [edx + ecx]
mov dword [esp + 0x90], ebx
mov dword [esp + 0x9c], ebx
mov ebp, dword [esp + 0xa0]
mov ebx, dword [esp + 0xa4]
cmp ebp, 1
jbe 0x6b98bc
movzx ecx, word [ecx + edx]
lea edx, [ebp - 2]
mov dword [esp + 0xa0], edx
lea edx, [ebx - 2]
mov dword [esp + 0xa4], edx
neg edx
sar edx, 0x1f
and edx, 2
mov dword [esp + 0x84], edx
mov ebx, dword [esp + 0x90]
lea ebp, [ebx + edx]
mov dword [esp + 0x9c], ebp
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0xa4]
cmp edx, ecx
jl 0x6b9129
cmp ecx, ebx
ja 0x6b98b5
cmp ecx, edx
ja 0x6b98ae
sub edx, ecx
mov dword [esp + 0xa0], edx
sub ebx, ecx
mov dword [esp + 0xa4], ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
lea edx, [ebp + ebx]
mov dword [esp + 0x9c], edx
movzx edx, word [esp + 0x3a]
cmp dx, 1
jne 0x6b8c80
cmp ecx, 0x18
jne 0x6b8c80
cmp ecx, 7
jbe 0x6b98a7
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x90]
movzx edx, byte [ecx + eax + 1]
movzx ebx, byte [ecx + eax]
movzx ebp, byte [ecx + eax + 2]
movzx esi, byte [ecx + eax + 3]
mov edi, edx
shl edx, 8
or ebx, edx
mov edx, ebp
shl ebp, 0x10
or ebx, ebp
mov ebp, esi
shl esi, 0x18
or ebx, esi
mov dword [esp + 0x74], ebx
movzx esi, byte [ecx + eax + 5]
mov dword [esp + 0x70], esi
movzx esi, byte [ecx + eax + 6]
mov dword [esp + 0x6c], esi
movzx esi, byte [ecx + eax + 7]
movzx eax, byte [ecx + eax + 4]
mov dword [esp], ebx
shr edx, 0x10
shr edi, 0x18
or edi, edx
shr ebp, 8
or ebp, edi
or eax, ebp
mov ecx, dword [esp + 0x70]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x6c]
shl eax, 0x10
or eax, ecx
shl esi, 0x18
or esi, eax
mov dword [esp + 0x70], esi
mov dword [esp + 4], esi
mov dword [esp + 8], 0x989680
mov dword [esp + 0xc], 0
call fcn.00449000
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x74]
mov dword [esp], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x989680
mov dword [esp + 0xc], 0
call fcn.00449180
mov eax, dword [esp + 0x10]
mov ecx, 0x64
mul ecx
mov dword [esp + 0x74], edx
mov dword [esp + 0x4c], eax
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x58], ebx
mov dword [esp], 0x641
mov dword [esp + 4], 1
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov ebp, dword [0xc76500]
mov dword [esp + 0x1c], ebp
call fcn.00483a10
lea edi, [esp + 0x1b0]
mov esi, dword [esp + 0x94]
call fcn.0044e24e
lea edi, [esp + 0x174]
lea esi, [esp + 0x1b0]
call fcn.0044e24e
mov eax, dword [esp + 0x58]
imul eax, eax, 0x64
mov ecx, dword [esp + 0x74]
add eax, ecx
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov ebx, ecx
shr ecx, 0x1f
shl ecx, 0x1f
test ecx, ecx
je 0x6b9116
mov ecx, edx
shr edx, 0x1f
shl ebx, 1
or ebx, edx
mov edx, ebx
shl ebx, 1
shl ecx, 1
shr ecx, 0x1f
or ecx, ebx
mov ebx, ecx
add ecx, 0xd7b17f80
shr edx, 0x1f
add ebx, 0xd7b17f80
adc edx, 0xd
mov dword [esp + 0x74], eax
mov ebx, dword [esp + 0x44]
mov ebp, ecx
add ecx, ebx
mov esi, ecx
add ecx, 0x886e0900
mov dword [esp + 0x3c], ecx
lea edi, [esp + 0xc0]
xor eax, eax
call fcn.0044dd6b
add ebp, ebx
mov ecx, dword [esp + 0x48]
adc edx, ecx
mov ecx, esi
add esi, 0x886e0900
mov ebx, edx
adc edx, 0xfffffff1
mov dword [esp + 0x40], edx
mov ebp, dword [esp + 0x4c]
cmp ebp, 0x3b9aca00
mov esi, ebx
setae bl
mov edi, ecx
mov ecx, dword [esp + 0x74]
test ecx, ecx
sete dl
and edx, ebx
test ecx, ecx
seta bl
or edx, ebx
test dl, dl
jne 0x6b9063
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov ebx, ecx
add ecx, 0x7791f700
mov dword [esp + 0x74], ecx
lea edi, [esp + 0x124]
call fcn.0044dd6b
lea edi, [esp + 0x228]
call fcn.0044dd6b
mov dword [esp + 0x228], ebp
sar ebp, 0x1f
mov dword [esp + 0x22c], ebp
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x230], ecx
add ebx, 0x7791f700
adc edx, 0xe
mov dword [esp + 0x234], edx
mov ecx, dword [0xc764fc]
mov dword [esp + 0x238], ecx
lea edi, [esp + 0x124]
lea esi, [esp + 0x228]
call fcn.0044e24e
lea edi, [esp + 0x214]
lea esi, [esp + 0x124]
call fcn.0044e24e
lea edi, [esp + 0xc0]
lea esi, [esp + 0x214]
call fcn.0044e24e
lea edi, [esp + 0x19c]
lea esi, [esp + 0xc0]
call fcn.0044e24e
mov esi, dword [esp + 0x94]
movzx edi, byte [esp + 0x38]
jmp 0x6b8c80
mov dword [esp + 0x58], esi
mov dword [esp + 0x70], edi
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x3b9aca00
mov dword [esp + 0xc], 0
call fcn.00449000
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x70]
mov edx, ecx
add ecx, eax
mov ebx, ecx
add ecx, 0x886e0900
mov dword [esp + 0x3c], ecx
mov ebp, 0x3b9aca00
mov esi, edx
mov edi, eax
mul ebp
mov ebp, dword [esp + 0x4c]
sub ebp, eax
mov ecx, dword [esp + 0x14]
add esi, edi
mov esi, dword [esp + 0x58]
adc esi, ecx
mov edi, ebx
add ebx, 0x886e0900
mov ebx, esi
adc esi, 0xfffffff1
imul ecx, ecx, 0x3b9aca00
add ecx, edx
mov edx, dword [esp + 0x4c]
sub edx, eax
mov eax, dword [esp + 0x74]
sbb eax, ecx
test ebp, ebp
setb cl
test eax, eax
sete dl
and ecx, edx
test eax, eax
setl al
or ecx, eax
test cl, cl
je 0x6b910e
add ebp, 0x3b9aca00
add edi, 0x886e08ff
adc ebx, 0xfffffff1
xor eax, eax
mov ecx, edi
mov edx, ebx
jmp 0x6b8fa9
mov edi, dword [esp + 0x3c]
mov ebx, esi
jmp 0x6b9103
mov edx, dword [esp + 0x180]
mov ecx, dword [esp + 0x17c]
jmp 0x6b8f37
mov edi, dword [esp + 0x254]
movzx ecx, byte [esp + 0x37]
movzx edx, byte [esp + 0x38]
movzx ebx, byte [esp + 0x39]
jmp 0x6b87a4
mov edi, dword [esp + 0x254]
movzx ecx, byte [esp + 0x37]
movzx edx, byte [esp + 0x38]
movzx ebx, byte [esp + 0x39]
jmp 0x6b87a4
mov edi, dword [esp + 0x254]
movzx ecx, byte [esp + 0x37]
movzx edx, byte [esp + 0x38]
movzx ebx, byte [esp + 0x39]
jmp 0x6b87a4
cmp dx, 0xd
jne 0x6b92fb
cmp ecx, 8
jge 0x6b91a4
mov edi, dword [esp + 0x254]
movzx ecx, byte [esp + 0x37]
movzx edx, byte [esp + 0x38]
movzx ebx, byte [esp + 0x39]
jmp 0x6b87a4
add ecx, 0xfffffffc
mov dword [esp + 0xa0], ecx
lea ecx, [ebx - 4]
mov dword [esp + 0xa4], ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
lea edx, [ebp + ecx]
mov dword [esp + 0x90], edx
mov dword [esp + 0x9c], edx
mov ebx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
cmp edx, 3
jbe 0x6b98a0
mov ecx, dword [ebp + ecx]
mov dword [esp + 0x74], ecx
add ecx, 0x7791f700
lea ebp, [edx - 4]
mov dword [esp + 0xa0], ebp
lea ebp, [ebx - 4]
mov dword [esp + 0xa4], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 4
mov edx, ecx
mov ecx, dword [esp + 0x90]
add ecx, ebp
mov dword [esp + 0x9c], ecx
lea edi, [esp + 0x110]
call fcn.0044dd6b
lea edi, [esp + 0xfc]
call fcn.0044dd6b
lea edi, [esp + 0x200]
call fcn.0044dd6b
mov dword [esp + 0x200], 0
mov dword [esp + 0x204], 0
mov dword [esp + 0x208], edx
mov ecx, dword [esp + 0x74]
add ecx, 0x7791f700
adc eax, 0xe
mov dword [esp + 0x20c], eax
mov ecx, dword [0xc764fc]
mov dword [esp + 0x210], ecx
lea edi, [esp + 0xfc]
lea esi, [esp + 0x200]
call fcn.0044e24e
lea edi, [esp + 0x1ec]
lea esi, [esp + 0xfc]
call fcn.0044e24e
lea edi, [esp + 0x110]
lea esi, [esp + 0x1ec]
call fcn.0044e24e
lea edi, [esp + 0x19c]
lea esi, [esp + 0x110]
call fcn.0044e24e
xor eax, eax
mov esi, dword [esp + 0x94]
mov edi, dword [esp + 0x254]
movzx ecx, byte [esp + 0x37]
movzx edx, byte [esp + 0x38]
movzx ebx, byte [esp + 0x39]
jmp 0x6b87a4
cmp dx, 0x5455
jne 0x6b9492
cmp ecx, 5
jge 0x6b9326
mov edi, dword [esp + 0x254]
movzx ecx, byte [esp + 0x37]
movzx edx, byte [esp + 0x38]
movzx ebx, byte [esp + 0x39]
jmp 0x6b87a4
mov edx, dword [esp + 0x84]
mov ebp, dword [esp + 0x90]
movzx edx, byte [ebp + edx]
dec ecx
mov dword [esp + 0xa0], ecx
lea ecx, [ebx - 1]
mov dword [esp + 0xa4], ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
mov ebx, dword [esp + 0x8c]
lea ebp, [ecx + ebx]
mov dword [esp + 0x9c], ebp
test dl, 1
je 0x6b930b
mov dword [esp + 0x90], ebp
mov edx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xa0]
cmp ebp, 3
jbe 0x6b9899
mov ecx, dword [ecx + ebx]
mov ebx, ecx
add ecx, 0x7791f700
add ebp, 0xfffffffc
mov dword [esp + 0xa0], ebp
lea ebp, [edx - 4]
mov dword [esp + 0xa4], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 4
mov edx, ecx
mov ecx, dword [esp + 0x90]
add ecx, ebp
mov dword [esp + 0x9c], ecx
lea edi, [esp + 0xe8]
call fcn.0044dd6b
lea edi, [esp + 0x138]
call fcn.0044dd6b
lea edi, [esp + 0x1d8]
call fcn.0044dd6b
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x1dc], 0
mov dword [esp + 0x1e0], edx
add ebx, 0x7791f700
adc eax, 0xe
mov dword [esp + 0x1e4], eax
mov ecx, dword [0xc764fc]
mov dword [esp + 0x1e8], ecx
lea edi, [esp + 0x138]
lea esi, [esp + 0x1d8]
call fcn.0044e24e
lea edi, [esp + 0x1c4]
lea esi, [esp + 0x138]
call fcn.0044e24e
lea edi, [esp + 0xe8]
lea esi, [esp + 0x1c4]
call fcn.0044e24e
lea edi, [esp + 0x19c]
lea esi, [esp + 0xe8]
call fcn.0044e24e
xor eax, eax
mov esi, dword [esp + 0x94]
mov edi, dword [esp + 0x254]
movzx ecx, byte [esp + 0x37]
movzx edx, byte [esp + 0x38]
movzx ebx, byte [esp + 0x39]
jmp 0x6b87a4
cmp dx, 0x5855
je 0x6b9184
jmp 0x6b915f
mov eax, dword [esp + 0x254]
movzx ecx, word [eax + 0x32]
movzx edx, word [eax + 0x30]
mov word [esp + 2], dx
mov word [esp], cx
call fcn.006bb800
lea esi, [esp + 4]
lea edi, [esp + 0x188]
call fcn.0044e24e
mov eax, dword [0xcc2260]
mov ecx, dword [esp + 0x254]
lea edi, [ecx + 0x1c]
mov dword [esp + 0x94], edi
test eax, eax
jne 0x6b97ad
lea esi, [esp + 0x188]
call fcn.0044e24e
lea edi, [esp + 0x14c]
lea esi, [esp + 0x19c]
call fcn.0044e24e
mov ecx, dword [esp + 0x14c]
mov edx, dword [esp + 0x150]
mov ebx, edx
shr edx, 0x1f
shl edx, 0x1f
test edx, edx
je 0x6b9796
mov edx, ecx
shr ecx, 0x1f
shl ebx, 1
or ebx, ecx
mov ecx, ebx
shl ebx, 1
mov ebp, edx
shl edx, 1
shr edx, 0x1f
or edx, ebx
mov ebx, edx
add edx, 0xd7b17f80
shr ecx, 0x1f
add ebx, 0xd7b17f80
adc ecx, 0xd
test edx, edx
sete dl
test ecx, ecx
sete cl
and ecx, edx
test cl, cl
je 0x6b978f
test ebp, 0x3fffffff
sete cl
test cl, cl
je 0x6b95c6
movzx eax, byte [esp + 0x39]
test al, al
je 0x6b95a0
mov eax, dword [0xcad274]
mov ecx, dword [0xcad270]
mov dword [esp + 0x260], ecx
mov dword [esp + 0x264], eax
add esp, 0x250
ret
movzx eax, byte [esp + 0x38]
test al, al
jne 0x6b957f
mov dword [esp + 0x260], 0
mov dword [esp + 0x264], 0
add esp, 0x250
ret
lea edi, [esp + 0x160]
lea esi, [esp + 0x19c]
call fcn.0044e24e
lea edi, [esp + 0xd4]
xor eax, eax
call fcn.0044dd6b
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x164]
mov ebx, edx
shr edx, 0x1f
shl edx, 0x1f
test edx, edx
je 0x6b9654
mov eax, ecx
shr ecx, 0x1f
shl ebx, 1
or ebx, ecx
shl eax, 1
shr eax, 0x1f
mov ecx, ebx
shl ebx, 1
or eax, ebx
mov edx, eax
add eax, 0xd7b17f80
mov dword [esp + 0x168], eax
shr ecx, 0x1f
add edx, 0xd7b17f80
adc ecx, 0xd
mov dword [esp + 0x16c], ecx
mov eax, dword [esp + 0x160]
and eax, 0x3fffffff
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], 0
mov dword [esp + 0x170], 0
lea edi, [esp + 0xd4]
lea esi, [esp + 0x160]
call fcn.0044e24e
mov eax, dword [0xcc2260]
test eax, eax
jne 0x6b9766
mov edi, dword [esp + 0x94]
lea esi, [esp + 0xd4]
call fcn.0044e24e
mov eax, dword [esp + 0x254]
movzx ecx, word [eax + 0x30]
test cx, cx
je 0x6b9754
mov edi, esp
lea esi, [esp + 0x188]
call fcn.0044e24e
lea edi, [esp + 0x14]
lea esi, [esp + 0x19c]
call fcn.0044e24e
call fcn.00481c50
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.006bb5d0
mov eax, dword [esp + 8]
mov edi, esp
lea esi, [esp + 0x19c]
call fcn.0044e24e
mov dword [esp + 0x14], eax
call fcn.00482700
lea esi, [esp + 0x18]
lea edi, [esp + 0x23c]
call fcn.0044e24e
mov eax, dword [0xcc2260]
test eax, eax
jne 0x6b972b
mov edi, dword [esp + 0x94]
lea esi, [esp + 0x23c]
call fcn.0044e24e
jmp 0x6b9576
lea eax, [0x83f560]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
lea eax, [esp + 0x23c]
mov dword [esp + 8], eax
call fcn.0040f470
jmp 0x6b9576
movzx eax, word [eax + 0x32]
test ax, ax
jne 0x6b96a7
jmp 0x6b9576
lea eax, [0x83f560]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
lea ecx, [esp + 0xd4]
mov dword [esp + 8], ecx
call fcn.0040f470
jmp 0x6b9693
xor ecx, ecx
jmp 0x6b9572
mov edx, dword [esp + 0x154]
mov ebx, dword [esp + 0x158]
mov ebp, ecx
mov ecx, ebx
jmp 0x6b9555
lea eax, [0x83f560]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x188]
mov dword [esp + 8], eax
call fcn.0040f470
jmp 0x6b94fa
test cl, cl
jne 0x6b8715
mov ecx, dword [esp + 0x254]
mov byte [ecx + 0x10], 0
jmp 0x6b872b
mov ecx, dword [esp + 0x254]
mov byte [ecx + 0x10], 1
jmp 0x6b872b
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040f360
mov edx, dword [esp + 0x254]
jmp 0x6b86ad
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.0040f360
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x254]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x54]
jmp 0x6b8650
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.0040f360
mov edx, dword [esp + 0x254]
jmp 0x6b85fc
mov dword [esp + 0x260], eax
mov dword [esp + 0x264], ecx
add esp, 0x250
ret
mov eax, dword [0xcad274]
mov ecx, dword [0xcad270]
mov dword [esp + 0x260], ecx
mov dword [esp + 0x264], eax
add esp, 0x250
ret
mov dword [esp + 0x260], ecx
mov dword [esp + 0x264], eax
add esp, 0x250
ret
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426ad0
ud2
call fcn.00426ad0
ud2
call fcn.00426a70
ud2
call fcn.00426ad0
ud2
call fcn.00426ad0
ud2
call fcn.00426a70
ud2
call fcn.00426ad0
ud2
call fcn.00426ad0
ud2
call fcn.00426ad0
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426ad0
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.0044c200
jmp fcn.006b7fc0