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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffff7c
mov edi, edx
mov ebx, eax
test edi, edi
jl 0x699a05
mov eax, dword [ebx + 0x298]
cmp edi, dword [eax + 8]
jge 0x699a05
mov eax, dword [ebx + 0x2a0]
cmp dword [eax + 0x18], 0
jle 0x699a05
mov dword [esp], 0x1fffffff
mov dword [esp + 4], 0x1fffffff
mov dword [esp + 8], 0x1fffffff
mov dword [esp + 0xc], 0x1fffffff
mov dword [esp + 0x10], 0x1fffffff
mov dword [esp + 0x18], 0x1fffffff
mov byte [esp + 0x14], 0
mov byte [esp + 0x15], 0
mov byte [esp + 0x16], 1
mov byte [esp + 0x22], 0
lea ecx, [esp + 0x3c]
mov edx, edi
mov eax, ebx
call fcn.0069f770
cmp dword [esp + 0x3c], 0xffffffff
jg 0x697a6b
cmp dword [esp + 0x44], 0xffffffff
jle 0x699a05
mov byte [esp + 0x23], 0
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp byte [eax + 0x2d1], 0
je 0x697a93
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ebp, dword [eax + 0x2d4]
jmp 0x697a9c
mov eax, dword [ebx + 0x288]
mov ebp, dword [eax + 0x38]
mov eax, dword [ebp + 0x9c]
mov dword [esp + 0x28], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp byte [eax + 0x284], 0
jne 0x697b0c
cmp byte [ebx + 0x29d], 0
je 0x697b0c
cmp byte [ebx + 0x29d], 0
je 0x69815a
mov eax, dword [ebp + 0x34]
mov dword [esp], eax
mov eax, dword [ebp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x58]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x54]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x2c]
mov dword [esp + 0x10], eax
movzx eax, byte [ebp + 0x65]
mov byte [esp + 0x15], al
movzx eax, byte [ebp + 0x67]
mov byte [esp + 0x14], al
mov eax, dword [ebp + 0x68]
mov dword [esp + 0x18], eax
jmp 0x69815a
mov eax, ebx
call fcn.0069e988
cmp edi, eax
jne 0x697c9d
mov eax, dword [ebp + 0x3c]
mov dword [esp], eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x60]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x5c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x10], eax
movzx eax, byte [ebp + 0x64]
mov byte [esp + 0x15], al
movzx eax, byte [ebp + 0x66]
mov byte [esp + 0x14], al
mov eax, dword [ebp + 0x6c]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x9c]
mov dword [esp + 0x28], eax
cmp edi, dword [ebx + 0x2ac]
jne 0x697b77
mov eax, dword [ebp + 0x7c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x98]
mov dword [esp + 0x28], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp dword [eax + 0x28c], 0
je 0x697c6e
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp byte [eax + 0x29c], 1
jne 0x697c3e
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x298]
mov edx, dword [ebp + 0x20]
mov eax, dword [esp]
call fcn.006894c4
mov dword [esp], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x298]
mov edx, dword [ebp + 0x24]
mov eax, dword [esp + 4]
call fcn.006894c4
mov dword [esp + 4], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x298]
mov edx, dword [ebp + 0x48]
mov eax, dword [esp + 8]
call fcn.006894c4
mov dword [esp + 8], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x298]
mov edx, dword [ebp + 0x4c]
mov eax, dword [esp + 0xc]
call fcn.006894c4
mov dword [esp + 0xc], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x298]
mov edx, dword [ebp + 0x14]
mov eax, dword [esp + 0x10]
call fcn.006894c4
mov dword [esp + 0x10], eax
jmp 0x697c6e
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp byte [eax + 0x29c], 0
jne 0x697c6e
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x7c]
call fcn.006894c4
mov dword [esp + 0x10], eax
cmp edi, dword [ebx + 0x2b0]
jne 0x69815a
test byte [ebx + 0x1c], 0x10
jne 0x69815a
mov eax, dword [ebp + 0x80]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x90]
mov dword [esp + 0x28], eax
jmp 0x69815a
cmp edi, dword [ebx + 0x2ac]
jne 0x697ed6
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x4c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x10], eax
movzx eax, byte [ebp + 0x53]
mov byte [esp + 0x15], al
movzx eax, byte [ebp + 0x51]
mov byte [esp + 0x14], al
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x88]
mov dword [esp + 0x28], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp dword [eax + 0x28c], 0
je 0x69815a
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp byte [eax + 0x29c], 0
jne 0x69815a
cmp byte [ebx + 0x29d], 0
je 0x697dbf
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
call fcn.006894c4
mov dword [esp], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x24]
call fcn.006894c4
mov dword [esp + 4], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov edx, dword [ebp + 0x40]
mov eax, dword [ebp + 0x48]
call fcn.006894c4
mov dword [esp + 8], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov edx, dword [ebp + 0x44]
mov eax, dword [ebp + 0x4c]
call fcn.006894c4
mov dword [esp + 0xc], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
call fcn.006894c4
mov dword [esp + 0x10], eax
jmp 0x69815a
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov eax, dword [ebx + 0x288]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x78]
mov edx, dword [eax + 8]
mov eax, dword [ebp + 0x20]
call fcn.006894c4
mov dword [esp], eax
mov eax, dword [ebx + 0x288]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x78]
cmp dword [eax + 0xc], 0x1fffffff
je 0x697e29
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov eax, dword [ebx + 0x288]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x78]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp + 0x24]
call fcn.006894c4
mov dword [esp + 4], eax
jmp 0x697e53
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov eax, dword [ebx + 0x288]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x78]
mov edx, dword [eax + 8]
mov eax, dword [ebp + 0x24]
call fcn.006894c4
mov dword [esp + 4], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov eax, dword [ebx + 0x288]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x78]
mov edx, dword [eax + 8]
mov eax, dword [ebp + 0x48]
call fcn.006894c4
mov dword [esp + 8], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov eax, dword [ebx + 0x288]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x78]
mov edx, dword [eax + 8]
mov eax, dword [ebp + 0x4c]
call fcn.006894c4
mov dword [esp + 0xc], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov eax, dword [ebx + 0x288]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x78]
mov edx, dword [eax + 8]
mov eax, dword [ebp + 0x14]
call fcn.006894c4
mov dword [esp + 0x10], eax
jmp 0x69815a
cmp byte [ebx + 0x29d], 0
je 0x697fe2
mov eax, dword [ebp + 0x18]
mov dword [esp], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x44]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x10], eax
movzx eax, byte [ebp + 0x52]
mov byte [esp + 0x15], al
movzx eax, byte [ebp + 0x50]
mov byte [esp + 0x14], al
mov eax, dword [ebp + 0x70]
mov dword [esp + 0x18], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp dword [eax + 0x28c], 0
je 0x69815a
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp byte [eax + 0x29c], 0
jne 0x69815a
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
call fcn.006894c4
mov dword [esp], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x24]
call fcn.006894c4
mov dword [esp + 4], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov edx, dword [ebp + 0x40]
mov eax, dword [ebp + 0x48]
call fcn.006894c4
mov dword [esp + 8], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov edx, dword [ebp + 0x44]
mov eax, dword [ebp + 0x4c]
call fcn.006894c4
mov dword [esp + 0xc], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
call fcn.006894c4
mov dword [esp + 0x10], eax
jmp 0x69815a
mov byte [esp + 0x16], 0
mov eax, dword [ebp + 0x70]
mov dword [esp + 0x18], eax
movzx eax, byte [ebp + 0x53]
mov byte [esp + 0x15], al
movzx eax, byte [ebp + 0x51]
mov byte [esp + 0x14], al
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp byte [eax + 0x284], 0
jne 0x698017
mov eax, dword [ebp + 0x68]
mov dword [esp + 0x18], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp dword [eax + 0x28c], 0
je 0x69815a
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp byte [eax + 0x29c], 0
jne 0x69815a
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov eax, dword [ebx + 0x288]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x78]
mov edx, dword [eax + 8]
mov eax, dword [ebp + 0x20]
call fcn.006894c4
mov dword [esp], eax
mov eax, dword [ebx + 0x288]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x78]
cmp dword [eax + 0xc], 0x1fffffff
je 0x6980ad
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov eax, dword [ebx + 0x288]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x78]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp + 0x24]
call fcn.006894c4
mov dword [esp + 4], eax
jmp 0x6980d7
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov eax, dword [ebx + 0x288]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x78]
mov edx, dword [eax + 8]
mov eax, dword [ebp + 0x24]
call fcn.006894c4
mov dword [esp + 4], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov eax, dword [ebx + 0x288]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x78]
mov edx, dword [eax + 8]
mov eax, dword [ebp + 0x48]
call fcn.006894c4
mov dword [esp + 8], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov eax, dword [ebx + 0x288]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x78]
mov edx, dword [eax + 8]
mov eax, dword [ebp + 0x4c]
call fcn.006894c4
mov dword [esp + 0xc], eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov ecx, dword [eax + 0x294]
mov eax, dword [ebx + 0x288]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x78]
mov edx, dword [eax + 8]
mov eax, dword [ebp + 0x14]
call fcn.006894c4
mov dword [esp + 0x10], eax
mov byte [esp + 0x16], 1
mov eax, ebx
mov si, 0xffb3
call fcn.004bfa18
test al, al
je 0x6981bc
mov eax, ebx
call fcn.0069e988
cmp edi, eax
jne 0x6981bc
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x4c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x7c]
mov dword [esp + 0x10], eax
movzx eax, byte [ebp + 0x53]
mov byte [esp + 0x15], al
movzx eax, byte [ebp + 0x51]
mov byte [esp + 0x14], al
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x94]
mov dword [esp + 0x28], eax
mov byte [esp + 0x22], 1
test byte [ebx + 0x1c], 0x10
jne 0x69821d
cmp byte [ebx + 0x390], 0
je 0x69821d
cmp dword [ebx + 0x3e8], 0
je 0x69821d
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp byte [eax + 0x2fc], 0
je 0x69821d
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp dword [eax + 0x300], 0x1fffffff
je 0x69821d
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov eax, dword [eax + 0x300]
mov ecx, dword [ebx + 0x3ec]
mov edx, dword [esp + 0x10]
call fcn.006894c4
mov dword [esp + 0x10], eax
mov eax, dword [esp]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x38], eax
cmp byte [esp + 0x16], 0
je 0x6998d7
mov eax, dword [ebx + 0x2a0]
movzx eax, byte [eax + 0x2f]
mov byte [esp + 0x24], al
mov byte [esp + 0x21], 1
movzx eax, byte [ebx + 0x2e8]
mov byte [esp + 0x20], al
movzx eax, byte [esp + 0x20]
add al, 0xfe
sub al, 2
jae 0x698288
cmp byte [ebx + 0x310], 0
jne 0x698288
mov byte [esp + 0x20], 0
mov byte [esp + 0x21], 0
mov byte [esp + 0x24], 0
movzx eax, byte [ebx + 0x2e8]
sub al, 1
jb 0x6982aa
je 0x6982de
dec al
je 0x698345
dec al
je 0x698376
jmp 0x6983d6
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x18]
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x44]
dec edx
mov ecx, dword [esp + 0x40]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x18]
mov dword [esp + 0x30], eax
jmp 0x6983d6
mov ecx, dword [esp + 0x48]
sub ecx, 2
mov edx, dword [esp + 0x3c]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x18]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x48]
dec ecx
mov edx, dword [esp + 0x44]
dec edx
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x18]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x18]
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x44]
dec edx
mov ecx, dword [esp + 0x40]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x18]
mov dword [esp + 0x38], eax
jmp 0x6983d6
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x18]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x48]
dec ecx
mov edx, dword [esp + 0x3c]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x18]
mov dword [esp + 0x30], eax
jmp 0x6983d6
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x18]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x48]
dec ecx
mov edx, dword [esp + 0x44]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x18]
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x44]
dec edx
mov ecx, dword [esp + 0x40]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x18]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x48]
dec ecx
mov edx, dword [esp + 0x44]
dec edx
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x18]
mov dword [esp + 0x38], eax
mov eax, ebx
call fcn.0069e988
cmp edi, eax
jne 0x6986a5
cmp byte [ebx + 0x311], 0
je 0x6986a5
mov eax, dword [ebx + 0x2f0]
cmp byte [eax + 0x11], 0
je 0x6986a5
mov dl, 1
mov eax, dword [0x507428]
call fcn.00510b84
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x48]
sub edx, dword [esp + 0x40]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov esi, dword [esp + 0x44]
sub esi, dword [esp + 0x3c]
mov edx, esi
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [esp + 0x48]
sub eax, dword [esp + 0x40]
push eax
lea eax, [esp + 0x50]
push eax
mov ecx, esi
xor edx, edx
xor eax, eax
call fcn.004ba6f4
mov eax, ebx
call fcn.006a48f0
test al, al
je 0x698500
mov eax, dword [esp + 4]
push eax
mov eax, dword [esp + 0xc]
push eax
mov eax, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x1c]
push eax
movzx eax, byte [esp + 0x25]
push eax
movzx eax, byte [esp + 0x28]
push eax
push 0
mov eax, dword [ebp + 0x84]
push eax
movzx eax, byte [esp + 0x43]
push eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x5c]
push eax
push 0
mov eax, dword [ebx + 0x2ec]
push eax
push 1
movzx eax, byte [esp + 0x55]
push eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov eax, dword [eax + 0x2f8]
push eax
push 0
movzx eax, byte [esp + 0x60]
push eax
mov eax, dword [esp + 0x8c]
sub eax, dword [esp + 0x84]
push eax
lea eax, [esp + 0xb4]
push eax
mov ecx, esi
xor edx, edx
xor eax, eax
call fcn.004ba6f4
lea eax, [esp + 0xb0]
push eax
mov eax, dword [esp + 0x64]
call fcn.005114a4
mov ecx, dword [esp + 0x48]
pop edx
call fcn.0068dab4
jmp 0x69862b
movzx eax, byte [ebx + 0x2e8]
sub al, 1
jb 0x698517
je 0x69851e
dec al
je 0x698525
dec al
je 0x69852c
jmp 0x698531
sub dword [esp + 0x58], 3
jmp 0x698531
add dword [esp + 0x50], 2
jmp 0x698531
sub dword [esp + 0x54], 3
jmp 0x698531
add dword [esp + 0x4c], 2
mov ecx, 0x32
mov edx, 0xffffff
mov eax, dword [esp + 0x10]
call fcn.006894c4
mov esi, eax
mov eax, dword [esp + 0x1c]
call fcn.005114a4
mov eax, dword [eax + 0x48]
mov edx, esi
call fcn.0050a9d0
mov eax, dword [esp + 0x1c]
call fcn.005114a4
lea edx, [esp + 0x4c]
mov ecx, dword [eax]
call dword [ecx + 0x54]
movzx eax, byte [ebx + 0x2e8]
sub al, 1
jb 0x698582
je 0x698588
dec al
je 0x698592
dec al
je 0x698598
jmp 0x6985a1
dec dword [esp + 0x54]
jmp 0x6985a1
dec dword [esp + 0x54]
dec dword [esp + 0x58]
jmp 0x6985a1
dec dword [esp + 0x58]
jmp 0x6985a1
dec dword [esp + 0x54]
sub dword [esp + 0x58], 2
mov eax, dword [esp + 4]
push eax
mov eax, dword [esp + 0xc]
push eax
mov eax, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x1c]
push eax
movzx eax, byte [esp + 0x25]
push eax
movzx eax, byte [esp + 0x28]
push eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x5c]
push eax
movzx eax, byte [esp + 0x40]
push eax
push 0
mov eax, dword [ebx + 0x2a0]
movzx eax, byte [eax + 0x2e]
push eax
movzx eax, byte [ebx + 0x310]
push eax
movzx eax, byte [ebx + 0x2e8]
push eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov eax, dword [eax + 0x2f8]
push eax
mov eax, dword [esp + 0x50]
call fcn.005114a4
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x80]
call fcn.0068fb2c
mov edx, esi
mov eax, dword [esp + 0x1c]
call fcn.00512968
mov dl, 1
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, ebx
call fcn.006a53b8
test al, al
je 0x69867f
mov eax, dword [esp + 0x1c]
push eax
cmp byte [esp + 0x28], 0
jne 0x698652
mov eax, dword [ebx + 0x2a0]
cmp byte [eax + 0x2e], 3
ja 0x698652
xor eax, eax
jmp 0x698654
mov al, 1
push eax
lea ecx, [esp + 0x84]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
call fcn.004ba724
lea ecx, [esp + 0x84]
mov edx, dword [ebx + 0x270]
xor eax, eax
call fcn.00689e2c
jmp 0x698697
mov eax, dword [esp + 0x1c]
push eax
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x44]
mov eax, dword [esp + 0x1c]
call fcn.004bf790
jmp 0x6987db
mov eax, ebx
call fcn.006a48f0
test al, al
je 0x69872b
mov eax, dword [esp + 4]
push eax
mov eax, dword [esp + 0xc]
push eax
mov eax, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x1c]
push eax
movzx eax, byte [esp + 0x25]
push eax
movzx eax, byte [esp + 0x28]
push eax
push 0
mov eax, dword [ebp + 0x84]
push eax
movzx eax, byte [esp + 0x43]
push eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x5c]
push eax
push 0
mov eax, dword [ebx + 0x2ec]
push eax
push 1
movzx eax, byte [esp + 0x55]
push eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov eax, dword [eax + 0x2f8]
push eax
push 0
movzx eax, byte [esp + 0x60]
push eax
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0x80]
mov eax, dword [ebx + 0x270]
call fcn.0068dab4
jmp 0x6987db
push edi
lea esi, [esp + 0x40]
lea edi, [esp + 0x50]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
movzx eax, byte [ebx + 0x2e8]
sub al, 1
jb 0x698750
je 0x698757
dec al
je 0x69875e
dec al
je 0x698765
jmp 0x69876a
sub dword [esp + 0x58], 3
jmp 0x69876a
add dword [esp + 0x50], 2
jmp 0x69876a
sub dword [esp + 0x54], 3
jmp 0x69876a
add dword [esp + 0x4c], 2
mov eax, dword [esp + 4]
push eax
mov eax, dword [esp + 0xc]
push eax
mov eax, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x1c]
push eax
movzx eax, byte [esp + 0x25]
push eax
movzx eax, byte [esp + 0x28]
push eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x5c]
push eax
movzx eax, byte [esp + 0x40]
push eax
push 0
mov eax, dword [ebx + 0x2a0]
movzx eax, byte [eax + 0x2e]
push eax
movzx eax, byte [ebx + 0x310]
push eax
movzx eax, byte [ebx + 0x2e8]
push eax
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov eax, dword [eax + 0x2f8]
push eax
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x80]
mov eax, dword [ebx + 0x270]
call fcn.0068fb2c
mov eax, ebx
call fcn.006a48f0
test al, al
je 0x6998d7
movzx eax, byte [ebx + 0x2e8]
sub al, 1
jb 0x698810
je 0x698bc4
dec al
je 0x698f84
dec al
je 0x699474
jmp 0x6998d7
mov eax, dword [esp + 0x2c]
push eax
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x2c]
push eax
mov edx, dword [esp + 0x40]
inc edx
mov ecx, dword [esp + 0x44]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x2c]
push eax
mov ecx, dword [esp + 0x44]
inc ecx
mov edx, dword [esp + 0x40]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x30]
push eax
mov edx, dword [esp + 0x48]
dec edx
mov ecx, dword [esp + 0x44]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x30]
push eax
mov edx, dword [esp + 0x48]
sub edx, 2
mov ecx, dword [esp + 0x44]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x30]
push eax
mov ecx, dword [esp + 0x44]
inc ecx
mov edx, dword [esp + 0x48]
dec edx
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x20], 0
jne 0x698a10
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp dword [eax + 0x28c], 0
jne 0x69895b
cmp byte [esp + 0x22], 0
je 0x698902
mov ecx, 0x14
mov edx, dword [esp]
mov eax, 0xffffff
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
jmp 0x698924
mov ecx, 0x32
mov edx, dword [esp]
mov eax, 0xffffff
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
mov ecx, dword [esp + 0x40]
add ecx, 3
mov edx, dword [esp + 0x3c]
add edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x40]
add ecx, 3
mov edx, dword [esp + 0x44]
sub edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
jmp 0x698a10
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp byte [eax + 0x29c], 0
jne 0x698991
mov ecx, 0x14
mov edx, dword [esp]
mov eax, 0xffffff
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
jmp 0x6989de
cmp byte [esp + 0x22], 0
je 0x6989bc
mov ecx, 0x14
mov edx, dword [esp]
mov eax, 0xffffff
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
jmp 0x6989de
mov ecx, 0x32
mov edx, dword [esp]
mov eax, 0xffffff
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
mov ecx, dword [esp + 0x40]
add ecx, 3
mov edx, dword [esp + 0x3c]
add edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x40]
add ecx, 3
mov edx, dword [esp + 0x44]
sub edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
cmp dword [ebp + 0x8c], 0x1fffffff
je 0x698ac3
mov eax, ebx
call fcn.006a53b8
test al, al
jne 0x698ac3
mov edx, dword [ebp + 0x8c]
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
mov ecx, dword [esp + 0x40]
add ecx, 3
mov edx, dword [esp + 0x44]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x48]
sub ecx, 4
mov edx, dword [esp + 0x44]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
mov eax, dword [ebp + 0x78]
mov edx, dword [eax + 8]
mov eax, dword [ebp + 0x8c]
mov ecx, 0x28
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
mov ecx, dword [esp + 0x40]
add ecx, 4
mov edx, dword [esp + 0x44]
inc edx
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x48]
sub ecx, 4
mov edx, dword [esp + 0x44]
inc edx
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
cmp dword [esp + 0x28], 0x1fffffff
je 0x6998d7
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x20], 0
je 0x698afe
cmp byte [ebx + 0x29d], 0
je 0x698afe
mov eax, ebx
call fcn.0069e988
cmp edi, eax
jne 0x6998d7
mov ecx, 0x50
mov edx, dword [esp + 0x10]
mov eax, dword [esp]
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
mov ecx, dword [esp + 0x40]
inc ecx
mov edx, dword [esp + 0x3c]
add edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x40]
inc ecx
mov edx, dword [esp + 0x44]
sub edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
mov edx, dword [esp + 0x28]
call fcn.0050a5fc
mov ecx, dword [esp + 0x40]
add ecx, 3
mov edx, dword [esp + 0x3c]
inc edx
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x48]
sub ecx, 5
mov edx, dword [esp + 0x3c]
inc edx
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
mov ecx, dword [esp + 0x40]
add ecx, 3
mov edx, dword [esp + 0x44]
sub edx, 2
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x48]
sub ecx, 5
mov edx, dword [esp + 0x44]
sub edx, 2
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
jmp 0x6998d7
mov eax, dword [esp + 0x2c]
push eax
mov ecx, dword [esp + 0x4c]
sub ecx, 2
mov edx, dword [esp + 0x40]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x2c]
push eax
mov ecx, dword [esp + 0x4c]
dec ecx
mov edx, dword [esp + 0x40]
inc edx
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x2c]
push eax
mov ecx, dword [esp + 0x4c]
dec ecx
mov edx, dword [esp + 0x40]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x30]
push eax
mov ecx, dword [esp + 0x4c]
dec ecx
mov edx, dword [esp + 0x48]
dec edx
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x30]
push eax
mov ecx, dword [esp + 0x4c]
dec ecx
mov edx, dword [esp + 0x48]
sub edx, 2
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x30]
push eax
mov ecx, dword [esp + 0x4c]
sub ecx, 2
mov edx, dword [esp + 0x48]
dec edx
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x20], 0
jne 0x698dcc
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp dword [eax + 0x28c], 0
jne 0x698d17
cmp byte [esp + 0x22], 0
je 0x698cbe
mov ecx, 0x14
mov edx, dword [esp]
mov eax, 0xffffff
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
jmp 0x698ce0
mov ecx, 0x32
mov edx, dword [esp]
mov eax, 0xffffff
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
mov ecx, dword [esp + 0x48]
sub ecx, 3
mov edx, dword [esp + 0x3c]
add edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x48]
sub ecx, 3
mov edx, dword [esp + 0x44]
sub edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
jmp 0x698dcc
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp byte [eax + 0x29c], 0
jne 0x698d4d
mov ecx, 0x14
mov edx, dword [esp]
mov eax, 0xffffff
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
jmp 0x698d9a
cmp byte [esp + 0x22], 0
je 0x698d78
mov ecx, 0x14
mov edx, dword [esp]
mov eax, 0xffffff
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
jmp 0x698d9a
mov ecx, 0x32
mov edx, dword [esp]
mov eax, 0xffffff
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
mov ecx, dword [esp + 0x48]
sub ecx, 3
mov edx, dword [esp + 0x3c]
add edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x48]
sub ecx, 3
mov edx, dword [esp + 0x44]
sub edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
cmp dword [ebp + 0x8c], 0x1fffffff
je 0x698e7f
mov eax, ebx
call fcn.006a53b8
test al, al
jne 0x698e7f
mov edx, dword [ebp + 0x8c]
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
mov ecx, dword [esp + 0x40]
add ecx, 4
mov edx, dword [esp + 0x44]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x48]
sub ecx, 2
mov edx, dword [esp + 0x44]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
mov eax, dword [ebp + 0x78]
mov edx, dword [eax + 8]
mov eax, dword [ebp + 0x8c]
mov ecx, 0x28
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
mov ecx, dword [esp + 0x40]
add ecx, 4
mov edx, dword [esp + 0x44]
inc edx
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x48]
sub ecx, 3
mov edx, dword [esp + 0x44]
inc edx
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
cmp dword [esp + 0x28], 0x1fffffff
je 0x6998d7
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x20], 0
je 0x698eba
cmp byte [ebx + 0x29d], 0
je 0x698eba
mov eax, ebx
call fcn.0069e988
cmp edi, eax
jne 0x6998d7
mov ecx, 0x50
mov edx, dword [esp + 0x10]
mov eax, dword [esp]
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
mov ecx, dword [esp + 0x48]
sub ecx, 2
mov edx, dword [esp + 0x3c]
add edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x48]
sub ecx, 2
mov edx, dword [esp + 0x44]
sub edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
mov edx, dword [esp + 0x28]
call fcn.0050a5fc
mov ecx, dword [esp + 0x48]
sub ecx, 3
mov edx, dword [esp + 0x3c]
inc edx
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x40]
add ecx, 5
mov edx, dword [esp + 0x3c]
inc edx
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
mov ecx, dword [esp + 0x48]
sub ecx, 3
mov edx, dword [esp + 0x44]
sub edx, 2
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x40]
add ecx, 5
mov edx, dword [esp + 0x44]
sub edx, 2
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
jmp 0x6998d7
mov eax, dword [esp + 0x2c]
push eax
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x2c]
push eax
mov edx, dword [esp + 0x40]
inc edx
mov ecx, dword [esp + 0x44]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x2c]
push eax
mov ecx, dword [esp + 0x44]
inc ecx
mov edx, dword [esp + 0x40]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x30]
push eax
mov ecx, dword [esp + 0x4c]
dec ecx
mov edx, dword [esp + 0x40]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x30]
push eax
mov ecx, dword [esp + 0x4c]
dec ecx
mov edx, dword [esp + 0x40]
inc edx
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x30]
push eax
mov ecx, dword [esp + 0x4c]
sub ecx, 2
mov edx, dword [esp + 0x40]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x20], 0
jne 0x699201
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp dword [eax + 0x28c], 0
jne 0x69910f
cmp byte [esp + 0x22], 0
je 0x699076
mov ecx, 0x14
mov edx, dword [esp]
mov eax, 0xffffff
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
jmp 0x699098
mov ecx, 0x32
mov edx, dword [esp]
mov eax, 0xffffff
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
cmp byte [ebx + 0x310], 0
je 0x6990d8
mov ecx, dword [esp + 0x40]
add ecx, 3
mov edx, dword [esp + 0x3c]
add edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x48]
sub ecx, 3
mov edx, dword [esp + 0x3c]
add edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
jmp 0x699201
mov ecx, dword [esp + 0x40]
add ecx, 3
mov edx, dword [esp + 0x3c]
add edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x40]
add ecx, 3
mov edx, dword [esp + 0x44]
sub edx, 5
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
jmp 0x699201
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp byte [eax + 0x29c], 0
jne 0x699145
mov ecx, 0x14
mov edx, dword [esp]
mov eax, 0xffffff
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
jmp 0x699192
cmp byte [esp + 0x22], 0
je 0x699170
mov ecx, 0x14
mov edx, dword [esp]
mov eax, 0xffffff
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
jmp 0x699192
mov ecx, 0x32
mov edx, dword [esp]
mov eax, 0xffffff
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
cmp byte [ebx + 0x310], 0
je 0x6991cf
mov ecx, dword [esp + 0x40]
add ecx, 3
mov edx, dword [esp + 0x3c]
add edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x48]
sub ecx, 3
mov edx, dword [esp + 0x3c]
add edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
jmp 0x699201
mov ecx, dword [esp + 0x40]
add ecx, 3
mov edx, dword [esp + 0x3c]
add edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x40]
add ecx, 3
mov edx, dword [esp + 0x44]
sub edx, 5
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
cmp byte [ebx + 0x310], 0
je 0x6992c6
cmp dword [ebp + 0x8c], 0x1fffffff
je 0x699373
mov eax, ebx
call fcn.006a53b8
test al, al
jne 0x699373
mov edx, dword [ebp + 0x8c]
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
mov ecx, dword [esp + 0x40]
dec ecx
mov edx, dword [esp + 0x3c]
add edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x40]
dec ecx
mov edx, dword [esp + 0x44]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
mov eax, dword [ebp + 0x78]
mov edx, dword [eax + 8]
mov eax, dword [ebp + 0x8c]
mov ecx, 0x28
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
mov ecx, dword [esp + 0x40]
sub ecx, 2
mov edx, dword [esp + 0x3c]
add edx, 4
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x40]
sub ecx, 2
mov edx, dword [esp + 0x44]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
jmp 0x699373
cmp dword [ebp + 0x8c], 0x1fffffff
je 0x699373
mov eax, ebx
call fcn.006a53b8
test al, al
jne 0x699373
mov edx, dword [ebp + 0x8c]
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
mov edx, dword [esp + 0x3c]
add edx, 3
mov ecx, dword [esp + 0x48]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
mov eax, dword [ebp + 0x78]
mov edx, dword [eax + 8]
mov eax, dword [ebp + 0x8c]
mov ecx, 0x28
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
mov ecx, dword [esp + 0x48]
inc ecx
mov edx, dword [esp + 0x3c]
add edx, 4
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x48]
inc ecx
mov edx, dword [esp + 0x44]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
cmp dword [esp + 0x28], 0x1fffffff
je 0x6998d7
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x20], 0
je 0x6993ae
cmp byte [ebx + 0x29d], 0
je 0x6993ae
mov eax, ebx
call fcn.0069e988
cmp edi, eax
jne 0x6998d7
mov ecx, 0x50
mov edx, dword [esp + 0x10]
mov eax, dword [esp]
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
mov ecx, dword [esp + 0x40]
add ecx, 3
mov edx, dword [esp + 0x3c]
inc edx
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x48]
sub ecx, 3
mov edx, dword [esp + 0x3c]
inc edx
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
mov edx, dword [esp + 0x28]
call fcn.0050a5fc
mov ecx, dword [esp + 0x40]
inc ecx
mov edx, dword [esp + 0x3c]
add edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x40]
inc ecx
mov edx, dword [esp + 0x44]
sub edx, 5
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
mov ecx, dword [esp + 0x48]
sub ecx, 2
mov edx, dword [esp + 0x3c]
add edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x48]
sub ecx, 2
mov edx, dword [esp + 0x44]
sub edx, 5
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
jmp 0x6998d7
mov eax, dword [esp + 0x2c]
push eax
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x2c]
push eax
mov edx, dword [esp + 0x48]
dec edx
mov ecx, dword [esp + 0x44]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x2c]
push eax
mov ecx, dword [esp + 0x44]
inc ecx
mov edx, dword [esp + 0x48]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x30]
push eax
mov ecx, dword [esp + 0x4c]
dec ecx
mov edx, dword [esp + 0x48]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x30]
push eax
mov ecx, dword [esp + 0x4c]
dec ecx
mov edx, dword [esp + 0x48]
dec edx
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x30]
push eax
mov ecx, dword [esp + 0x4c]
sub ecx, 2
mov edx, dword [esp + 0x48]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x34]
push eax
mov edx, dword [esp + 0x48]
dec edx
mov ecx, dword [esp + 0x44]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [esp + 0x38]
push eax
mov ecx, dword [esp + 0x4c]
dec ecx
mov edx, dword [esp + 0x48]
dec edx
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x20]
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x20], 0
jne 0x699724
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp dword [eax + 0x28c], 0
jne 0x699632
cmp byte [esp + 0x22], 0
je 0x699599
mov ecx, 0x14
mov edx, dword [esp]
mov eax, 0xffffff
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
jmp 0x6995bb
mov ecx, 0x32
mov edx, dword [esp]
mov eax, 0xffffff
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
cmp byte [ebx + 0x310], 0
je 0x6995fb
mov ecx, dword [esp + 0x40]
add ecx, 3
mov edx, dword [esp + 0x44]
sub edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x48]
sub ecx, 3
mov edx, dword [esp + 0x44]
sub edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
jmp 0x699724
mov ecx, dword [esp + 0x40]
add ecx, 3
mov edx, dword [esp + 0x3c]
add edx, 5
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x40]
add ecx, 3
mov edx, dword [esp + 0x44]
sub edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
jmp 0x699724
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp byte [eax + 0x29c], 0
jne 0x699668
mov ecx, 0x14
mov edx, dword [esp]
mov eax, 0xffffff
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
jmp 0x6996b5
cmp byte [esp + 0x22], 0
je 0x699693
mov ecx, 0x14
mov edx, dword [esp]
mov eax, 0xffffff
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
jmp 0x6996b5
mov ecx, 0x32
mov edx, dword [esp]
mov eax, 0xffffff
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
cmp byte [ebx + 0x310], 0
je 0x6996f2
mov ecx, dword [esp + 0x40]
add ecx, 3
mov edx, dword [esp + 0x44]
sub edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x48]
sub ecx, 3
mov edx, dword [esp + 0x44]
sub edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
jmp 0x699724
mov ecx, dword [esp + 0x40]
add ecx, 3
mov edx, dword [esp + 0x3c]
add edx, 5
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x40]
add ecx, 3
mov edx, dword [esp + 0x44]
sub edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
cmp dword [ebp + 0x8c], 0x1fffffff
je 0x6997d7
mov eax, ebx
call fcn.006a53b8
test al, al
jne 0x6997d7
mov edx, dword [ebp + 0x8c]
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
mov edx, dword [esp + 0x3c]
add edx, 3
mov ecx, dword [esp + 0x48]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov edx, dword [esp + 0x44]
sub edx, 3
mov ecx, dword [esp + 0x48]
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
mov eax, dword [ebp + 0x78]
mov edx, dword [eax + 8]
mov eax, dword [ebp + 0x8c]
mov ecx, 0x28
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
mov ecx, dword [esp + 0x48]
inc ecx
mov edx, dword [esp + 0x3c]
add edx, 4
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x48]
inc ecx
mov edx, dword [esp + 0x44]
sub edx, 4
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
cmp dword [esp + 0x28], 0x1fffffff
je 0x6998d7
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov eax, dword [eax + 0x2f8]
cmp byte [eax + 0x20], 0
je 0x699812
cmp byte [ebx + 0x29d], 0
je 0x699812
mov eax, ebx
call fcn.0069e988
cmp edi, eax
jne 0x6998d7
mov ecx, 0x50
mov edx, dword [esp + 0x10]
mov eax, dword [esp]
call fcn.006894c4
mov edx, eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
call fcn.0050a5fc
mov ecx, dword [esp + 0x40]
add ecx, 3
mov edx, dword [esp + 0x44]
sub edx, 2
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x48]
sub ecx, 3
mov edx, dword [esp + 0x44]
sub edx, 2
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x44]
mov edx, dword [esp + 0x28]
call fcn.0050a5fc
mov ecx, dword [esp + 0x40]
inc ecx
mov edx, dword [esp + 0x3c]
add edx, 5
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x40]
inc ecx
mov edx, dword [esp + 0x44]
sub edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
mov ecx, dword [esp + 0x48]
sub ecx, 2
mov edx, dword [esp + 0x3c]
add edx, 5
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x64]
mov ecx, dword [esp + 0x48]
sub ecx, 2
mov edx, dword [esp + 0x44]
sub edx, 3
mov eax, dword [ebx + 0x270]
mov esi, dword [eax]
call dword [esi + 0x60]
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp byte [eax + 0x2ec], 0
je 0x6999c4
xor ebp, ebp
xor esi, esi
mov edx, edi
mov eax, ebx
call fcn.0069d114
cmp byte [eax + 0x2ed], 0
je 0x69993e
mov esi, 0x400
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov edx, dword [eax]
call dword [edx + 0x5c]
test al, al
je 0x699921
mov ebp, 5
jmp 0x699926
mov ebp, 8
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov edx, dword [eax]
call dword [edx + 0x5c]
test al, al
jne 0x69993e
or esi, 0x100
lea ecx, [esp + 0x5c]
mov edx, edi
mov eax, ebx
call fcn.0069e684
cmp byte [ebx + 0x27c], 0
je 0x6999ab
mov eax, dword [0x7e9270]
mov eax, dword [eax]
call eax
test eax, eax
je 0x6999ab
test byte [ebx + 0x1c], 0x10
jne 0x6999ab
push 0x699a10
mov eax, ebx
call fcn.0054f634
push eax
mov eax, dword [0x7e9250]
mov eax, dword [eax]
call eax
mov esi, eax
push 0
lea eax, [esp + 0x60]
push eax
push ebp
push 3
mov eax, dword [ebx + 0x270]
call fcn.0050bb70
push eax
push esi
mov eax, dword [0x7e91f0]
mov eax, dword [eax]
call eax
push esi
mov eax, dword [0x7e9254]
mov eax, dword [eax]
call eax
jmp 0x6999c4
push esi
push 4
lea eax, [esp + 0x64]
push eax
mov eax, dword [ebx + 0x270]
call fcn.0050bb70
push eax
call sub.USER32.DLL_DrawFrameControl
mov edx, edi
mov eax, ebx
call fcn.0069d114
mov edx, dword [esp + 0x18]
mov dword [eax + 0x304], edx
cmp word [ebx + 0x362], 0
je 0x6999f8
lea eax, [esp + 0x3c]
push eax
mov ecx, edi
mov edx, ebx
mov eax, dword [ebx + 0x364]
call dword [ebx + 0x360]
jmp 0x699a05
lea ecx, [esp + 0x3c]
mov edx, edi
mov eax, ebx
call fcn.00699a20
add esp, 0x84
pop ebp
pop edi
pop esi
pop ebx
ret