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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x3f4]
cmp eax, dword [ecx + 8]
jbe 0x69d1e5
sub esp, 0x474
xor eax, eax
mov dword [esp + 0x34c], eax
mov dword [esp + 0x350], eax
mov dword [esp + 0x354], eax
mov dword [esp + 0x358], eax
mov dword [esp + 0x33c], eax
mov dword [esp + 0x340], eax
mov dword [esp + 0x344], eax
mov dword [esp + 0x348], eax
mov dword [esp + 0x298], eax
mov dword [esp + 0x29c], eax
mov dword [esp + 0x2a0], eax
lea edi, [esp + 0x1d0]
call fcn.004637ba
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], eax
xor ebx, ebx
xor ebx, ebx
mov dword [esp + 0x4b0], ebx
mov dword [esp + 0x4b4], ebx
mov ebx, dword [esp + 0x490]
mov dword [esp + 0x4ac], ebx
mov ebx, dword [esp + 0x478]
mov dword [esp], ebx
mov ebx, dword [esp + 0x47c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x480]
mov dword [esp + 8], ebx
call fcn.005ea350
mov edx, dword [esp + 0xc]
mov dword [esp + 0x128], edx
mov esi, dword [esp + 0x10]
mov dword [esp + 0x12c], esi
mov eax, dword [esp + 0x488]
mov ebx, dword [esp + 0x4ac]
cmp ebx, eax
jne 0x699f80
mov ebx, dword [esp + 0x478]
mov dword [esp], ebx
mov ebx, dword [esp + 0x47c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x480]
mov dword [esp + 8], ebx
lea esi, [esp + 0x494]
lea edi, [esp + 0xc]
cld
call fcn.00463c94
call fcn.0069d1f0
movzx ebx, byte [esp + 0x24]
cmp bl, 0
jne 0x699f7e
xor ebx, ebx
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], ebx
mov ebx, 0x7614a4
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], 0x12
mov dword [esp], 0x8c38d0
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.00417980
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x4b4], ebx
add esp, 0x474
ret
jmp 0x699f77
mov ebx, dword [0x8e4038]
cmp edx, ebx
jne 0x69a2e2
mov dword [esp], edx
mov dword [esp + 4], esi
mov ebp, dword [0x8e4038]
mov dword [esp + 8], ebp
mov ebp, dword [0x8e403c]
mov dword [esp + 0xc], ebp
call fcn.0040e270
mov esi, dword [esp + 0x12c]
mov edx, dword [esp + 0x128]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x69a2e2
xor ebx, ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
mov byte [esp + 0xb0], bl
mov ebx, dword [esp + 0x484]
mov dword [esp], ebx
mov ebx, dword [esp + 0x488]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x48c]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x4ac]
mov dword [esp + 0xc], ebx
call fcn.00699560
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xa4], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xa8], ebx
mov ebp, dword [esp + 0x18]
movzx ebx, byte [esp + 0x1c]
mov byte [esp + 0xb0], bl
mov edx, dword [esp + 0x20]
mov dword [esp + 0x4ac], edx
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x4b4], ebx
mov dword [esp + 0x4b0], eax
cmp eax, 0
je 0x69a06b
add esp, 0x474
ret
mov esi, dword [esp + 0x488]
mov dword [esp + 0xac], ebp
mov edi, edx
add edi, ebp
cmp edi, edx
jl 0x69a2d8
mov eax, edx
add eax, ebp
cmp eax, esi
jg 0x69a2d8
xor eax, eax
cmp al, 0
je 0x69a0fb
xor ebx, ebx
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], ebx
mov ebx, 0x75ee9e
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], 0xe
mov dword [esp], 0x8c38d0
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.00417980
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x4b4], ebx
add esp, 0x474
ret
mov ecx, ebp
add ecx, edx
mov esi, dword [esp + 0x48c]
cmp ecx, esi
ja 0x69a2d1
cmp edx, ecx
ja 0x69a2d1
mov edi, ecx
sub edi, edx
sub esi, edx
mov ecx, dword [esp + 0x484]
cmp esi, 0
je 0x69a12a
add ecx, edx
mov dword [esp + 0x2e4], edi
mov dword [esp + 0x2e8], esi
mov dword [esp + 0x2e0], ecx
mov ecx, ebp
add ecx, edx
mov eax, dword [esp + 0x490]
mov esi, dword [esp + 0x48c]
cmp ecx, esi
ja 0x69a2ca
cmp eax, ecx
ja 0x69a2ca
mov edi, ecx
sub edi, eax
sub esi, eax
mov ecx, dword [esp + 0x484]
cmp esi, 0
je 0x69a175
add ecx, eax
mov dword [esp + 0x2d8], edi
mov dword [esp + 0x2dc], esi
mov dword [esp + 0x2d4], ecx
mov esi, 0x7b7b40
lea edi, [esp + 0x39c]
cld
call fcn.00463c76
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x39c], ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x3a0], ebx
movzx ebx, byte [esp + 0xb0]
mov byte [esp + 0x3a4], bl
mov ebx, dword [esp + 0x2e0]
mov dword [esp + 0x3a8], ebx
mov ebx, dword [esp + 0x2e4]
mov dword [esp + 0x3ac], ebx
mov ebx, dword [esp + 0x2e8]
mov dword [esp + 0x3b0], ebx
mov ebx, dword [esp + 0x2d4]
mov dword [esp + 0x3b4], ebx
mov ebx, dword [esp + 0x2d8]
mov dword [esp + 0x3b8], ebx
mov ebx, dword [esp + 0x2dc]
mov dword [esp + 0x3bc], ebx
mov ecx, edx
mov ebx, ebp
add ebx, edx
mov dword [esp + 0x4ac], ebx
lea esi, [esp + 0x39c]
lea edi, [esp + 0x3c0]
cld
call fcn.00463c76
mov dword [esp], 0x733940
lea ebx, [esp + 0x3c0]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
lea ebx, [esp + 0xc]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.005eaeb0
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x478]
mov dword [esp], ebx
mov ebx, dword [esp + 0x47c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x480]
mov dword [esp + 8], ebx
mov dword [esp + 0x2c8], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x2cc], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x14], eax
call fcn.005e9140
add esp, 0x474
ret
call fcn.004359e0
ud2
call fcn.004359e0
ud2
mov eax, 1
jmp 0x69a093
mov dword [esp + 0x124], esi
mov dword [esp], esi
mov dword [esp + 0x120], edx
mov ebx, dword [edx + 0x54]
call ebx
mov ebx, dword [esp + 4]
cmp ebx, 0x14
jne 0x69ac8d
mov ebx, dword [esp + 0x124]
mov dword [esp], ebx
mov ebx, dword [esp + 0x120]
mov ebx, dword [ebx + 0x70]
call ebx
mov ebx, dword [esp + 4]
cmp ebx, 0
jne 0x69ac8d
xor ebx, ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov byte [esp + 0xc0], bl
mov ebx, dword [esp + 0x484]
mov dword [esp], ebx
mov ebx, dword [esp + 0x488]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x48c]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x4ac]
mov dword [esp + 0xc], ebx
call fcn.00699560
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xb8], ebx
mov esi, dword [esp + 0x18]
mov dword [esp + 0xbc], esi
movzx esi, byte [esp + 0x1c]
xchg esi, eax
mov byte [esp + 0xc0], al
xchg esi, eax
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x4ac], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x4b4], ebx
mov ebx, dword [esp + 0x4b0]
cmp ebx, 0
je 0x69a3d9
add esp, 0x474
ret
mov edx, dword [esp + 0x488]
mov ebp, dword [esp + 0x4ac]
mov ecx, dword [esp + 0xbc]
mov eax, ebp
add ebp, ecx
cmp ebp, eax
jl 0x69ac83
add eax, ecx
cmp eax, edx
jg 0x69ac83
xor eax, eax
cmp al, 0
je 0x69a46e
xor ebx, ebx
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], ebx
mov ebx, 0x75ee9e
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], 0xe
mov dword [esp], 0x8c38d0
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.00417980
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x4b4], ebx
add esp, 0x474
ret
xor edi, edi
mov dword [esp + 0x118], edi
mov ecx, edi
mov dword [esp + 0x11c], edi
xchg esi, eax
cmp al, 0
xchg esi, eax
jne 0x69a575
mov ebx, dword [esp + 0xb4]
cmp ebx, 0
jne 0x69a575
mov edx, dword [esp + 0xbc]
add edx, dword [esp + 0x4ac]
mov eax, dword [esp + 0x4ac]
mov ebp, dword [esp + 0x48c]
cmp edx, ebp
ja 0x69ac7c
cmp eax, edx
ja 0x69ac7c
mov esi, edx
sub esi, eax
sub ebp, eax
mov edx, dword [esp + 0x484]
cmp ebp, 0
je 0x69a4db
add edx, eax
mov dword [esp + 0x224], esi
mov dword [esp + 0x228], ebp
mov dword [esp + 0x220], edx
mov eax, dword [esp + 0xb8]
cmp eax, 0xc
jg 0x69a9a1
cmp eax, 3
jg 0x69a872
cmp eax, 2
jne 0x69a617
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.006979e0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x90], eax
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x4b4], ebx
mov dword [esp], 0x70aac0
lea ebx, [esp + 0x8c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x4ac]
mov ebx, dword [esp + 0xbc]
add ebx, edx
mov dword [esp + 0x4ac], ebx
mov ebx, dword [esp + 0x4b0]
cmp ebx, 0
je 0x69a59f
add esp, 0x474
ret
cmp ecx, 0
je 0x69a610
mov dword [esp + 0x118], ecx
mov dword [esp], ecx
mov dword [esp + 0x11c], edi
mov dword [esp + 4], edi
call fcn.005eaeb0
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x478]
mov dword [esp], ebx
mov ebx, dword [esp + 0x47c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x480]
mov dword [esp + 8], ebx
mov dword [esp + 0x2c8], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x2cc], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x14], eax
call fcn.005e9140
add esp, 0x474
ret
cmp eax, 3
jne 0x69a575
mov edi, edx
mov dword [esp + 0x25c], edx
mov eax, esi
mov dword [esp + 0x264], ebp
xor ebx, ebx
mov dword [esp + 0x2fc], ebx
mov dword [esp + 0x300], ebx
mov dword [esp + 0x304], ebx
mov dword [esp + 0x308], ebx
xor ebx, ebx
mov dword [esp + 0x188], ebx
mov dword [esp + 0x18c], ebx
mov dword [esp + 0x260], esi
cmp esi, 0
jne 0x69a75a
xor ebx, ebx
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], ebx
mov ebx, 0x7638ac
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], 0x16
mov dword [esp], 0x8c38d0
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.00417980
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x188], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x18c], ebx
mov ebx, dword [esp + 0x2fc]
mov dword [esp + 0x35c], ebx
mov ebx, dword [esp + 0x300]
mov dword [esp + 0x360], ebx
mov ebx, dword [esp + 0x304]
mov dword [esp + 0x364], ebx
mov ebx, dword [esp + 0x308]
mov dword [esp + 0x368], ebx
mov dword [esp], 0x732dc0
lea ebx, [esp + 0x35c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x1b8], ecx
mov dword [esp + 0x1bc], edi
mov ebx, dword [esp + 0x188]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x18c]
mov dword [esp + 0x4b4], ebx
jmp 0x69a575
cmp esi, 0
jbe 0x69a86b
movzx ebp, byte [edx]
mov edx, ebp
cmp ebp, 7
jg 0x69a777
cmp esi, 1
jne 0x69a7d8
cmp edx, 0
jle 0x69a7d8
xor ebx, ebx
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], ebx
mov ebx, 0x768fd4
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], 0x22
mov dword [esp], 0x8c38d0
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.00417980
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x188], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x18c], ebx
jmp 0x69a6cc
mov ebx, eax
dec ebx
cmp ebx, eax
jae 0x69a864
mov ebp, edi
add ebp, ebx
movzx ebx, byte [ebp]
mov esi, ebx
cmp eax, 0
jbe 0x69a85d
movzx ecx, byte [edi]
mov ebx, 1
cmp cl, 8
jae 0x69a859
shl ebx, cl
dec ebx
mov ebp, esi
and ebp, ebx
xchg ebp, eax
cmp al, 0
xchg ebp, eax
jne 0x69a777
mov ebx, eax
dec ebx
shl ebx, 3
sub ebx, edx
mov dword [esp + 0x308], ebx
mov ecx, dword [esp + 0x264]
cmp eax, 1
jb 0x69a852
mov edx, eax
dec edx
dec ecx
mov eax, edi
cmp ecx, 0
je 0x69a838
inc eax
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x300], edx
mov dword [esp + 0x304], ecx
jmp 0x69a6cc
call fcn.004359e0
ud2
xor ebx, ebx
jmp 0x69a7ff
call fcn.00435970
ud2
call fcn.00435970
ud2
call fcn.00435970
ud2
cmp eax, 4
jne 0x69a8b8
mov dword [esp + 0x2bc], edx
mov dword [esp + 0x2c0], esi
mov dword [esp + 0x2c4], ebp
mov dword [esp], 0x6f7be0
lea ebx, [esp + 0x2bc]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
jmp 0x69a575
cmp eax, 6
jne 0x69a930
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.00698860
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x298], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x29c], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x2a0], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x4b4], ebx
mov dword [esp], 0x6f5f60
lea ebx, [esp + 0x298]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
jmp 0x69a575
cmp eax, 0xc
jne 0x69a575
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.00699440
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x1e0], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x1e4], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x4b4], ebx
mov dword [esp], 0x70b040
lea ebx, [esp + 0x1e0]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
jmp 0x69a575
cmp eax, 0x14
jg 0x69ab05
cmp eax, 0x13
jne 0x69aa17
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.006991e0
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x1d0], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x1d4], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x4b4], ebx
mov dword [esp], 0x70b040
lea ebx, [esp + 0x1d0]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
jmp 0x69a575
cmp eax, 0x14
jne 0x69a575
xor ebx, ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
xor ebx, ebx
mov dword [esp + 0x190], ebx
mov dword [esp + 0x194], ebx
mov dword [esp], 0
mov dword [esp + 0x244], edx
mov dword [esp + 4], edx
mov dword [esp + 0x248], esi
mov dword [esp + 8], esi
mov dword [esp + 0x24c], ebp
mov dword [esp + 0xc], ebp
call fcn.0044d780
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x1c4], eax
xor ebx, ebx
mov dword [esp + 0x190], ebx
mov dword [esp + 0x194], ebx
mov dword [esp + 0x100], ecx
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x104], eax
mov dword [esp + 0x1e4], eax
mov dword [esp], 0x70b040
lea ebx, [esp + 0x1e0]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x1b8], ecx
mov dword [esp + 0x1bc], edi
mov ebx, dword [esp + 0x190]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x194]
mov dword [esp + 0x4b4], ebx
jmp 0x69a575
cmp eax, 0x16
jne 0x69ab72
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.00699350
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x1c8], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x1cc], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x4b4], ebx
mov dword [esp], 0x70b040
lea ebx, [esp + 0x1c8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
jmp 0x69a575
cmp eax, 0x17
jne 0x69abf5
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.00698c20
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x34c], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x350], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x354], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x358], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x4b4], ebx
mov dword [esp], 0x754da0
lea ebx, [esp + 0x34c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
jmp 0x69a575
cmp eax, 0x18
jne 0x69a575
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.00698fa0
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x33c], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x340], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x344], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x348], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x4b4], ebx
mov dword [esp], 0x754da0
lea ebx, [esp + 0x33c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
jmp 0x69a575
call fcn.004359e0
ud2
mov eax, 1
jmp 0x69a406
mov ebx, dword [esp + 0x128]
mov dword [esp], ebx
mov ebx, dword [esp + 0x12c]
mov dword [esp + 4], ebx
call fcn.0069db80
mov ebx, dword [esp + 8]
mov dword [esp + 0x4c], ebx
movzx ebx, byte [esp + 0xc]
mov byte [esp + 0x43], bl
movzx ebx, byte [esp + 0xd]
cmp bl, 0
jne 0x69adc4
xor ebx, ebx
mov dword [esp + 0x1b0], ebx
mov dword [esp + 0x1b4], ebx
lea ebx, [esp + 0x1b0]
mov dword [esp + 0xe0], ebx
mov ebx, dword [esp + 0x128]
mov dword [esp], ebx
mov ebx, dword [esp + 0x12c]
mov dword [esp + 4], ebx
call fcn.00418100
mov ebx, dword [esp + 0xe0]
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov dword [ebx], ecx
mov dword [ebx + 4], eax
mov edx, 1
mov ecx, 1
mov eax, ebx
mov ebx, 0x761f22
mov dword [esp], ebx
mov dword [esp + 4], 0x13
mov dword [esp + 0x28c], eax
mov dword [esp + 8], eax
mov dword [esp + 0x290], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x294], ecx
mov dword [esp + 0x10], ecx
call fcn.004699b0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
xor ebx, ebx
mov dword [esp + 0x1d8], ebx
mov dword [esp + 0x1dc], ebx
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1dc], eax
mov dword [esp], 0x8c38b0
lea ebx, [esp + 0x1d8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.00417980
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x4b4], ebx
add esp, 0x474
ret
mov ebx, dword [esp + 0x484]
mov dword [esp], ebx
mov ebx, dword [esp + 0x488]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x48c]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x4ac]
mov dword [esp + 0xc], ebx
call fcn.00699560
mov edx, dword [esp + 0x10]
mov dword [esp + 0x94], edx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x98], ecx
mov edi, dword [esp + 0x18]
mov dword [esp + 0x9c], edi
movzx ebx, byte [esp + 0x1c]
mov byte [esp + 0xa0], bl
mov esi, dword [esp + 0x20]
mov dword [esp + 0x4ac], esi
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x4b4], ebx
mov dword [esp + 0x4b0], eax
cmp eax, 0
je 0x69ae4e
add esp, 0x474
ret
movzx ebx, byte [esp + 0x495]
cmp bl, 0
je 0x69b04f
mov eax, 2
movzx ebx, byte [esp + 0x496]
cmp bl, 0
je 0x69ae76
mov eax, 1
mov ebx, dword [esp + 0x488]
mov dword [esp + 0x6c], ebx
mov ebp, dword [esp + 0x6c]
cmp esi, ebp
jne 0x69aeec
xor ebx, ebx
mov dword [esp + 0x1d8], ebx
mov dword [esp + 0x1dc], ebx
mov ebx, 0x764bc6
mov dword [esp + 0x1d8], ebx
mov dword [esp + 0x1dc], 0x19
mov dword [esp], 0x8c38b0
lea ebx, [esp + 0x1d8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.00417980
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x4b4], ebx
add esp, 0x474
ret
cmp edx, eax
jne 0x69af17
mov ebx, dword [esp + 0x49c]
mov ebp, dword [ebx]
cmp ecx, ebp
jne 0x69af17
cmp edi, 0
je 0x69afca
movzx ebx, byte [esp + 0xa0]
cmp bl, 0
jne 0x69afca
mov ebx, dword [esp + 0x478]
mov dword [esp], ebx
mov ebx, dword [esp + 0x47c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x480]
mov dword [esp + 8], ebx
lea esi, [esp + 0x494]
lea edi, [esp + 0xc]
cld
call fcn.00463c94
call fcn.0069d1f0
movzx ebx, byte [esp + 0x24]
cmp bl, 0
je 0x69af6c
mov ebx, dword [esp + 0x490]
mov dword [esp + 0x4ac], ebx
add esp, 0x474
ret
xor ebx, ebx
mov dword [esp + 0x1d8], ebx
mov dword [esp + 0x1dc], ebx
mov ebx, 0x76a1b2
mov dword [esp + 0x1d8], ebx
mov dword [esp + 0x1dc], 0x25
mov dword [esp], 0x8c38b0
lea ebx, [esp + 0x1d8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.00417980
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x4b4], ebx
jmp 0x69af65
cmp edi, 0
jle 0x69d108
mov ebx, dword [esp + 0x484]
mov dword [esp], ebx
mov ebx, dword [esp + 0x488]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x48c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
call fcn.00699560
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x98], ecx
mov edi, dword [esp + 0x18]
mov dword [esp + 0x9c], edi
movzx ebx, byte [esp + 0x1c]
mov byte [esp + 0xa0], bl
mov esi, dword [esp + 0x20]
mov dword [esp + 0x4ac], esi
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x4b4], ebx
mov dword [esp + 0x4b0], eax
cmp eax, 0
je 0x69b04f
add esp, 0x474
ret
mov ebx, dword [esp + 0x4c]
cmp ebx, 0x13
jne 0x69b077
cmp edx, 0
jne 0x69d0e8
cmp ecx, 0x14
jg 0x69d0d1
cmp ecx, 0xc
jne 0x69d0c3
mov dword [esp + 0x4c], ecx
mov ebx, dword [esp + 0x4c]
cmp ebx, 0x17
jne 0x69b092
cmp ecx, 0x18
jne 0x69b092
cmp edx, 0
jne 0x69b092
mov dword [esp + 0x4c], 0x18
movzx ebx, byte [esp + 0x4a8]
cmp bl, 0
je 0x69b0a7
mov dword [esp + 0x4c], 0x11
xor eax, eax
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x68], ebx
movzx ebx, byte [esp + 0x495]
cmp bl, 0
jne 0x69b0dd
mov ebp, dword [esp + 0x49c]
xor ebx, ebx
cmp ebp, ebx
je 0x69b0dd
mov eax, 2
mov ebx, dword [esp + 0x49c]
mov ebp, dword [ebx]
mov dword [esp + 0x68], ebp
movzx ebx, byte [esp + 0x495]
cmp bl, 0
jne 0x69b116
movzx ebx, byte [esp + 0x496]
cmp bl, 0
je 0x69b116
mov ebp, dword [esp + 0x49c]
xor ebx, ebx
cmp ebp, ebx
je 0x69b116
mov eax, 1
mov ebx, dword [esp + 0x49c]
mov ebp, dword [ebx]
mov dword [esp + 0x68], ebp
mov dword [esp + 0x94], edx
cmp edx, eax
jne 0x69ce19
mov ebx, dword [esp + 0x68]
cmp ecx, ebx
jne 0x69ce19
movzx ebx, byte [esp + 0xa0]
mov eax, ebx
movzx ebx, byte [esp + 0x43]
cmp al, bl
jne 0x69ce19
mov edx, dword [esp + 0x488]
mov ebp, esi
add ebp, edi
cmp ebp, esi
jl 0x69ce0f
mov eax, esi
add eax, edi
cmp eax, edx
jg 0x69ce0f
xor eax, eax
cmp al, 0
je 0x69b1d1
xor ebx, ebx
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], ebx
mov ebx, 0x75ee9e
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], 0xe
mov dword [esp], 0x8c38d0
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.00417980
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x4b4], ebx
add esp, 0x474
ret
mov ecx, edi
add ecx, esi
mov edx, dword [esp + 0x48c]
cmp ecx, edx
ja 0x69ce08
cmp esi, ecx
ja 0x69ce08
mov ebp, ecx
sub ebp, esi
sub edx, esi
mov ecx, dword [esp + 0x484]
cmp edx, 0
je 0x69b200
add ecx, esi
mov dword [esp + 0x230], ebp
mov dword [esp + 0x234], edx
mov dword [esp + 0x22c], ecx
mov ebx, edi
add ebx, esi
mov dword [esp + 0x4ac], ebx
mov ebx, dword [esp + 0x128]
mov dword [esp + 0x1a8], ebx
mov ebx, dword [esp + 0x12c]
mov dword [esp + 0x1ac], ebx
mov eax, dword [esp + 0x1a8]
mov ebx, dword [0x8e4028]
cmp eax, ebx
jne 0x69b48a
mov ebp, dword [esp + 0x1a8]
mov dword [esp], ebp
mov ebp, dword [esp + 0x1ac]
mov dword [esp + 4], ebp
mov ebp, dword [0x8e4028]
mov dword [esp + 8], ebp
mov ebp, dword [0x8e402c]
mov dword [esp + 0xc], ebp
call fcn.0040e270
mov ebp, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ecx, dword [esp + 0x22c]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x69b48a
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.00698860
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x208], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x20c], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x210], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x168], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x16c], ebx
mov ebx, dword [esp + 0x478]
mov dword [esp], ebx
mov ebx, dword [esp + 0x47c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x480]
mov dword [esp + 8], ebx
call fcn.005ea350
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x1a8], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x1ac], ebx
mov ecx, dword [esp + 0x20c]
mov eax, dword [esp + 0x20c]
mov ebx, dword [esp + 0x1a8]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1ac]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.005eab30
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x478]
mov dword [esp], ebx
mov ebx, dword [esp + 0x47c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x480]
mov dword [esp + 8], ebx
mov dword [esp + 0x2c8], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x2cc], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x14], eax
call fcn.005e9140
mov ebx, dword [esp + 0x168]
cmp ebx, 0
jne 0x69b467
mov ebx, dword [esp + 0x208]
mov dword [esp + 0x298], ebx
mov ebx, dword [esp + 0x20c]
mov dword [esp + 0x29c], ebx
mov ebx, dword [esp + 0x210]
mov dword [esp + 0x2a0], ebx
mov dword [esp], 0x6f5f60
lea ebx, [esp + 0x298]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
lea ebx, [esp + 0xc]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.005eaeb0
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x478]
mov dword [esp], ebx
mov ebx, dword [esp + 0x47c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x480]
mov dword [esp + 8], ebx
mov dword [esp + 0x2c8], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x2cc], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x14], eax
call fcn.005ea8b0
mov ebx, dword [esp + 0x168]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x16c]
mov dword [esp + 0x4b4], ebx
add esp, 0x474
ret
mov eax, dword [esp + 0x1a8]
mov ebx, dword [0x8e4010]
cmp eax, ebx
jne 0x69b887
mov ebp, dword [esp + 0x1a8]
mov dword [esp], ebp
mov ebp, dword [esp + 0x1ac]
mov dword [esp + 4], ebp
mov ebp, dword [0x8e4010]
mov dword [esp + 8], ebp
mov ebp, dword [0x8e4014]
mov dword [esp + 0xc], ebp
call fcn.0040e270
mov ebp, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ecx, dword [esp + 0x22c]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x69b887
mov dword [esp + 0x280], ecx
mov dword [esp + 0x284], ebp
mov dword [esp + 0x288], edx
xor ebx, ebx
mov dword [esp + 0x30c], ebx
mov dword [esp + 0x310], ebx
mov dword [esp + 0x314], ebx
mov dword [esp + 0x318], ebx
xor ebx, ebx
mov dword [esp + 0x198], ebx
mov dword [esp + 0x19c], ebx
mov ebx, dword [esp + 0x284]
cmp ebx, 0
jne 0x69b71d
xor ebx, ebx
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], ebx
mov ebx, 0x7638ac
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], 0x16
mov dword [esp], 0x8c38d0
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.00417980
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x198], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x19c], ebx
mov ebx, dword [esp + 0x30c]
mov dword [esp + 0x32c], ebx
mov ebx, dword [esp + 0x310]
mov dword [esp + 0x330], ebx
mov ebx, dword [esp + 0x314]
mov dword [esp + 0x334], ebx
mov ebx, dword [esp + 0x318]
mov dword [esp + 0x338], ebx
mov ebx, dword [esp + 0x32c]
mov dword [esp + 0x31c], ebx
mov ebx, dword [esp + 0x330]
mov dword [esp + 0x320], ebx
mov ebx, dword [esp + 0x334]
mov dword [esp + 0x324], ebx
mov ebx, dword [esp + 0x338]
mov dword [esp + 0x328], ebx
mov ebx, dword [esp + 0x198]
mov dword [esp + 0x160], ebx
mov ebx, dword [esp + 0x19c]
mov dword [esp + 0x164], ebx
mov ebx, dword [esp + 0x160]
cmp ebx, 0
jne 0x69b6fa
mov ebx, dword [esp + 0x31c]
mov dword [esp + 0x35c], ebx
mov ebx, dword [esp + 0x320]
mov dword [esp + 0x360], ebx
mov ebx, dword [esp + 0x324]
mov dword [esp + 0x364], ebx
mov ebx, dword [esp + 0x328]
mov dword [esp + 0x368], ebx
mov dword [esp], 0x732dc0
lea ebx, [esp + 0x35c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
lea ebx, [esp + 0xc]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.005eaeb0
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x478]
mov dword [esp], ebx
mov ebx, dword [esp + 0x47c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x480]
mov dword [esp + 8], ebx
mov dword [esp + 0x2c8], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x2cc], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x14], eax
call fcn.005e9140
mov ebx, dword [esp + 0x160]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x164]
mov dword [esp + 0x4b4], ebx
add esp, 0x474
ret
cmp dword [esp + 0x284], 0
jbe 0x69b880
mov ebx, dword [esp + 0x280]
movzx ebp, byte [ebx]
mov dword [esp + 0x58], ebp
mov ebx, dword [esp + 0x58]
cmp ebx, 7
jg 0x69b757
mov ebx, dword [esp + 0x284]
cmp ebx, 1
jne 0x69b7b8
mov ebx, dword [esp + 0x58]
cmp ebx, 0
jle 0x69b7b8
xor ebx, ebx
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], ebx
mov ebx, 0x768fd4
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], 0x22
mov dword [esp], 0x8c38d0
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.00417980
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x198], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x19c], ebx
jmp 0x69b59f
mov ebx, dword [esp + 0x284]
dec ebx
mov ebp, dword [esp + 0x284]
cmp ebx, ebp
jae 0x69b879
mov ebp, dword [esp + 0x280]
add ebp, ebx
movzx ebx, byte [ebp]
mov eax, ebx
cmp dword [esp + 0x284], 0
jbe 0x69b872
mov ebp, dword [esp + 0x280]
movzx ecx, byte [ebp]
mov ebx, 1
cmp cl, 8
jae 0x69b86e
shl ebx, cl
dec ebx
mov ebp, eax
and ebp, ebx
xchg ebp, eax
cmp al, 0
xchg ebp, eax
jne 0x69b757
mov ebx, dword [esp + 0x284]
dec ebx
shl ebx, 3
sub ebx, dword [esp + 0x58]
mov dword [esp + 0x318], ebx
mov eax, dword [esp + 0x284]
mov ecx, dword [esp + 0x288]
cmp eax, 1
jb 0x69b867
mov edx, eax
dec edx
dec ecx
mov eax, dword [esp + 0x280]
cmp ecx, 0
je 0x69b84d
inc eax
mov dword [esp + 0x30c], eax
mov dword [esp + 0x310], edx
mov dword [esp + 0x314], ecx
jmp 0x69b59f
call fcn.004359e0
ud2
xor ebx, ebx
jmp 0x69b801
call fcn.00435970
ud2
call fcn.00435970
ud2
call fcn.00435970
ud2
mov eax, dword [esp + 0x1a8]
mov ebx, dword [0x8e4040]
cmp eax, ebx
jne 0x69bac3
mov ebp, dword [esp + 0x1a8]
mov dword [esp], ebp
mov ebp, dword [esp + 0x1ac]
mov dword [esp + 4], ebp
mov ebp, dword [0x8e4040]
mov dword [esp + 8], ebp
mov ebp, dword [0x8e4044]
mov dword [esp + 0xc], ebp
call fcn.0040e270
mov ebp, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ecx, dword [esp + 0x22c]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x69bac3
xor ebx, ebx
mov dword [esp + 0x2ec], ebx
mov dword [esp + 0x2f0], ebx
mov dword [esp + 0x2f4], ebx
mov dword [esp + 0x2f8], ebx
xor ebx, ebx
mov dword [esp + 0x130], ebx
mov dword [esp + 0x134], ebx
mov ebx, dword [esp + 0x4c]
cmp ebx, 0x17
jne 0x69ba6c
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.00698c20
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x2ec], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x2f0], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x2f4], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x2f8], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x130], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x134], ebx
mov ebx, dword [esp + 0x130]
cmp ebx, 0
jne 0x69ba49
mov ebx, dword [esp + 0x2ec]
mov dword [esp + 0x34c], ebx
mov ebx, dword [esp + 0x2f0]
mov dword [esp + 0x350], ebx
mov ebx, dword [esp + 0x2f4]
mov dword [esp + 0x354], ebx
mov ebx, dword [esp + 0x2f8]
mov dword [esp + 0x358], ebx
mov dword [esp], 0x754da0
lea ebx, [esp + 0x34c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
lea ebx, [esp + 0xc]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.005eaeb0
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x478]
mov dword [esp], ebx
mov ebx, dword [esp + 0x47c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x480]
mov dword [esp + 8], ebx
mov dword [esp + 0x2c8], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x2cc], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x14], eax
call fcn.005e9140
mov ebx, dword [esp + 0x130]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x134]
mov dword [esp + 0x4b4], ebx
add esp, 0x474
ret
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.00698fa0
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x2ec], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x2f0], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x2f4], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x2f8], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x130], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x134], ebx
jmp 0x69b97a
mov eax, dword [esp + 0x1a8]
mov ebx, dword [0x8e4018]
cmp eax, ebx
jne 0x69bbd4
mov ebp, dword [esp + 0x1a8]
mov dword [esp], ebp
mov ebp, dword [esp + 0x1ac]
mov dword [esp + 4], ebp
mov ebp, dword [0x8e4018]
mov dword [esp + 8], ebp
mov ebp, dword [0x8e401c]
mov dword [esp + 0xc], ebp
call fcn.0040e270
mov ebp, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ecx, dword [esp + 0x22c]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x69bbd4
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.00697ca0
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x148], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x14c], ebx
mov ebx, dword [esp + 0x148]
cmp ebx, 0
jne 0x69bbb1
mov ebx, dword [esp + 0x478]
mov dword [esp], ebx
mov ebx, dword [esp + 0x47c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x480]
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x54]
cdq
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], edx
mov eax, dword [esp + 0x84]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x10], eax
call fcn.005e95d0
mov ebx, dword [esp + 0x148]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0x4b4], ebx
add esp, 0x474
ret
mov eax, dword [esp + 0x1a8]
mov ebx, dword [0x8e4020]
cmp eax, ebx
jne 0x69bc63
mov ebp, dword [esp + 0x1a8]
mov dword [esp], ebp
mov ebp, dword [esp + 0x1ac]
mov dword [esp + 4], ebp
mov ebp, dword [0x8e4020]
mov dword [esp + 8], ebp
mov ebp, dword [0x8e4024]
mov dword [esp + 0xc], ebp
call fcn.0040e270
mov ebp, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ecx, dword [esp + 0x22c]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x69bc63
mov ebx, dword [esp + 0x478]
mov dword [esp], ebx
mov ebx, dword [esp + 0x47c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x480]
mov dword [esp + 8], ebx
mov byte [esp + 0xc], 1
call fcn.005e9230
add esp, 0x474
ret
mov eax, dword [esp + 0x1a8]
mov ebx, dword [0x8e4008]
cmp eax, ebx
jne 0x69bdb3
mov ebp, dword [esp + 0x1a8]
mov dword [esp], ebp
mov ebp, dword [esp + 0x1ac]
mov dword [esp + 4], ebp
mov ebp, dword [0x8e4008]
mov dword [esp + 8], ebp
mov ebp, dword [0x8e400c]
mov dword [esp + 0xc], ebp
call fcn.0040e270
mov ebp, dword [esp + 0x230]
mov edx, dword [esp + 0x234]
mov ecx, dword [esp + 0x22c]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x69bdb3
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.00697f00
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xd4], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x170], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x174], ebx
mov ebx, dword [esp + 0x170]
cmp ebx, 0
jne 0x69bd90
mov ebx, dword [esp + 0xd4]
mov dword [esp + 0xe4], ebx
mov eax, dword [esp + 0xe4]
mov ecx, 0x755ce0
mov dword [esp + 0x1b8], ecx
mov dword [esp], ecx
mov dword [esp + 0x1bc], eax
mov dword [esp + 4], eax
call fcn.005eaeb0
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x478]
mov dword [esp], ebx
mov ebx, dword [esp + 0x47c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x480]
mov dword [esp + 8], ebx
mov dword [esp + 0x2c8], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x2cc], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x14], eax
call fcn.005e9140
mov ebx, dword [esp + 0x170]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x174]
mov dword [esp + 0x4b4], ebx
add esp, 0x474
ret
mov ebx, dword [esp + 0x478]
mov dword [esp + 0x1fc], ebx
mov ebx, dword [esp + 0x47c]
mov dword [esp + 0x200], ebx
mov ebx, dword [esp + 0x480]
mov dword [esp + 0x204], ebx
mov ebx, dword [esp + 0x1fc]
mov dword [esp + 0x1f0], ebx
mov ebx, dword [esp + 0x200]
mov dword [esp + 0x1f4], ebx
mov ebx, dword [esp + 0x204]
mov dword [esp + 0x1f8], ebx
mov dword [esp + 0x48], 0
mov ebx, dword [esp + 0x1f8]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x44], 0
mov ebx, dword [esp + 0x64]
and ebx, 0x1f
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x48], ebx
mov eax, dword [esp + 0x48]
cmp eax, 5
ja 0x69c2dd
cmp eax, 1
jne 0x69c005
mov dword [esp + 0x250], ecx
mov dword [esp + 0x254], ebp
mov dword [esp + 0x258], edx
mov byte [esp + 0x41], 0
xor ebx, ebx
mov dword [esp + 0x178], ebx
mov dword [esp + 0x17c], ebx
mov ebx, dword [esp + 0x254]
cmp ebx, 1
je 0x69bf63
xor ebx, ebx
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], ebx
mov ebx, 0x75f80c
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], 0xf
mov dword [esp], 0x8c38d0
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.00417980
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x178], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x17c], ebx
movzx ebx, byte [esp + 0x41]
mov byte [esp + 0x42], bl
mov ebx, dword [esp + 0x178]
mov dword [esp + 0x138], ebx
mov ebx, dword [esp + 0x17c]
mov dword [esp + 0x13c], ebx
mov ebx, dword [esp + 0x138]
cmp ebx, 0
jne 0x69bf40
mov ebx, dword [esp + 0x1fc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x200]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x204]
mov dword [esp + 8], ebx
movzx ebx, byte [esp + 0x42]
mov byte [esp + 0xc], bl
call fcn.005e9230
mov ebx, dword [esp + 0x138]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x13c]
mov dword [esp + 0x4b4], ebx
add esp, 0x474
ret
cmp dword [esp + 0x254], 0
jbe 0x69bffe
mov ebx, dword [esp + 0x250]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0
xchg ebp, eax
jne 0x69bf8c
mov byte [esp + 0x41], 0
jmp 0x69bee1
xchg ebp, eax
cmp al, 0xff
xchg ebp, eax
jne 0x69bf9d
mov byte [esp + 0x41], 1
jmp 0x69bee1
xor ebx, ebx
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], ebx
mov ebx, 0x75f80c
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], 0xf
mov dword [esp], 0x8c38d0
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.00417980
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x178], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x17c], ebx
jmp 0x69bee1
call fcn.00435970
ud2
cmp eax, 2
jne 0x69c1d5
mov ebx, dword [esp + 0x1fc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x200]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x204]
mov dword [esp + 8], ebx
call fcn.005ea350
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x1a8], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [esp + 0x1ac]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1a8]
mov ebx, dword [ebx + 0x80]
call ebx
mov edx, dword [esp + 0x230]
mov ecx, dword [esp + 0x234]
mov eax, dword [esp + 0x22c]
mov ebx, dword [esp + 4]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x70]
cmp ebx, 4
jne 0x69c137
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00697ca0
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x150], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x154], ebx
mov ebx, dword [esp + 0x150]
cmp ebx, 0
jne 0x69c114
mov ebx, dword [esp + 0x1fc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x200]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x204]
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x50]
cdq
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], edx
mov eax, dword [esp + 0x84]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x10], eax
call fcn.005e95d0
mov ebx, dword [esp + 0x150]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x154]
mov dword [esp + 0x4b4], ebx
add esp, 0x474
ret
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.006979e0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x80], eax
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x140], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x144], ebx
mov ebx, dword [esp + 0x140]
cmp ebx, 0
jne 0x69c1b4
mov ebx, dword [esp + 0x1fc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x200]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x204]
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x10], eax
call fcn.005e95d0
mov ebx, dword [esp + 0x140]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x144]
mov dword [esp + 0x4b4], ebx
jmp 0x69c130
cmp eax, 5
je 0x69c00e
mov ebx, dword [esp + 0x478]
mov dword [esp], ebx
mov ebx, dword [esp + 0x47c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x480]
mov dword [esp + 8], ebx
call fcn.005ea350
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x1a8], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [esp + 0x1ac]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1a8]
mov ebx, dword [ebx + 0x84]
call ebx
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
xor ebx, ebx
mov dword [esp + 0x1d8], ebx
mov dword [esp + 0x1dc], ebx
mov dword [esp], 0
mov ebx, 0x75e94a
mov dword [esp + 4], ebx
mov dword [esp + 8], 0xd
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x10], eax
call fcn.0044d580
lea eax, [esp + 0x14]
lea ebx, [esp + 0x1d8]
mov dword [esp + 0xd8], ebx
mov edi, dword [esp + 0xd8]
cld
mov ecx, dword [eax]
mov dword [edi], ecx
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov dword [esp], 0x8c38b0
lea ebx, [esp + 0x1d8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.00417980
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x4b4], ebx
add esp, 0x474
ret
cmp eax, 0x17
ja 0x69c5bf
cmp eax, 6
je 0x69c00e
cmp eax, 0x17
jne 0x69c1de
mov ebx, dword [esp + 0x128]
mov dword [esp + 0xf8], ebx
mov ebx, dword [esp + 0x12c]
mov dword [esp + 0xfc], ebx
mov ebx, dword [esp + 0xfc]
mov dword [esp], ebx
mov ebx, dword [esp + 0xf8]
mov ebx, dword [ebx + 0x2c]
call ebx
mov ebx, dword [esp + 4]
mov dword [esp + 0x1a8], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [esp + 0x1ac]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1a8]
mov ebx, dword [ebx + 0x54]
call ebx
mov edx, dword [esp + 0x230]
mov ebx, dword [esp + 4]
cmp ebx, 8
jne 0x69c496
mov ebx, dword [esp + 0xf8]
mov dword [esp], ebx
mov ebx, dword [esp + 0xfc]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call fcn.005eab30
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1fc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x200]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x204]
mov dword [esp + 8], ebx
mov dword [esp + 0x2c8], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x2cc], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x14], eax
call fcn.005e9140
mov ebx, dword [esp + 0x22c]
mov dword [esp + 0x2bc], ebx
mov ebx, dword [esp + 0x230]
mov dword [esp + 0x2c0], ebx
mov ebx, dword [esp + 0x234]
mov dword [esp + 0x2c4], ebx
mov dword [esp], 0x6f7be0
lea ebx, [esp + 0x2bc]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
lea ebx, [esp + 0xc]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.005eaeb0
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x1fc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x200]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x204]
mov dword [esp + 8], ebx
mov dword [esp + 0x2c8], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x2cc], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x14], eax
call fcn.005ea8b0
add esp, 0x474
ret
mov ebx, dword [esp + 0xfc]
mov dword [esp], ebx
mov ebx, dword [esp + 0xf8]
mov ebx, dword [ebx + 0x2c]
call ebx
mov ebx, dword [esp + 4]
mov dword [esp + 0x1a8], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [esp + 0x22c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x230]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x234]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0xfc]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x1a8]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x1ac]
mov dword [esp + 0x18], ebx
call fcn.006999a0
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x214], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x218], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x21c], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x158], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x15c], ebx
mov ebx, dword [esp + 0x158]
cmp ebx, 0
jne 0x69c59c
mov ebx, dword [esp + 0x1fc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x200]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x204]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x214]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x218]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x21c]
mov dword [esp + 0x14], ebx
call fcn.005e9140
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x15c]
mov dword [esp + 0x4b4], ebx
add esp, 0x474
ret
cmp eax, 0x18
jne 0x69c998
xor ebx, ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
mov eax, dword [esp + 0x4c]
cmp eax, 0x13
jg 0x69c7af
cmp eax, 0xc
jne 0x69c671
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.00699440
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xe8], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xec], ebx
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x4b4], ebx
mov dword [esp + 0x4b0], eax
cmp eax, 0
jne 0x69c66a
mov ebx, dword [esp + 0x1fc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x200]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x204]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 0x10], ebx
call fcn.005e9b20
add esp, 0x474
ret
cmp eax, 0x13
jne 0x69c6b0
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.006991e0
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xe8], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xec], ebx
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x4b4], ebx
jmp 0x69c623
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x74], ebx
xor ebx, ebx
mov dword [esp + 0x1b0], ebx
mov dword [esp + 0x1b4], ebx
lea ebx, [esp + 0x1b0]
mov dword [esp + 0xe0], ebx
mov dword [esp], 0x70aa00
lea ebx, [esp + 0x74]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
mov ebx, dword [esp + 0xe0]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [ebx], ecx
mov dword [ebx + 4], eax
mov edx, 1
mov ecx, 1
mov eax, ebx
mov ebx, 0x76a7d6
mov dword [esp], ebx
mov dword [esp + 4], 0x26
mov dword [esp + 0x28c], eax
mov dword [esp + 8], eax
mov dword [esp + 0x290], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x294], ecx
mov dword [esp + 0x10], ecx
call fcn.004699b0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
xor ebx, ebx
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], ebx
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x1e8], ecx
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1ec], eax
mov dword [esp], 0x8c38d0
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.00417980
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x4b4], ebx
jmp 0x69c623
cmp eax, 0x14
jne 0x69c884
mov dword [esp + 0x268], ecx
mov dword [esp + 0x26c], ebp
mov dword [esp + 0x270], edx
xor ebx, ebx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebx
xor ebx, ebx
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x1a4], ebx
mov dword [esp], 0
mov ebx, dword [esp + 0x268]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x26c]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x270]
mov dword [esp + 0xc], ebx
call fcn.0044d780
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10c], eax
xor ebx, ebx
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x1a4], ebx
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x1c4], eax
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x1a0]
mov ebx, dword [esp + 0x1a4]
mov dword [esp + 0x4b4], ebx
jmp 0x69c623
cmp eax, 0x16
jne 0x69c8c3
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.00699350
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xe8], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xec], ebx
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x4b4], ebx
jmp 0x69c623
cmp eax, 0x1b
jne 0x69c6b0
mov dword [esp + 0x274], ecx
mov dword [esp + 0x278], ebp
mov dword [esp + 0x27c], edx
xor ebx, ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], ebx
xor ebx, ebx
mov dword [esp + 0x180], ebx
mov dword [esp + 0x184], ebx
mov dword [esp], 0
mov ebx, dword [esp + 0x274]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x278]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x27c]
mov dword [esp + 0xc], ebx
call fcn.0044d780
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x110], ecx
mov dword [esp + 0x114], eax
xor ebx, ebx
mov dword [esp + 0x180], ebx
mov dword [esp + 0x184], ebx
mov ecx, dword [esp + 0x110]
mov eax, dword [esp + 0x114]
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x1c4], eax
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x180]
mov ebx, dword [esp + 0x184]
mov dword [esp + 0x4b4], ebx
jmp 0x69c623
cmp eax, 0x19
jne 0x69c1de
mov ebx, dword [esp + 0x128]
mov dword [esp + 0xf0], ebx
mov ebx, dword [esp + 0x12c]
mov dword [esp + 0xf4], ebx
mov ebx, dword [esp + 0xf4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xf0]
mov ebx, dword [ebx + 0x68]
call ebx
mov ebx, dword [esp + 4]
cmp ebx, 0
jle 0x69cbde
mov dword [esp + 4], 0
mov ebx, dword [esp + 0xf4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xf0]
mov ebx, dword [ebx + 0x30]
call ebx
lea esi, [esp + 8]
lea edi, [esp + 0x440]
cld
call fcn.00463c4e
mov ebx, dword [esp + 0x450]
mov dword [esp + 0x1a8], ebx
mov ebx, dword [esp + 0x454]
mov dword [esp + 0x1ac], ebx
mov eax, dword [esp + 0x1a8]
mov ebx, dword [0x8e4030]
cmp eax, ebx
jne 0x69cbde
mov ebp, dword [esp + 0x1a8]
mov dword [esp], ebp
mov ebp, dword [esp + 0x1ac]
mov dword [esp + 4], ebp
mov ebp, dword [0x8e4030]
mov dword [esp + 8], ebp
mov ebp, dword [0x8e4034]
mov dword [esp + 0xc], ebp
call fcn.0040e270
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x69cbde
mov eax, dword [esp + 0x490]
mov ecx, dword [esp + 0x4ac]
mov edx, dword [esp + 0x48c]
cmp ecx, edx
ja 0x69ce01
cmp eax, ecx
ja 0x69ce01
mov ebp, ecx
sub ebp, eax
sub edx, eax
mov ecx, dword [esp + 0x484]
cmp edx, 0
je 0x69cab5
add ecx, eax
mov dword [esp + 0x23c], ebp
mov dword [esp + 0x240], edx
mov dword [esp + 0x238], ecx
mov ebx, dword [esp + 0x1fc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x200]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x204]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0
call fcn.005e6fd0
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x2c8], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x2cc], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x2d0], ebx
mov ebx, dword [esp + 0x238]
mov dword [esp + 0x2b0], ebx
mov ebx, dword [esp + 0x23c]
mov dword [esp + 0x2b4], ebx
mov ebx, dword [esp + 0x240]
mov dword [esp + 0x2b8], ebx
mov dword [esp], 0x70bd60
lea ebx, [esp + 0x2b0]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
lea ebx, [esp + 0xc]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.005eaeb0
mov ebx, dword [esp + 8]
mov dword [esp + 0x2a4], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x2a8], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x2ac], ebx
mov ebx, dword [esp + 0x2c8]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2cc]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2d0]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x2a4]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x2a8]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x2ac]
mov dword [esp + 0x14], ebx
call fcn.005e9140
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov ebx, dword [esp + 0xf4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xf0]
mov ebx, dword [ebx + 0x68]
call ebx
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0x60]
cmp ebx, eax
jge 0x69cdfa
mov ebx, dword [esp + 0x60]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xf4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xf0]
mov ebx, dword [ebx + 0x30]
call ebx
lea esi, [esp + 8]
lea edi, [esp + 0x40c]
cld
call fcn.00463c4e
mov ebx, dword [esp + 0x60]
cmp ebx, 0
jne 0x69ccbf
mov ebx, dword [esp + 0x41c]
mov dword [esp + 0x1a8], ebx
mov ebx, dword [esp + 0x420]
mov dword [esp + 0x1ac], ebx
mov ecx, dword [esp + 0x1a8]
mov ebx, dword [0x8e4030]
cmp ecx, ebx
jne 0x69ccbf
mov ebp, dword [esp + 0x1a8]
mov dword [esp], ebp
mov ebp, dword [esp + 0x1ac]
mov dword [esp + 4], ebp
mov ebp, dword [0x8e4030]
mov dword [esp + 8], ebp
mov ebp, dword [0x8e4034]
mov dword [esp + 0xc], ebp
call fcn.0040e270
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x69ccbf
mov ebx, dword [esp + 0x60]
inc ebx
mov dword [esp + 0x60], ebx
jmp 0x69cbee
mov ebx, dword [esp + 0x1fc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x200]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x204]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0xc], ebx
call fcn.005e6fd0
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x2a4], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x2a8], ebx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2ac], eax
lea eax, [esp + 0x40c]
add eax, 0x18
cld
mov ecx, dword [eax]
mov dword [esp], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 4], ecx
mov ebx, 0x7583b3
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
call fcn.005de4c0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c0], ecx
mov dword [esp], ecx
mov dword [esp + 0x1c4], eax
mov dword [esp + 4], eax
call fcn.0069d510
lea esi, [esp + 8]
lea edi, [esp + 0x36c]
cld
call fcn.00463c94
mov ebx, dword [esp + 0x2a4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2a8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2ac]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x22c]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x230]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x234]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x18], ebx
lea esi, [esp + 0x36c]
lea edi, [esp + 0x1c]
cld
call fcn.00463c94
call fcn.00699dd0
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x5c], ebx
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x4b4], ebx
mov dword [esp + 0x4b0], eax
cmp eax, 0
je 0x69ccb1
add esp, 0x474
ret
add esp, 0x474
ret
call fcn.004359e0
ud2
call fcn.004359e0
ud2
mov eax, 1
jmp 0x69b169
mov ebx, dword [esp + 0x478]
mov dword [esp], ebx
mov ebx, dword [esp + 0x47c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x480]
mov dword [esp + 8], ebx
lea esi, [esp + 0x494]
lea edi, [esp + 0xc]
cld
call fcn.00463c94
call fcn.0069d1f0
movzx ebx, byte [esp + 0x24]
cmp bl, 0
je 0x69ce6e
mov ebx, dword [esp + 0x490]
mov dword [esp + 0x4ac], ebx
add esp, 0x474
ret
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x94]
mov dword [esp + 0xc4], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 0xc8], ebx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0xcc], ebx
movzx ebx, byte [esp + 0xa0]
mov byte [esp + 0xd0], bl
lea esi, [esp + 0x494]
lea edi, [esp + 0x384]
cld
call fcn.00463c94
mov ebx, dword [esp + 0x12c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x128]
mov ebx, dword [ebx + 0x64]
call ebx
mov ebx, dword [esp + 4]
mov dword [esp + 0x1d0], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x1d4], ebx
mov ebx, dword [esp + 0x4ac]
mov dword [esp + 0x74], ebx
lea edi, [esp + 0x3e4]
xor eax, eax
call fcn.004637b6
lea ebx, [esp + 0x3e4]
mov dword [esp + 0xdc], ebx
mov dword [esp], 0x70aa00
lea ebx, [esp + 0x78]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0xdc]
mov dword [ebx], ecx
mov dword [ebx + 4], eax
mov dword [esp], 0x72f140
lea ebx, [esp + 0xc4]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0xdc]
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], eax
mov dword [esp], 0x740bc0
lea ebx, [esp + 0x384]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0xdc]
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0x14], eax
mov dword [esp], 0x70b040
lea ebx, [esp + 0x1d0]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0xdc]
mov dword [ebx + 0x18], ecx
mov dword [ebx + 0x1c], eax
mov dword [esp], 0x70aa00
lea ebx, [esp + 0x74]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.004178c0
mov ebx, dword [esp + 0xdc]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], eax
mov edx, 5
mov ecx, 5
mov eax, ebx
mov ebx, 0x76add7
mov dword [esp], ebx
mov dword [esp + 4], 0x27
mov dword [esp + 0x28c], eax
mov dword [esp + 8], eax
mov dword [esp + 0x290], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x294], ecx
mov dword [esp + 0x10], ecx
call fcn.004699b0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
xor ebx, ebx
mov dword [esp + 0x1d8], ebx
mov dword [esp + 0x1dc], ebx
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1dc], eax
mov dword [esp], 0x8c38b0
lea ebx, [esp + 0x1d8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.00417980
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x4b4], ebx
jmp 0x69ce67
cmp ecx, 0x14
je 0x69b073
jmp 0x69b077
cmp ecx, 0x16
je 0x69b073
cmp ecx, 0x1b
je 0x69b073
jmp 0x69b077
mov ebx, dword [esp + 0x4a0]
cmp ebx, 0
je 0x69b077
mov ebx, dword [esp + 0x4a0]
mov dword [esp + 0x4c], ebx
jmp 0x69b077
mov ecx, dword [esp + 0x128]
mov ebx, dword [0x8e4020]
cmp ecx, ebx
jne 0x69d182
mov ebp, dword [esp + 0x128]
mov dword [esp], ebp
mov ebp, dword [esp + 0x12c]
mov dword [esp + 4], ebp
mov ebp, dword [0x8e4020]
mov dword [esp + 8], ebp
mov ebp, dword [0x8e4024]
mov dword [esp + 0xc], ebp
call fcn.0040e270
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x69d182
mov ebx, dword [esp + 0x478]
mov dword [esp], ebx
mov ebx, dword [esp + 0x47c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x480]
mov dword [esp + 8], ebx
mov byte [esp + 0xc], 1
call fcn.005e9230
add esp, 0x474
ret
xor ebx, ebx
mov dword [esp + 0x1d8], ebx
mov dword [esp + 0x1dc], ebx
mov ebx, 0x76ce8d
mov dword [esp + 0x1d8], ebx
mov dword [esp + 0x1dc], 0x2d
mov dword [esp], 0x8c38b0
lea ebx, [esp + 0x1d8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.00417980
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x4b0], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x4b4], ebx
add esp, 0x474
ret
call fcn.004616d0
jmp fcn.00699dd0