Function at 0x46e8db
Capabilities:
Encode data using base64
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x740
mov eax, dword [0x4fbccc]
xor eax, ebp
mov dword [ebp - 0x34], eax
push esi
push edi
mov dword [ebp - 8], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 0x14]
mov dl, byte [ecx + 0x79]
mov byte [ebp - 0x11], dl
mov dword [ebp - 0x10], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x50], 0xbdf20da3
je 0x469380
mov eax, 0x15
jmp 0x46f69b
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x80], 7
jne 0x46939a
jmp 0x46f5e3
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x80], 0
mov edx, dword [ebp + 8]
cmp dword [edx + 0x22c], 0
je 0x4693d6
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x22c]
push ecx
lea edx, [ebp - 0x18]
push edx
call fcn.004690f0
add esp, 8
mov eax, dword [ebp + 8]
mov dword [eax + 0x22c], 0
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x234], 0
mov edx, dword [ebp - 4]
mov dword [edx + 0x11c], 0
mov eax, dword [ebp - 4]
cmp dword [eax + 0x98], 0
je 0x4693fe
jmp 0x46f64e
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x7c]
mov dword [ebp - 0xc], edx
jmp 0x469412
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
cmp dword [ebp - 8], 0
jne 0x46f5a4
call fcn.00454060
test eax, eax
je 0x46942a
jmp 0x46f5e3
mov ecx, dword [ebp - 0xc]
imul ecx, ecx, 0x14
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x18]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 4]
cmp dword [eax + 0xa8], 0
je 0x4694c1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xb0]
cmp edx, dword [ebp - 0x10]
jne 0x4694b8
mov eax, dword [ebp - 4]
push eax
call fcn.00453a10
add esp, 4
test eax, eax
je 0x469468
jmp 0x46f605
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xac]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xa8]
call ecx
add esp, 4
test eax, eax
je 0x46949c
mov edx, dword [ebp - 4]
push edx
call fcn.004539c0
add esp, 4
mov dword [ebp - 8], 4
jmp 0x469409
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 4]
push eax
call fcn.004539c0
add esp, 4
test eax, eax
je 0x4694b8
jmp 0x46f605
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x1c]
movzx eax, byte [edx]
mov dword [ebp - 0x664], eax
mov ecx, dword [ebp - 0x664]
sub ecx, 1
mov dword [ebp - 0x664], ecx
cmp dword [ebp - 0x664], 0x8d
ja case.0x4694f2.12
mov edx, dword [ebp - 0x664]
jmp dword [edx*4 + 0x46f6ac]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x98], 0
je 0x46950a
jmp 0x46f64e
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xc], edx
jmp case.0x4694f2.12
mov eax, dword [ebp - 0xc]
add eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x220]
mov ecx, dword [ebp + 8]
mov dword [ecx + edx*4 + 0x90], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x220]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x220], eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc], eax
jmp case.0x4694f2.12
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x220]
sub edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x220], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x220]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edx*4 + 0x90]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4694f2.12
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x18]
mov dword [edx + 0x2c], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
mov dword [ecx + 0x80], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov dword [ecx + 0x7c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 8]
mov dword [eax + 0x88], edx
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xc], 0
je 0x4695e0
push 0
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp + 8]
add eax, 0x230
push eax
call fcn.00452e10
add esp, 0xc
mov ecx, dword [ebp + 8]
push ecx
call fcn.00466af0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jne 0x46960c
mov edx, dword [ebp + 8]
mov dword [edx + 0x80], 5
mov eax, 5
jmp 0x46f69b
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x80]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
jmp 0x46f69b
mov ecx, dword [ebp - 0x18]
add ecx, 0x40
mov dword [ebp - 0x18], ecx
mov edx, 4
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ecx + 4]
cdq
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x18]
add edx, 0x40
mov dword [ebp - 0x18], edx
mov eax, 0xa2
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0xc]
mov dword [edx + 0x10], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x668], eax
mov ecx, dword [ebp - 0x668]
add ecx, 1
mov dword [ebp - 0x66c], ecx
mov edx, dword [ebp - 0x668]
mov al, byte [edx]
mov byte [ebp - 0x66d], al
add dword [ebp - 0x668], 1
cmp byte [ebp - 0x66d], 0
jne 0x469689
mov ecx, dword [ebp - 0x668]
sub ecx, dword [ebp - 0x66c]
mov dword [ebp - 0x674], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x674]
mov dword [edx + 0x14], eax
mov ecx, dword [ebp - 0x18]
mov byte [ecx + 0x1b], 1
mov edx, dword [ebp - 0x18]
push edx
call fcn.004640c0
add esp, 4
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
or eax, 4
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x18]
add edx, 0x40
mov dword [ebp - 0x18], edx
mov eax, 0xa2
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0xc]
mov dword [edx + 0x10], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x678], eax
mov ecx, dword [ebp - 0x678]
add ecx, 1
mov dword [ebp - 0x67c], ecx
mov edx, dword [ebp - 0x678]
mov al, byte [edx]
mov byte [ebp - 0x67d], al
add dword [ebp - 0x678], 1
cmp byte [ebp - 0x67d], 0
jne 0x469732
mov ecx, dword [ebp - 0x678]
sub ecx, dword [ebp - 0x67c]
mov dword [ebp - 0x684], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x684]
mov dword [edx + 0x14], eax
mov ecx, dword [ebp - 0x18]
mov byte [ecx + 0x1b], 1
mov edx, dword [ebp - 0x18]
push edx
call fcn.00464150
add esp, 4
mov eax, dword [ebp - 0x18]
fstp qword [eax + 8]
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
or edx, 8
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
movzx ecx, byte [ebp - 0x11]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call fcn.00463ba0
add esp, 8
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
mov byte [eax], 0x1a
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x688], edx
mov eax, dword [ebp - 0x688]
add eax, 1
mov dword [ebp - 0x68c], eax
mov ecx, dword [ebp - 0x688]
mov dl, byte [ecx]
mov byte [ebp - 0x68d], dl
add dword [ebp - 0x688], 1
cmp byte [ebp - 0x68d], 0
jne 0x4697cf
mov eax, dword [ebp - 0x688]
sub eax, dword [ebp - 0x68c]
mov dword [ebp - 0x694], eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x694]
mov dword [ecx + 4], edx
movzx eax, byte [ebp - 0x11]
cmp eax, 1
je case.0x4694f2.25
mov ecx, dword [ebp - 0x18]
add ecx, 0x40
mov dword [ebp - 0x18], ecx
push 0
push 1
push 0xffffffffffffffff
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.004644b0
add esp, 0x14
movzx edx, byte [ebp - 0x11]
push edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.00463ba0
add esp, 8
test eax, eax
je 0x469854
jmp 0x46f5e3
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00463be0
add esp, 4
test eax, eax
je 0x469869
jmp 0x46f5e3
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 0xffffffbf
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
or eax, 0x80
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
mov edx, dword [ebp - 0x1c]
cmp dword [edx + 0x10], 0xffffffff
jne 0x4698a5
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0xc]
push ecx
call fcn.00452c70
add esp, 4
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x10], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x14]
mov dword [eax + 4], edx
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x18]
add eax, 0x40
mov dword [ebp - 0x18], eax
mov ecx, 0xa2
mov edx, dword [ebp - 0x18]
mov word [edx + 0x18], cx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 0x11]
mov byte [eax + 0x1b], cl
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x18]
add edx, 0x40
mov dword [ebp - 0x18], edx
mov eax, 1
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
mov edx, dword [ebp - 0x18]
mov dword [edx + 0x14], 0
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
mov byte [eax], 0x7a
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x698], edx
mov eax, dword [ebp - 0x698]
add eax, 1
mov dword [ebp - 0x69c], eax
mov ecx, dword [ebp - 0x698]
mov dl, byte [ecx]
mov byte [ebp - 0x69d], dl
add dword [ebp - 0x698], 1
cmp byte [ebp - 0x69d], 0
jne 0x46994c
mov eax, dword [ebp - 0x698]
sub eax, dword [ebp - 0x69c]
mov dword [ebp - 0x6a4], eax
mov ecx, dword [ebp - 0x6a4]
shr ecx, 1
mov edx, dword [ebp - 0x1c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 4], 0
je 0x4699dd
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0xc]
push edx
call fcn.00453ec0
add esp, 4
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x4699b0
jmp 0x46f5e3
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x10], 0xffffffff
jne 0x4699c8
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0xc]
push edx
call fcn.00452c70
add esp, 4
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x10], 0xffffffff
jmp case.0x4694f2.121
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x10], 0xffffffff
jne 0x4699f5
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0xc]
push edx
call fcn.00452c70
add esp, 4
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x10], 0xfffffffe
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0xc], 0x504726
mov edx, dword [ebp - 0x18]
add edx, 0x40
mov dword [ebp - 0x18], edx
push 0
push 0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.004644b0
add esp, 0x14
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
sub eax, 1
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x40
mov dword [ebp - 0x18], ecx
push 0x80
mov edx, dword [ebp - 0x24]
shl edx, 6
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x44]
push edx
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00464360
add esp, 0xc
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
push eax
lea ecx, [ebp - 0x18]
push ecx
call fcn.004690f0
add esp, 8
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
neg eax
shl eax, 6
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x40
mov dword [ebp - 0x18], ecx
push 0x100
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.00464360
add esp, 0xc
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + 8], 0
je 0x469ae0
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 0x100
je 0x469ae0
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00463c90
add esp, 4
test eax, eax
je 0x469ae0
jmp 0x46f5e3
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
neg eax
shl eax, 6
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
mov esi, dword [ebp - 0x2c]
mov ecx, 0x10
lea edi, [ebp - 0x78]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
and edx, 0x100
je 0x469b27
mov eax, dword [ebp - 0x18]
push eax
call fcn.00463c90
add esp, 4
test eax, eax
je 0x469b27
jmp 0x46f5e3
mov dword [ebp - 0x30], 0
jmp 0x469b42
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x2c]
add edx, 0x40
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x30]
cmp ecx, dword [eax + 4]
jge 0x469b9f
mov edx, dword [ebp - 0x2c]
movzx eax, word [edx + 0x58]
and eax, 0x100
je 0x469b73
mov ecx, dword [ebp - 0x2c]
add ecx, 0x40
push ecx
call fcn.00463c90
add esp, 4
test eax, eax
je 0x469b73
jmp 0x46f5e3
mov esi, dword [ebp - 0x2c]
add esi, 0x40
mov ecx, 0x10
mov edi, dword [ebp - 0x2c]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp - 0x2c]
movzx eax, word [edx + 0x18]
and eax, 0x200
je 0x469b9d
mov ecx, dword [ebp - 0x2c]
add ecx, 0x20
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0x10], ecx
jmp 0x469b30
mov ecx, 0x10
lea esi, [ebp - 0x78]
mov edi, dword [ebp - 0x18]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x18]
and ecx, 0x200
je 0x469bc7
mov edx, dword [ebp - 0x18]
add edx, 0x20
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x10], edx
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
neg edx
shl edx, 6
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x7c]
push ecx
call fcn.00464420
add esp, 8
mov edx, dword [ebp - 0x18]
sub edx, 0x40
mov dword [ebp - 0x18], edx
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
sub ecx, dword [eax + 4]
shl ecx, 6
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0x80], eax
jmp 0x469c23
mov ecx, dword [ebp - 0x80]
add ecx, 0x40
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x80]
cmp edx, dword [ebp - 0x84]
jae 0x469c54
mov eax, dword [ebp - 0x80]
movzx ecx, word [eax + 0x18]
and ecx, 0x100
je 0x469c52
mov edx, dword [ebp - 0x80]
push edx
call fcn.00463c90
add esp, 4
test eax, eax
je 0x469c52
jmp 0x46f5e3
jmp 0x469c1a
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x60]
add ecx, 2
or ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x60], ecx
jmp 0x469c71
mov eax, dword [ebp - 0x80]
add eax, 0x40
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x80]
cmp ecx, dword [ebp - 0x18]
ja 0x469c93
mov edx, dword [ebp - 0x80]
push edx
call fcn.00463d70
add esp, 4
mov eax, dword [ebp - 0x80]
push eax
call fcn.00469090
add esp, 4
jmp 0x469c68
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x234], 1
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5c]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x5c], eax
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
mov dword [edx + 0x22c], ecx
mov edx, dword [ebp - 0xc]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x7c], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
mov dword [ecx + 0x2c], edx
mov eax, 0x64
jmp 0x46f69b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
add ecx, 2
mov dword [ebp - 0x9c], ecx
mov edx, 1
sub edx, dword [ebp - 0x9c]
shl edx, 6
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x88], 0
jmp 0x469d34
mov eax, dword [ebp - 0x88]
add eax, 1
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0x40
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp - 0x88]
cmp edx, dword [ebp - 0x9c]
jge 0x469da3
mov eax, dword [ebp - 0x8c]
movzx ecx, word [eax + 0x18]
and ecx, 1
je 0x469d5d
mov dword [ebp - 0x90], 0xffffffff
jmp 0x469da3
mov edx, dword [ebp - 0x8c]
movzx eax, word [edx + 0x18]
and eax, 0x12
jne 0x469d89
movzx ecx, byte [ebp - 0x11]
push ecx
mov edx, dword [ebp - 0x8c]
push edx
call fcn.00463e70
add esp, 8
test eax, eax
je 0x469d89
jmp 0x46f5e3
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x90]
add ecx, dword [eax + 0x14]
mov dword [ebp - 0x90], ecx
jmp 0x469d16
cmp dword [ebp - 0x90], 0
jge 0x469de2
mov edx, dword [ebp - 0x1c]
cmp dword [edx + 8], 0
jne 0x469dc8
mov eax, dword [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x18]
push ecx
call fcn.004690f0
add esp, 8
mov edx, dword [ebp - 0x18]
add edx, 0x40
mov dword [ebp - 0x18], edx
mov eax, 1
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
jmp 0x469f33
push 1
mov edx, dword [ebp - 0x90]
add edx, 2
push edx
call fcn.00452ba0
add esp, 8
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
jne 0x469e0a
jmp 0x46f5e3
mov dword [ebp - 0x98], 0
mov eax, 1
sub eax, dword [ebp - 0x9c]
shl eax, 6
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x98], 0
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0x88], ecx
jmp 0x469e61
mov edx, dword [ebp - 0x88]
add edx, 1
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x8c]
add eax, 0x40
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x88]
cmp ecx, dword [ebp - 0x9c]
jge 0x469eb8
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
push ecx
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x94]
add ecx, dword [ebp - 0x98]
push ecx
call fcn.004bd140
add esp, 0xc
mov edx, dword [ebp - 0x98]
add edx, dword [ebp - 0xa0]
mov dword [ebp - 0x98], edx
jmp 0x469e43
mov eax, dword [ebp - 0x94]
add eax, dword [ebp - 0x98]
mov byte [eax], 0
mov ecx, dword [ebp - 0x94]
add ecx, dword [ebp - 0x98]
mov byte [ecx + 1], 0
mov edx, dword [ebp - 0x1c]
cmp dword [edx + 8], 0
jne 0x469ef3
mov eax, dword [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x18]
push ecx
call fcn.004690f0
add esp, 8
mov edx, dword [ebp - 0x18]
add edx, 0x40
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x98]
mov dword [eax + 0x14], ecx
mov edx, 0x62
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x1c], 0
mov edx, dword [ebp - 0x18]
mov al, byte [ebp - 0x11]
mov byte [edx + 0x1b], al
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x94]
mov dword [ecx + 0x10], edx
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x18]
sub eax, 0x40
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
mov eax, dword [ebp - 0xa8]
movzx ecx, word [eax + 0x18]
or edx, ecx
mov dword [ebp - 0xa4], edx
mov edx, dword [ebp - 0xa4]
and edx, 1
je 0x469fb2
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x18]
and ecx, 0x40
je 0x469f80
mov edx, dword [ebp - 0x18]
push edx
call fcn.00464030
add esp, 4
mov eax, dword [ebp - 0x18]
sub eax, 0x40
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
and edx, 0x40
je 0x469fa1
mov eax, dword [ebp - 0x18]
push eax
call fcn.00464030
add esp, 4
mov ecx, 1
mov edx, dword [ebp - 0x18]
mov word [edx + 0x18], cx
jmp 0x46a318
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x18]
mov edx, dword [ebp - 0xa8]
movzx eax, word [edx + 0x18]
and ecx, eax
and ecx, 4
je 0x46a192
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
mov dword [ebp - 0xb0], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ecx]
mov dword [ebp - 0xb8], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ecx]
mov dword [ebp - 0x6a8], edx
mov eax, dword [ebp - 0x6a8]
sub eax, 0x4e
mov dword [ebp - 0x6a8], eax
cmp dword [ebp - 0x6a8], 3
ja case.default.0x46a027
mov ecx, dword [ebp - 0x6a8]
jmp dword [ecx*4 + 0x46f8e4]
mov edx, dword [ebp - 0xb8]
add edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xb4]
adc eax, dword [ebp - 0xac]
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb4], eax
jmp 0x46a134
mov ecx, dword [ebp - 0xb8]
sub ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xb4]
sbb edx, dword [ebp - 0xac]
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb4], edx
jmp 0x46a134
mov eax, dword [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0xb4]
push edx
mov eax, dword [ebp - 0xb8]
push eax
call fcn.004bf2a0
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
jmp 0x46a134
mov ecx, dword [ebp - 0xb0]
or ecx, dword [ebp - 0xac]
jne 0x46a0c5
jmp 0x46a31d
mov edx, dword [ebp - 0xac]
push edx
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp - 0xb8]
push edx
call fcn.004c7900
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
jmp 0x46a134
mov eax, dword [ebp - 0xb0]
or eax, dword [ebp - 0xac]
jne 0x46a107
jmp 0x46a31d
mov ecx, dword [ebp - 0xac]
push ecx
mov edx, dword [ebp - 0xb0]
push edx
mov eax, dword [ebp - 0xb4]
push eax
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.004c79b0
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 0x40
je 0x46a14c
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00464030
add esp, 4
mov edx, dword [ebp - 0x18]
sub edx, 0x40
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x18]
and ecx, 0x40
je 0x46a16d
mov edx, dword [ebp - 0x18]
push edx
call fcn.00464030
add esp, 4
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xb8]
mov dword [eax], ecx
mov edx, dword [ebp - 0xb4]
mov dword [eax + 4], edx
mov eax, 4
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
jmp 0x46a318
mov edx, dword [ebp - 0x18]
push edx
call fcn.00464150
add esp, 4
fstp qword [ebp - 0xc0]
mov eax, dword [ebp - 0xa8]
push eax
call fcn.00464150
add esp, 4
fstp qword [ebp - 0xc8]
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ecx]
mov dword [ebp - 0x6ac], edx
mov eax, dword [ebp - 0x6ac]
sub eax, 0x4e
mov dword [ebp - 0x6ac], eax
cmp dword [ebp - 0x6ac], 3
ja case.default.0x46a1e3
mov ecx, dword [ebp - 0x6ac]
jmp dword [ecx*4 + 0x46f8f4]
fld qword [ebp - 0xc8]
fadd qword [ebp - 0xc0]
fstp qword [ebp - 0xc8]
jmp 0x46a2b0
fld qword [ebp - 0xc8]
fsub qword [ebp - 0xc0]
fstp qword [ebp - 0xc8]
jmp 0x46a2b0
fld qword [ebp - 0xc8]
fmul qword [ebp - 0xc0]
fstp qword [ebp - 0xc8]
jmp 0x46a2b0
fldz
fcomp qword [ebp - 0xc0]
fnstsw ax
test ah, 0x44
jp 0x46a243
jmp 0x46a31d
fld qword [ebp - 0xc8]
fdiv qword [ebp - 0xc0]
fstp qword [ebp - 0xc8]
jmp 0x46a2b0
fld qword [ebp - 0xc0]
call fcn.004d2c00
mov dword [ebp - 0xd0], eax
fld qword [ebp - 0xc8]
call fcn.004d2c00
mov dword [ebp - 0xcc], eax
fild dword [ebp - 0xd0]
fcomp qword [0x4f08d0]
fnstsw ax
test ah, 0x44
jp 0x46a291
jmp 0x46a31d
mov eax, dword [ebp - 0xcc]
cdq
idiv dword [ebp - 0xd0]
mov dword [ebp - 0x6b0], edx
fild dword [ebp - 0x6b0]
fstp qword [ebp - 0xc8]
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 0x40
je 0x46a2c8
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00464030
add esp, 4
mov edx, dword [ebp - 0x18]
sub edx, 0x40
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x18]
and ecx, 0x40
je 0x46a2e9
mov edx, dword [ebp - 0x18]
push edx
call fcn.00464030
add esp, 4
mov eax, dword [ebp - 0x18]
fld qword [ebp - 0xc8]
fstp qword [eax + 8]
mov ecx, 8
mov edx, dword [ebp - 0x18]
mov word [edx + 0x18], cx
mov eax, dword [ebp - 0xa4]
and eax, 8
jne 0x46a318
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.004641e0
add esp, 4
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 0x40
je 0x46a335
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00464030
add esp, 4
mov edx, dword [ebp - 0x18]
sub edx, 0x40
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x18]
and ecx, 0x40
je 0x46a356
mov edx, dword [ebp - 0x18]
push edx
call fcn.00464030
add esp, 4
mov eax, 1
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xdc], edx
mov eax, 1
sub eax, dword [ebp - 0xd4]
shl eax, 6
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0xd8], 0
jmp 0x46a3c5
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0x13c]
add edx, 0x40
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xd4]
jge 0x46a3f9
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x13c]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x13c]
push ecx
call fcn.00469090
add esp, 4
jmp 0x46a3a7
mov edx, dword [ebp - 0x1c]
cmp dword [edx + 0x10], 0xfffffffb
jne 0x46a41a
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x134], 0
jmp 0x46a434
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x134], eax
mov ecx, dword [ebp - 0x134]
mov edx, dword [ecx]
mov dword [ebp - 0x138], edx
mov eax, 1
mov word [ebp - 0x118], ax
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x114], 0
mov byte [ebp - 0xec], 0
mov ecx, dword [ebp - 0x138]
movzx edx, byte [ecx + 3]
test edx, edx
je 0x46a475
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax - 8]
mov dword [ebp - 0xe8], ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00453a10
add esp, 4
test eax, eax
je 0x46a48a
jmp 0x46f605
mov eax, dword [ebp - 0xdc]
push eax
mov ecx, dword [ebp - 0xd4]
push ecx
lea edx, [ebp - 0x138]
push edx
mov eax, dword [ebp - 0x138]
mov ecx, dword [eax + 0x10]
call ecx
add esp, 0xc
mov edx, dword [ebp - 4]
push edx
call fcn.004539c0
add esp, 4
test eax, eax
je 0x46a4c2
jmp 0x46f605
call fcn.00454060
test eax, eax
je 0x46a4d0
jmp 0x46f5e3
mov eax, dword [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x18]
push ecx
call fcn.004690f0
add esp, 8
cmp dword [ebp - 0x134], 0
je 0x46a518
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x134]
push ecx
call fcn.00467040
add esp, 8
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x134]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x10], 0xfffffff9
movzx edx, byte [ebp - 0xec]
test edx, edx
je 0x46a54e
push 0
lea eax, [ebp - 0x130]
push eax
call fcn.00467ec0
add esp, 4
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x230
push ecx
call fcn.00452e10
add esp, 0xc
mov dword [ebp - 8], 1
movzx edx, byte [ebp - 0x11]
push edx
lea eax, [ebp - 0x130]
push eax
call fcn.00463ba0
add esp, 8
mov ecx, dword [ebp - 0x18]
add ecx, 0x40
mov dword [ebp - 0x18], ecx
xor edx, edx
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
lea ecx, [ebp - 0x130]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call fcn.00464420
add esp, 8
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x18]
sub eax, 0x40
mov dword [ebp - 0x14c], eax
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
mov eax, dword [ebp - 0x14c]
movzx ecx, word [eax + 0x18]
or edx, ecx
and edx, 1
je 0x46a5d8
push 2
lea edx, [ebp - 0x18]
push edx
call fcn.004690f0
add esp, 8
mov eax, dword [ebp - 0x18]
add eax, 0x40
mov dword [ebp - 0x18], eax
mov ecx, 1
mov edx, dword [ebp - 0x18]
mov word [edx + 0x18], cx
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x14c]
push eax
call fcn.004640c0
add esp, 4
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], edx
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.004640c0
add esp, 4
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], edx
mov edx, dword [ebp - 0x1c]
movzx eax, byte [edx]
mov dword [ebp - 0x6b4], eax
mov ecx, dword [ebp - 0x6b4]
sub ecx, 0x4a
mov dword [ebp - 0x6b4], ecx
cmp dword [ebp - 0x6b4], 3
ja case.default.0x46a639
mov edx, dword [ebp - 0x6b4]
jmp dword [edx*4 + 0x46f904]
mov eax, dword [ebp - 0x148]
and eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x144]
and ecx, dword [ebp - 0x154]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], ecx
jmp case.default.0x46a639
mov edx, dword [ebp - 0x148]
or edx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x144]
or eax, dword [ebp - 0x154]
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x144], eax
jmp case.default.0x46a639
mov ecx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x148]
mov edx, dword [ebp - 0x144]
call fcn.004d2be0
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], edx
jmp case.default.0x46a639
mov ecx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x148]
mov edx, dword [ebp - 0x144]
call fcn.004d2cb0
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], edx
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
and edx, 0x40
je 0x46a6ec
mov eax, dword [ebp - 0x18]
push eax
call fcn.00464030
add esp, 4
mov ecx, dword [ebp - 0x18]
sub ecx, 0x40
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 0x40
je 0x46a70d
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00464030
add esp, 4
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x148]
mov dword [edx], eax
mov ecx, dword [ebp - 0x144]
mov dword [edx + 4], ecx
mov edx, 4
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00464220
add esp, 4
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
cdq
mov ecx, dword [ebp - 0x18]
add eax, dword [ecx]
mov ecx, dword [ecx + 4]
adc ecx, edx
mov edx, dword [ebp - 0x18]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp case.0x4694f2.12
movzx eax, byte [ebp - 0x11]
push eax
push 0x63
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00469260
add esp, 0xc
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 0xc
jne 0x46a7ad
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
and edx, 0x40
je 0x46a793
mov eax, dword [ebp - 0x18]
push eax
call fcn.00464030
add esp, 4
mov ecx, dword [ebp - 0x18]
sub ecx, 0x40
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc], eax
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
and edx, 4
je 0x46a811
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 4], 0
je 0x46a7d8
mov dword [ebp - 0x6bc], 1
mov dword [ebp - 0x6b8], 0
jmp 0x46a7ec
mov dword [ebp - 0x6bc], 0
mov dword [ebp - 0x6b8], 0
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
add edx, dword [ebp - 0x6bc]
mov eax, dword [ecx + 4]
adc eax, dword [ebp - 0x6b8]
mov dword [ebp - 0x160], edx
mov dword [ebp - 0x15c], eax
jmp 0x46a8a0
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00464260
add esp, 4
mov edx, dword [ebp - 0x18]
fld qword [edx + 8]
call fcn.004d2c00
cdq
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], edx
fild qword [ebp - 0x160]
mov eax, dword [ebp - 0x18]
fcomp qword [eax + 8]
fnstsw ax
test ah, 5
jp 0x46a866
mov ecx, dword [ebp - 0x160]
add ecx, 1
mov edx, dword [ebp - 0x15c]
adc edx, 0
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0x15c], edx
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 4], 0
je 0x46a8a0
fild qword [ebp - 0x160]
mov ecx, dword [ebp - 0x18]
fcomp qword [ecx + 8]
fnstsw ax
test ah, 0x44
jp 0x46a8a0
mov edx, dword [ebp - 0x160]
add edx, 1
mov eax, dword [ebp - 0x15c]
adc eax, 0
mov dword [ebp - 0x160], edx
mov dword [ebp - 0x15c], eax
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
and edx, 0x40
je 0x46a8b8
mov eax, dword [ebp - 0x18]
push eax
call fcn.00464030
add esp, 4
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x160]
mov dword [ecx], edx
mov eax, dword [ebp - 0x15c]
mov dword [ecx + 4], eax
mov ecx, 4
mov edx, dword [ebp - 0x18]
mov word [edx + 0x18], cx
jmp case.0x4694f2.12
movzx eax, byte [ebp - 0x11]
push eax
push 0x63
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00469260
add esp, 0xc
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 4
jne 0x46a938
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + 8], 0
jne 0x46a913
mov dword [ebp - 8], 0x14
jmp 0x46f60c
mov edx, dword [ebp - 0x1c]
cmp dword [edx + 4], 0
je 0x46a92a
push 1
lea eax, [ebp - 0x18]
push eax
call fcn.004690f0
add esp, 8
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xc], edx
jmp 0x46a95c
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x18]
and ecx, 0x40
je 0x46a950
mov edx, dword [ebp - 0x18]
push edx
call fcn.00464030
add esp, 4
mov eax, 4
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 4
je 0x46a979
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00464260
add esp, 4
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 1
je 0x46a98f
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
and edx, 0x10
sar edx, 3
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x18]
or ecx, edx
mov edx, dword [ebp - 0x18]
mov word [edx + 0x18], cx
movzx eax, byte [ebp - 0x11]
push eax
push 0x61
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00469260
add esp, 0xc
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 0xffffffe3
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 1
je 0x46a9e6
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
and edx, 0x10
jne 0x46aa16
movzx eax, byte [ebp - 0x11]
push eax
push 0x61
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00469260
add esp, 0xc
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
or eax, 0x10
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 0xfffffff1
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 1
jne 0x46aa44
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.004642a0
add esp, 4
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 1
jne 0x46aa61
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00464220
add esp, 4
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 1
jne 0x46aa7e
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00464260
add esp, 4
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x18]
sub edx, 0x40
mov dword [ebp - 0x170], edx
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x18]
mov edx, dword [ebp - 0x170]
movzx eax, word [edx + 0x18]
or ecx, eax
mov dword [ebp - 0x16c], ecx
mov ecx, dword [ebp - 0x16c]
and ecx, 1
je 0x46ab59
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
and eax, 0x200
je 0x46ab0c
mov ecx, dword [ebp - 0x18]
movzx eax, word [ecx + 0x18]
and eax, 1
neg eax
sbb eax, eax
add eax, 1
cdq
push edx
push eax
mov edx, dword [ebp - 0x18]
push edx
call fcn.004642f0
add esp, 0xc
mov eax, dword [ebp - 0x170]
movzx eax, word [eax + 0x18]
and eax, 1
neg eax
sbb eax, eax
add eax, 1
cdq
push edx
push eax
mov ecx, dword [ebp - 0x170]
push ecx
call fcn.004642f0
add esp, 0xc
jmp 0x46ab59
push 2
lea edx, [ebp - 0x18]
push edx
call fcn.004690f0
add esp, 8
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 8], 0
je 0x46ab3f
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
and edx, 0x100
je 0x46ab3d
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x46ab54
mov edx, dword [ebp - 0x18]
add edx, 0x40
mov dword [ebp - 0x18], edx
mov eax, 1
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
and eax, 0xff
mov byte [ebp - 0x161], al
movsx ecx, byte [ebp - 0x161]
test ecx, ecx
je 0x46abaa
movzx edx, byte [ebp - 0x11]
push edx
movzx eax, byte [ebp - 0x161]
push eax
mov ecx, dword [ebp - 0x170]
push ecx
call fcn.00469260
add esp, 0xc
movzx edx, byte [ebp - 0x11]
push edx
movzx eax, byte [ebp - 0x161]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00469260
add esp, 0xc
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 0x170]
push edx
call fcn.00464670
add esp, 0xc
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [eax]
mov dword [ebp - 0x6c0], ecx
mov edx, dword [ebp - 0x6c0]
sub edx, 0x43
mov dword [ebp - 0x6c0], edx
cmp dword [ebp - 0x6c0], 4
ja case.default.0x46abf4
mov eax, dword [ebp - 0x6c0]
jmp dword [eax*4 + 0x46f914]
xor ecx, ecx
cmp dword [ebp - 0x168], 0
sete cl
mov dword [ebp - 0x168], ecx
jmp 0x46ac71
xor edx, edx
cmp dword [ebp - 0x168], 0
setne dl
mov dword [ebp - 0x168], edx
jmp 0x46ac71
xor eax, eax
cmp dword [ebp - 0x168], 0
setl al
mov dword [ebp - 0x168], eax
jmp 0x46ac71
xor ecx, ecx
cmp dword [ebp - 0x168], 0
setle cl
mov dword [ebp - 0x168], ecx
jmp 0x46ac71
xor edx, edx
cmp dword [ebp - 0x168], 0
setg dl
mov dword [ebp - 0x168], edx
jmp 0x46ac71
xor eax, eax
cmp dword [ebp - 0x168], 0
setge al
mov dword [ebp - 0x168], eax
push 2
lea ecx, [ebp - 0x18]
push ecx
call fcn.004690f0
add esp, 8
mov edx, dword [ebp - 0x1c]
cmp dword [edx + 8], 0
je 0x46ac9f
cmp dword [ebp - 0x168], 0
je 0x46ac9d
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x46acc3
mov edx, dword [ebp - 0x18]
add edx, 0x40
mov dword [ebp - 0x18], edx
mov eax, 4
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
mov eax, dword [ebp - 0x168]
cdq
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x18]
sub edx, 0x40
mov dword [ebp - 0x17c], edx
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x18]
and ecx, 1
je 0x46acec
mov dword [ebp - 0x174], 2
jmp 0x46ad36
mov edx, dword [ebp - 0x18]
push edx
call fcn.00464220
add esp, 4
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x6c4], eax
mov ecx, dword [ebp - 0x6c4]
mov edx, dword [ebp - 0x6c4]
mov eax, dword [ecx]
or eax, dword [edx + 4]
jne 0x46ad20
mov dword [ebp - 0x6c8], 1
jmp 0x46ad2a
mov dword [ebp - 0x6c8], 0
mov ecx, dword [ebp - 0x6c8]
mov dword [ebp - 0x174], ecx
mov edx, dword [ebp - 0x17c]
movzx eax, word [edx + 0x18]
and eax, 1
je 0x46ad51
mov dword [ebp - 0x178], 2
jmp 0x46ada1
mov ecx, dword [ebp - 0x17c]
push ecx
call fcn.00464220
add esp, 4
mov edx, dword [ebp - 0x17c]
mov dword [ebp - 0x6cc], edx
mov eax, dword [ebp - 0x6cc]
mov ecx, dword [ebp - 0x6cc]
mov edx, dword [eax]
or edx, dword [ecx + 4]
jne 0x46ad8b
mov dword [ebp - 0x6d0], 1
jmp 0x46ad95
mov dword [ebp - 0x6d0], 0
mov eax, dword [ebp - 0x6d0]
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ecx]
cmp edx, 0x3d
jne 0x46adcb
mov eax, dword [ebp - 0x174]
imul eax, eax, 3
mov ecx, dword [ebp - 0x178]
movzx edx, byte [eax + ecx + 0x4ddb24]
mov dword [ebp - 0x174], edx
jmp 0x46ade8
mov eax, dword [ebp - 0x174]
imul eax, eax, 3
mov ecx, dword [ebp - 0x178]
movzx edx, byte [eax + ecx + 0x4ddb70]
mov dword [ebp - 0x174], edx
push 2
lea eax, [ebp - 0x18]
push eax
call fcn.004690f0
add esp, 8
mov ecx, dword [ebp - 0x18]
add ecx, 0x40
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x174], 2
jne 0x46ae16
mov edx, 1
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
jmp 0x46ae37
xor eax, eax
cmp dword [ebp - 0x174], 0
sete al
cdq
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, 4
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
and edx, 8
je 0x46ae99
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x18]
and ecx, 0x40
je 0x46ae60
mov edx, dword [ebp - 0x18]
push edx
call fcn.00464030
add esp, 4
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [eax]
cmp ecx, 0x55
je 0x46ae7a
mov edx, dword [ebp - 0x18]
fldz
fcomp qword [edx + 8]
fnstsw ax
test ah, 0x41
jne 0x46ae88
mov eax, dword [ebp - 0x18]
fld qword [eax + 8]
fchs
mov ecx, dword [ebp - 0x18]
fstp qword [ecx + 8]
mov edx, 8
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
jmp 0x46af2e
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
and edx, 4
je 0x46af0f
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x18]
and ecx, 0x40
je 0x46aebd
mov edx, dword [ebp - 0x18]
push edx
call fcn.00464030
add esp, 4
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [eax]
cmp ecx, 0x55
je 0x46aeea
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x6d4], edx
mov eax, dword [ebp - 0x6d4]
cmp dword [eax + 4], 0
jg 0x46af01
jl 0x46aeea
mov ecx, dword [ebp - 0x6d4]
cmp dword [ecx], 0
jae 0x46af01
mov edx, dword [ebp - 0x18]
mov eax, dword [edx]
neg eax
mov ecx, dword [edx + 4]
adc ecx, 0
neg ecx
mov edx, dword [ebp - 0x18]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, 4
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
jmp 0x46af2e
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 1
je 0x46af1d
jmp 0x46af2e
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.004642a0
add esp, 4
jmp 0x46ae48
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 1
je 0x46af44
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00464220
add esp, 4
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x6d8], edx
mov eax, dword [ebp - 0x6d8]
mov ecx, dword [ebp - 0x6d8]
mov edx, dword [eax]
or edx, dword [ecx + 4]
jne 0x46af78
mov dword [ebp - 0x6dc], 1
jmp 0x46af82
mov dword [ebp - 0x6dc], 0
mov eax, dword [ebp - 0x6dc]
cdq
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, 4
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
and edx, 1
je 0x46afb3
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x18]
push eax
call fcn.00464220
add esp, 4
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
not edx
mov eax, dword [ecx + 4]
not eax
mov ecx, dword [ebp - 0x18]
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov edx, 4
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
and edx, 1
je 0x46b003
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x180], ecx
jmp 0x46b05b
mov edx, dword [ebp - 0x18]
push edx
call fcn.00464150
add esp, 4
fcomp qword [0x4f08d0]
fnstsw ax
test ah, 0x44
jnp 0x46b028
mov dword [ebp - 0x6e0], 1
jmp 0x46b032
mov dword [ebp - 0x6e0], 0
mov eax, dword [ebp - 0x6e0]
mov dword [ebp - 0x180], eax
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ecx]
cmp edx, 0x56
jne 0x46b05b
xor eax, eax
cmp dword [ebp - 0x180], 0
sete al
mov dword [ebp - 0x180], eax
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
and edx, 0x40
je 0x46b073
mov eax, dword [ebp - 0x18]
push eax
call fcn.00464030
add esp, 4
mov ecx, dword [ebp - 0x18]
sub ecx, 0x40
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x180], 0
je 0x46b091
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc], eax
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
and edx, 1
je 0x46b0cc
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x1c]
cmp dword [edx + 4], 0
jge 0x46b0cc
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
neg ecx
push ecx
lea edx, [ebp - 0x18]
push edx
call fcn.004690f0
add esp, 8
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 4], 0
jle 0x46b0e8
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
push edx
lea eax, [ebp - 0x18]
push eax
call fcn.004690f0
add esp, 8
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x188], edx
cmp dword [ebp - 0x188], 0
jge 0x46b110
mov eax, dword [ebp - 0x188]
neg eax
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], 0
jmp 0x46b12b
mov ecx, dword [ebp - 0x184]
add ecx, 1
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x184]
cmp edx, dword [ebp - 0x188]
jge 0x46b15a
mov eax, dword [ebp - 0x184]
add eax, 1
sub eax, dword [ebp - 0x188]
shl eax, 6
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + eax + 0x18]
and edx, 1
jne 0x46b15a
jmp 0x46b11c
mov eax, dword [ebp - 0x184]
cmp eax, dword [ebp - 0x188]
jl 0x46b174
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 4], 0
jle 0x46b190
mov ecx, dword [ebp - 0x188]
push ecx
lea edx, [ebp - 0x18]
push edx
call fcn.004690f0
add esp, 8
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x3c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x18c], ecx
mov edx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 8]
mov dword [edx + 0x50], ecx
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x1ac], eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x194], edx
mov dword [ebp - 0x1a8], 0
xor eax, eax
mov word [ebp - 0x1d8], ax
mov ecx, dword [ebp - 0x18]
add ecx, 0x40
mov dword [ebp - 0x18], ecx
mov edx, 1
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x3c]
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0x1a8], ecx
mov edx, dword [ebp - 0x1a8]
cmp dword [edx], 0
je 0x46b2fb
mov eax, dword [ebp - 0x1a8]
push eax
call fcn.00467210
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46b23f
jmp 0x46f60c
mov dword [ebp - 0x1a4], 0
mov ecx, dword [ebp - 0x1a8]
mov edx, dword [ecx]
mov dword [ebp - 0x1f8], edx
mov eax, dword [ebp - 0x1a8]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
je 0x46b271
mov dword [ebp - 0x1b0], 0
jmp 0x46b2ea
mov edx, dword [ebp - 0x1a8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x68]
cmp ecx, dword [eax + 0x60]
jne 0x46b2a2
mov edx, dword [ebp - 0x1a8]
mov eax, dword [edx + 0x6c]
mov dword [ebp - 0x1b0], eax
mov ecx, dword [ebp - 0x1a8]
mov edx, dword [ecx + 0x78]
mov dword [ebp - 0x1a4], edx
jmp 0x46b2ea
mov eax, dword [ebp - 0x1a8]
movzx ecx, byte [eax + 0x21]
test ecx, ecx
je 0x46b2d4
lea edx, [ebp - 0x208]
push edx
mov eax, dword [ebp - 0x1f8]
push eax
call fcn.0045de40
add esp, 8
mov ecx, dword [ebp - 0x208]
mov dword [ebp - 0x1b0], ecx
jmp 0x46b2ea
lea edx, [ebp - 0x1b0]
push edx
mov eax, dword [ebp - 0x1f8]
push eax
call fcn.0045dec0
add esp, 8
mov ecx, dword [ebp - 0x1a8]
mov edx, dword [ecx + 0x50]
mov dword [ebp - 0x1fc], edx
jmp 0x46b377
mov eax, dword [ebp - 0x1a8]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x46b34f
mov edx, dword [ebp - 0x1a8]
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x1b0], eax
mov ecx, dword [ebp - 0x1a8]
mov edx, dword [ecx + 0x38]
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x1a8]
mov dword [eax + 0x68], 0
mov ecx, dword [ebp - 0x1a8]
mov edx, dword [ecx + 0x50]
mov dword [ebp - 0x1fc], edx
mov dword [ebp - 0x1f8], 0
jmp 0x46b377
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1fc], 0
cmp dword [ebp - 0x1b0], 0
jne 0x46b385
jmp case.0x4694f2.12
cmp dword [ebp - 0x1a8], 0
je 0x46b3c2
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x68]
cmp edx, dword [ecx + 0x60]
jne 0x46b3c2
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [eax + 0x70]
mov dword [ebp - 0x1a0], ecx
mov edx, dword [ebp - 0x1a8]
mov eax, dword [edx + 0x74]
mov dword [ebp - 0x198], eax
jmp 0x46b708
mov ecx, dword [ebp - 0x1a8]
mov edx, dword [ecx + 0x70]
mov dword [ebp - 0x1a0], edx
cmp dword [ebp - 0x1a0], 0
jne 0x46b405
push 1
mov eax, dword [ebp - 0x1fc]
shl eax, 1
shl eax, 2
push eax
call fcn.00452ba0
add esp, 8
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1a0]
mov dword [ecx + 0x70], edx
cmp dword [ebp - 0x1a0], 0
jne 0x46b413
jmp 0x46f5e3
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [ebp - 0x1a0]
lea edx, [ecx + eax*4]
mov dword [ebp - 0x198], edx
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x198]
mov dword [eax + 0x74], ecx
mov edx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x1b0]
mov dword [edx + 0x6c], eax
mov ecx, dword [ebp - 0x1a8]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x60]
mov dword [ecx + 0x68], eax
cmp dword [ebp - 0x1a4], 0
je 0x46b46f
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1f4], ecx
jmp 0x46b4ef
mov edx, dword [ebp - 0x1a8]
movzx eax, byte [edx + 0x21]
test eax, eax
je 0x46b49b
lea ecx, [ebp - 0x21c]
push ecx
mov edx, dword [ebp - 0x1f8]
push edx
call fcn.0045e2b0
add esp, 8
mov dword [ebp - 0x1f4], eax
jmp 0x46b4b7
lea eax, [ebp - 0x21c]
push eax
mov ecx, dword [ebp - 0x1f8]
push ecx
call fcn.0045e2e0
add esp, 8
mov dword [ebp - 0x1f4], eax
mov edx, dword [ebp - 0x21c]
cmp edx, dword [ebp - 0x1b0]
jb 0x46b4e2
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1f4]
mov dword [ecx + 0x78], edx
jmp 0x46b4ef
mov eax, dword [ebp - 0x1a8]
mov dword [eax + 0x78], 0
mov ecx, dword [ebp - 0x1f4]
movzx edx, byte [ecx]
mov dword [ebp - 0x218], edx
cmp dword [ebp - 0x218], 0x7f
ja 0x46b513
mov dword [ebp - 0x6e4], 1
jmp 0x46b52f
lea eax, [ebp - 0x218]
push eax
mov ecx, dword [ebp - 0x1f4]
push ecx
call fcn.00453d80
add esp, 8
mov dword [ebp - 0x6e4], eax
mov edx, dword [ebp - 0x6e4]
mov dword [ebp - 0x214], edx
cmp dword [ebp - 0x1a4], 0
jne 0x46b596
mov eax, dword [ebp - 0x21c]
cmp eax, dword [ebp - 0x218]
jae 0x46b596
lea ecx, [ebp - 0x1f0]
push ecx
mov edx, dword [ebp - 0x1a8]
movzx eax, byte [edx + 0x21]
push eax
mov ecx, dword [ebp - 0x218]
push ecx
push 0
mov edx, dword [ebp - 0x1f8]
push edx
call fcn.00464970
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46b58a
jmp 0x46b851
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x1f4], eax
mov ecx, dword [ebp - 0x1f4]
add ecx, dword [ebp - 0x218]
mov dword [ebp - 0x210], ecx
mov edx, dword [ebp - 0x1f4]
add edx, dword [ebp - 0x214]
mov dword [ebp - 0x20c], edx
mov dword [ebp - 0x190], 0
jmp 0x46b5d5
mov eax, dword [ebp - 0x190]
add eax, 1
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x190]
cmp ecx, dword [ebp - 0x1fc]
jae 0x46b6b9
mov edx, dword [ebp - 0x20c]
cmp edx, dword [ebp - 0x210]
jae 0x46b6a1
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x198]
mov edx, dword [ebp - 0x218]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x20c]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x1a0]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebp - 0x190]
mov edx, dword [ebp - 0x1a0]
cmp dword [edx + ecx*4], 0x7f
ja 0x46b644
mov dword [ebp - 0x6e8], 1
jmp 0x46b669
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x1a0]
lea edx, [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x20c]
push eax
call fcn.00453d80
add esp, 8
mov dword [ebp - 0x6e8], eax
mov ecx, dword [ebp - 0x20c]
add ecx, dword [ebp - 0x6e8]
mov dword [ebp - 0x20c], ecx
mov edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00467430
add esp, 4
add eax, dword [ebp - 0x218]
mov dword [ebp - 0x218], eax
jmp 0x46b6b4
mov edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x198]
mov dword [eax + edx*4], 0
jmp 0x46b5c6
movzx ecx, word [ebp - 0x1d8]
and ecx, 0x40
je 0x46b6d4
lea edx, [ebp - 0x1f0]
push edx
call fcn.00464030
add esp, 4
mov eax, 1
mov word [ebp - 0x1d8], ax
mov ecx, dword [ebp - 0x20c]
cmp ecx, dword [ebp - 0x210]
ja 0x46b6fc
mov edx, dword [ebp - 0x218]
cmp edx, dword [ebp - 0x1b0]
jbe 0x46b708
mov dword [ebp - 8], 0xb
jmp 0x46b851
mov eax, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x198]
cmp dword [ecx + eax*4], 0
je 0x46b7e2
cmp dword [ebp - 0x1a4], 0
je 0x46b744
mov edx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x1a4]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1f4], ecx
jmp 0x46b7b4
mov edx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00467430
add esp, 4
mov dword [ebp - 0x19c], eax
lea edx, [ebp - 0x1f0]
push edx
mov eax, dword [ebp - 0x1a8]
movzx ecx, byte [eax + 0x21]
push ecx
mov edx, dword [ebp - 0x19c]
push edx
mov eax, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x198]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x1f8]
push eax
call fcn.00464970
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46b7a8
jmp 0x46b851
mov ecx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1f4], ecx
mov edx, dword [ebp - 0x18]
push edx
mov eax, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x1f4]
push eax
call fcn.00467540
add esp, 0xc
mov ecx, dword [ebp - 0x18]
mov dl, byte [ebp - 0x11]
mov byte [ecx + 0x1b], dl
jmp 0x46b811
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x10], 0xfffffff8
jne 0x46b805
push 0x80
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.00464360
add esp, 0xc
jmp 0x46b811
mov ecx, 1
mov edx, dword [ebp - 0x18]
mov word [edx + 0x18], cx
movzx eax, word [ebp - 0x1d8]
and eax, 0x40
je 0x46b842
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
and edx, 0xfffffeff
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
or edx, 0x60
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00463c90
add esp, 4
mov dword [ebp - 8], eax
jmp case.0x4694f2.12
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x238], 0
mov edx, dword [ebp - 0x1c]
xor eax, eax
cmp dword [edx + 4], 0
setl al
mov dword [ebp - 0x27c], eax
xor ecx, ecx
cmp dword [ebp - 0x27c], 0
sete cl
lea ecx, [ecx + ecx - 1]
mov edx, dword [ebp - 0x1c]
imul ecx, dword [edx + 4]
mov dword [ebp - 0x280], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x220], ecx
mov edx, dword [ebp - 0x1c]
movzx eax, byte [edx]
xor ecx, ecx
cmp eax, 0x36
sete cl
mov dword [ebp - 0x24c], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x23c], eax
mov ecx, 1
sub ecx, dword [ebp - 0x280]
shl ecx, 6
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x278], ecx
mov dword [ebp - 0x238], 0
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x239]
mov dword [ebp - 0x248], eax
mov ecx, dword [ebp - 0x278]
mov dword [ebp - 0x240], ecx
jmp 0x46b931
mov edx, dword [ebp - 0x240]
add edx, 0x40
mov dword [ebp - 0x240], edx
mov eax, dword [ebp - 0x240]
cmp eax, dword [ebp - 0x18]
ja 0x46b9ea
cmp dword [ebp - 0x23c], 0
je 0x46b977
movzx ecx, byte [ebp - 0x11]
push ecx
mov edx, dword [ebp - 0x240]
sub edx, dword [ebp - 0x278]
sar edx, 6
mov eax, dword [ebp - 0x23c]
movzx ecx, byte [eax + edx]
push ecx
mov edx, dword [ebp - 0x240]
push edx
call fcn.00469260
add esp, 0xc
mov eax, dword [ebp - 0x240]
movzx ecx, word [eax + 0x18]
and ecx, 1
je 0x46b990
mov dword [ebp - 0x238], 1
mov edx, dword [ebp - 0x248]
push edx
mov eax, dword [ebp - 0x240]
push eax
call fcn.004672c0
add esp, 8
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x224]
push ecx
call fcn.00467430
add esp, 4
add eax, dword [ebp - 0x234]
mov dword [ebp - 0x234], eax
mov edx, dword [ebp - 0x224]
xor eax, eax
push eax
push edx
call fcn.00453e40
add esp, 8
add eax, dword [ebp - 0x230]
mov dword [ebp - 0x230], eax
jmp 0x46b922
cmp dword [ebp - 0x24c], 0
je 0x46ba66
xor ecx, ecx
sub ecx, dword [ebp - 0x280]
shl ecx, 6
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp - 0x228]
push edx
call fcn.00464220
add esp, 4
push 0
mov eax, dword [ebp - 0x228]
push eax
call fcn.004672c0
add esp, 8
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x224]
push ecx
call fcn.00467430
add esp, 4
add eax, dword [ebp - 0x234]
mov dword [ebp - 0x234], eax
mov edx, dword [ebp - 0x224]
xor eax, eax
push eax
push edx
call fcn.00453e40
add esp, 8
add eax, dword [ebp - 0x230]
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x230]
cdq
push edx
push eax
call fcn.00453e40
add esp, 8
mov dword [ebp - 0x22c], eax
mov ecx, dword [ebp - 0x230]
add ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x230], ecx
mov eax, dword [ebp - 0x230]
cdq
push edx
push eax
call fcn.00453e40
add esp, 8
cmp dword [ebp - 0x22c], eax
jge 0x46bab7
mov edx, dword [ebp - 0x230]
add edx, 1
mov dword [ebp - 0x230], edx
mov eax, dword [ebp - 0x230]
add eax, dword [ebp - 0x234]
mov dword [ebp - 0x274], eax
cmp dword [ebp - 0x274], 0x20
jbe 0x46baf9
push 1
mov ecx, dword [ebp - 0x274]
push ecx
call fcn.00452ba0
add esp, 8
mov dword [ebp - 0x250], eax
cmp dword [ebp - 0x250], 0
jne 0x46baf7
jmp 0x46f5e3
jmp 0x46bb05
lea edx, [ebp - 0x270]
mov dword [ebp - 0x250], edx
mov eax, dword [ebp - 0x250]
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x230]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x244]
push ecx
call fcn.00453aa0
add esp, 0xc
add eax, dword [ebp - 0x244]
mov dword [ebp - 0x244], eax
mov edx, dword [ebp - 0x278]
mov dword [ebp - 0x240], edx
jmp 0x46bb52
mov eax, dword [ebp - 0x240]
add eax, 0x40
mov dword [ebp - 0x240], eax
mov ecx, dword [ebp - 0x240]
cmp ecx, dword [ebp - 0x18]
ja 0x46bba0
mov edx, dword [ebp - 0x248]
push edx
mov eax, dword [ebp - 0x240]
push eax
call fcn.004672c0
add esp, 8
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x224]
xor edx, edx
push edx
push ecx
mov eax, dword [ebp - 0x244]
push eax
call fcn.00453aa0
add esp, 0xc
add eax, dword [ebp - 0x244]
mov dword [ebp - 0x244], eax
jmp 0x46bb43
cmp dword [ebp - 0x24c], 0
je 0x46bbd9
push 0
mov ecx, dword [ebp - 0x228]
push ecx
call fcn.004672c0
add esp, 8
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x244]
push eax
call fcn.00453aa0
add esp, 0xc
add eax, dword [ebp - 0x244]
mov dword [ebp - 0x244], eax
mov ecx, dword [ebp - 0x278]
mov dword [ebp - 0x240], ecx
jmp 0x46bbf6
mov edx, dword [ebp - 0x240]
add edx, 0x40
mov dword [ebp - 0x240], edx
mov eax, dword [ebp - 0x240]
cmp eax, dword [ebp - 0x18]
ja 0x46bc2c
mov ecx, dword [ebp - 0x248]
push ecx
mov edx, dword [ebp - 0x240]
push edx
mov eax, dword [ebp - 0x244]
push eax
call fcn.00467460
add esp, 0xc
add eax, dword [ebp - 0x244]
mov dword [ebp - 0x244], eax
jmp 0x46bbe7
cmp dword [ebp - 0x24c], 0
je 0x46bc59
push 0
mov ecx, dword [ebp - 0x228]
push ecx
mov edx, dword [ebp - 0x244]
push edx
call fcn.00467460
add esp, 0xc
add eax, dword [ebp - 0x244]
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x27c], 0
jne 0x46bc7b
mov eax, dword [ebp - 0x280]
add eax, dword [ebp - 0x24c]
push eax
lea ecx, [ebp - 0x18]
push ecx
call fcn.004690f0
add esp, 8
mov edx, dword [ebp - 0x18]
add edx, 0x40
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x274]
mov dword [eax + 0x14], ecx
cmp dword [ebp - 0x274], 0x20
ja 0x46bcd0
mov edx, dword [ebp - 0x18]
add edx, 0x20
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0x274]
push ecx
lea edx, [ebp - 0x270]
push edx
mov eax, dword [ebp - 0x18]
add eax, 0x20
push eax
call fcn.004bd140
add esp, 0xc
mov ecx, 0x210
mov edx, dword [ebp - 0x18]
mov word [edx + 0x18], cx
jmp 0x46bcf2
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x250]
mov dword [eax + 0x10], ecx
mov edx, 0x50
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x1c], 0
mov edx, dword [ebp - 0x18]
mov byte [edx + 0x1b], 1
cmp dword [ebp - 0x220], 0
je 0x46bd17
cmp dword [ebp - 0x238], 0
je 0x46bd17
mov eax, dword [ebp - 0x220]
sub eax, 1
mov dword [ebp - 0xc], eax
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x288], edx
cmp dword [ebp - 0x288], 0
jl 0x46bd90
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x288]
cmp ecx, dword [eax]
jge 0x46bd90
mov edx, dword [ebp - 0x288]
imul edx, edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx + 4]
mov dword [ebp - 0x284], edx
cmp dword [ebp - 0x284], 0
je 0x46bd90
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x14]
test ecx, ecx
jne 0x46bd90
mov edx, dword [ebp - 0x284]
push edx
call fcn.00463830
add esp, 4
test eax, eax
jne 0x46bd90
mov eax, dword [ebp - 0x284]
push eax
call fcn.0045d9d0
add esp, 4
mov dword [ebp - 8], eax
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x1c]
mov dl, byte [ecx + 4]
mov byte [ebp - 0x289], dl
mov eax, dword [ebp - 0x1c]
mov cl, byte [eax + 8]
mov byte [ebp - 0x28a], cl
mov edx, dword [ebp - 4]
cmp dword [edx + 0x54], 1
jle 0x46be1e
movzx eax, byte [ebp - 0x289]
test eax, eax
je 0x46be1e
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x14]
test edx, edx
jne 0x46be1e
movzx eax, byte [ebp - 0x28a]
test eax, eax
je 0x46bde3
mov dword [ebp - 0x6ec], str.rollback
jmp 0x46bded
mov dword [ebp - 0x6ec], str.commit
push 0
push str._transaction___SQL_statements_in_progress
mov ecx, dword [ebp - 0x6ec]
push ecx
push str.cannot
mov edx, dword [ebp + 8]
add edx, 0x230
push edx
call fcn.00452e10
add esp, 0x14
mov dword [ebp - 8], 1
jmp 0x46bf36
movzx eax, byte [ebp - 0x289]
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x14]
cmp eax, edx
je 0x46bed0
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 8], 0
je 0x46be52
mov ecx, dword [ebp - 4]
push ecx
call fcn.00496e90
add esp, 4
mov edx, dword [ebp - 4]
mov byte [edx + 0x14], 1
jmp 0x46beac
mov eax, dword [ebp - 4]
mov cl, byte [ebp - 0x289]
mov byte [eax + 0x14], cl
mov edx, dword [ebp + 8]
push edx
call fcn.00466af0
add esp, 4
cmp eax, 5
jne 0x46beac
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
mov dword [eax + 0x2c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xc]
mov dword [edx + 0x7c], eax
movzx ecx, byte [ebp - 0x289]
mov edx, 1
sub edx, ecx
mov eax, dword [ebp - 4]
mov byte [eax + 0x14], dl
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x80], 5
mov eax, 5
jmp 0x46f69b
mov edx, dword [ebp + 8]
cmp dword [edx + 0x80], 0
jne 0x46bec4
mov eax, 0x65
jmp 0x46f69b
mov eax, 1
jmp 0x46f69b
movzx eax, byte [ebp - 0x289]
test eax, eax
jne 0x46bee7
mov dword [ebp - 0x6f0], str.cannot_start_a_transaction_within_a_transaction
jmp 0x46bf14
movzx ecx, byte [ebp - 0x28a]
test ecx, ecx
je 0x46befe
mov dword [ebp - 0x6f4], str.cannot_rollback___no_transaction_is_active
jmp 0x46bf08
mov dword [ebp - 0x6f4], str.cannot_commit___no_transaction_is_active
mov edx, dword [ebp - 0x6f4]
mov dword [ebp - 0x6f0], edx
push 0
mov eax, dword [ebp - 0x6f0]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x230
push ecx
call fcn.00452e10
add esp, 0xc
mov dword [ebp - 8], 1
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x294], eax
mov ecx, dword [ebp - 0x294]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 4]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0x290], ecx
cmp dword [ebp - 0x290], 0
je 0x46bfc2
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x290]
push ecx
call fcn.0045cea0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jne 0x46bfb1
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xc]
mov dword [edx + 0x7c], eax
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x80], 5
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x18]
mov dword [edx + 0x2c], eax
mov eax, 5
jmp 0x46f69b
cmp dword [ebp - 8], 0
je 0x46bfc2
cmp dword [ebp - 8], 8
je 0x46bfc2
jmp 0x46f60c
jmp case.0x4694f2.12
lea ecx, [ebp - 0x298]
push ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
add eax, 1
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
imul edx, edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00462610
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x18]
add eax, 0x40
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x298]
cdq
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, 4
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
imul edx, edx, 0x18
mov eax, dword [ebp - 4]
add edx, dword [eax + 4]
mov dword [ebp - 0x29c], edx
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00464220
add esp, 4
mov edx, dword [ebp - 0x18]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 8]
add edx, 1
push edx
mov eax, dword [ebp - 0x29c]
mov ecx, dword [eax + 4]
push ecx
call fcn.004626b0
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x1c]
cmp dword [edx + 8], 0
jne 0x46c090
mov eax, dword [ebp - 0x29c]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 0x18]
mov eax, dword [edx]
mov dword [ecx], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
or edx, 0x10
mov eax, dword [ebp - 4]
mov dword [eax + 8], edx
jmp 0x46c0aa
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + 8], 1
jne 0x46c0aa
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx + 0x14]
mov ecx, dword [ebp - 0x18]
mov dl, byte [ecx]
mov byte [eax + 0x78], dl
mov eax, dword [ebp - 0x18]
sub eax, 0x40
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + 4], 1
jne 0x46c0c8
mov edx, dword [ebp - 4]
push edx
call fcn.00467da0
add esp, 4
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 4]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0x2a0], ecx
cmp dword [ebp - 0x2a0], 0
je 0x46c10c
lea edx, [ebp - 0x2a4]
push edx
push 1
mov eax, dword [ebp - 0x2a0]
push eax
call fcn.00462610
add esp, 0xc
mov dword [ebp - 8], eax
jmp 0x46c11d
mov dword [ebp - 8], 0
mov dword [ebp - 0x2a4], 0
cmp dword [ebp - 8], 0
jne 0x46c18c
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2a4]
cmp edx, dword [ecx + 8]
je 0x46c18c
push 0
push 0x4fdb94
mov eax, dword [ebp + 8]
add eax, 0x230
push eax
call fcn.00452e10
add esp, 0xc
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
imul edx, edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx + 0x14]
mov eax, dword [edx]
cmp eax, dword [ebp - 0x2a4]
je 0x46c179
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00476b60
add esp, 8
mov ecx, dword [ebp - 4]
push ecx
call fcn.00467da0
add esp, 4
mov dword [ebp - 8], 0x11
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x2a8], eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x2b0], edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.00464220
add esp, 4
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
mov dword [ebp - 0x2c0], edx
mov eax, dword [ebp - 0x18]
sub eax, 0x40
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x2c0]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 4]
add ecx, dword [edx + 4]
mov dword [ebp - 0x2bc], ecx
mov eax, dword [ebp - 0x2bc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2ac], ecx
mov edx, dword [ebp - 0x1c]
movzx eax, byte [edx]
cmp eax, 9
jne 0x46c234
mov dword [ebp - 0x2b8], 1
mov ecx, dword [ebp - 0x2bc]
mov edx, dword [ecx + 0x14]
movzx eax, byte [edx + 0x78]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x239]
cmp eax, edx
jge 0x46c232
mov eax, dword [ebp - 0x2bc]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp + 8]
mov al, byte [ecx + 0x78]
mov byte [edx + 0x239], al
jmp 0x46c23e
mov dword [ebp - 0x2b8], 0
cmp dword [ebp - 0x2b0], 0
jg 0x46c267
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00464220
add esp, 4
mov edx, dword [ebp - 0x18]
mov eax, dword [edx]
mov dword [ebp - 0x2b0], eax
mov ecx, dword [ebp - 0x18]
sub ecx, 0x40
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x2c0]
push edx
mov eax, dword [ebp - 0x2a8]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00469140
add esp, 0xc
mov dword [ebp - 0x2b4], eax
cmp dword [ebp - 0x2b4], 0
jne 0x46c295
jmp 0x46f5e3
mov edx, dword [ebp - 0x2b4]
mov byte [edx + 0x1c], 1
cmp dword [ebp - 0x2ac], 0
jne 0x46c2ad
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x2b4]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0xc]
push edx
push fcn.00467840
mov eax, dword [ebp - 0x2b8]
push eax
mov ecx, dword [ebp - 0x2b0]
push ecx
mov edx, dword [ebp - 0x2ac]
push edx
call fcn.0045db50
add esp, 0x18
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x10], 0xfffffffa
jne 0x46c328
mov ecx, dword [ebp - 0x2b4]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp - 0x2b4]
mov edx, dword [ecx + 0x4c]
add edx, 1
mov eax, dword [ebp - 0x2b4]
mov dword [eax + 0x48], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 0x2b4]
mov eax, dword [edx + 0x4c]
mov cl, byte [ecx + 0x79]
mov byte [eax], cl
jmp 0x46c347
mov edx, dword [ebp - 0x2b4]
mov dword [edx + 0x4c], 0
mov eax, dword [ebp - 0x2b4]
add eax, 0x22
mov ecx, dword [ebp - 0x2b4]
mov dword [ecx + 0x48], eax
mov edx, dword [ebp - 8]
mov dword [ebp - 0x6f8], edx
cmp dword [ebp - 0x6f8], 0
je 0x46c3af
cmp dword [ebp - 0x6f8], 5
je 0x46c374
cmp dword [ebp - 0x6f8], 0x10
je 0x46c468
jmp 0x46c4a0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword [eax + 0x7c], ecx
mov edx, dword [ebp + 8]
mov dword [edx + 0x80], 5
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp dword [eax + 8], 0
setle cl
add ecx, 1
shl ecx, 6
add ecx, dword [ebp - 0x18]
mov edx, dword [ebp + 8]
mov dword [edx + 0x2c], ecx
mov eax, 5
jmp 0x46f69b
mov eax, dword [ebp - 0x2b4]
mov ecx, dword [eax]
push ecx
call fcn.00462730
add esp, 4
mov dword [ebp - 0x2c4], eax
mov edx, dword [ebp - 0x2c4]
and edx, 0xf0
jne 0x46c3f0
mov eax, dword [ebp - 0x2c4]
and eax, 7
cmp eax, 5
je 0x46c3fc
mov ecx, dword [ebp - 0x2c4]
and ecx, 7
cmp ecx, 2
je 0x46c3fc
mov dword [ebp - 8], 0xb
jmp 0x46f60c
mov edx, dword [ebp - 0x2c4]
and edx, 1
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x2b4]
mov byte [eax + 0x20], dl
mov ecx, dword [ebp - 0x2c4]
and ecx, 2
neg ecx
sbb ecx, ecx
neg ecx
mov edx, dword [ebp - 0x2b4]
mov byte [edx + 0x21], cl
mov eax, dword [ebp - 0x2b4]
movzx ecx, byte [eax + 0x20]
test ecx, ecx
je 0x46c443
mov edx, dword [ebp - 0x1c]
cmp dword [edx + 0x10], 0xfffffffa
je 0x46c45a
mov eax, dword [ebp - 0x2b4]
movzx ecx, byte [eax + 0x21]
test ecx, ecx
je 0x46c466
mov edx, dword [ebp - 0x1c]
cmp dword [edx + 0x10], 0xfffffffa
je 0x46c466
mov dword [ebp - 8], 0xb
jmp 0x46f60c
jmp 0x46c4a5
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp dword [eax + 0x10], 0xfffffffa
setne cl
mov edx, dword [ebp - 0x2b4]
mov byte [edx + 0x20], cl
mov eax, dword [ebp - 0x2b4]
movzx ecx, byte [eax + 0x20]
neg ecx
sbb ecx, ecx
add ecx, 1
mov edx, dword [ebp - 0x2b4]
mov byte [edx + 0x21], cl
mov dword [ebp - 8], 0
jmp 0x46c4a5
jmp 0x46f60c
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2c8], ecx
push 0xffffffffffffffff
mov edx, dword [ebp - 0x2c8]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00469140
add esp, 0xc
mov dword [ebp - 0x2cc], eax
cmp dword [ebp - 0x2cc], 0
jne 0x46c4df
jmp 0x46f5e3
mov ecx, dword [ebp - 0x2cc]
mov byte [ecx + 0x1c], 1
mov edx, dword [ebp - 0x2cc]
add edx, 0x30
push edx
push 0x1f4
push 1
push 0
mov eax, dword [ebp - 4]
push eax
call fcn.004978a0
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x46c528
push 1
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [ecx + 0x30]
push edx
call fcn.0045cea0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x46c61d
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xc], 0
je 0x46c5dd
push 2
lea ecx, [ebp - 0x2d0]
push ecx
mov edx, dword [ebp - 0x2cc]
mov eax, dword [edx + 0x30]
push eax
call fcn.00461e90
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x46c5d1
mov ecx, dword [ebp - 0x2cc]
push ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
push eax
push fcn.00467840
push 1
mov ecx, dword [ebp - 0x2d0]
push ecx
mov edx, dword [ebp - 0x2cc]
mov eax, dword [edx + 0x30]
push eax
call fcn.0045db50
add esp, 0x18
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 0x2cc]
mov eax, dword [edx + 0x4c]
mov cl, byte [ecx + 0x79]
mov byte [eax], cl
mov edx, dword [ebp - 0x2cc]
mov eax, dword [edx + 0x4c]
add eax, 1
mov ecx, dword [ebp - 0x2cc]
mov dword [ecx + 0x48], eax
mov edx, dword [ebp - 0x2cc]
mov byte [edx + 0x20], 0
jmp 0x46c61d
mov eax, dword [ebp - 0x2cc]
push eax
push 0
push 0
push 1
push 1
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [ecx + 0x30]
push edx
call fcn.0045db50
add esp, 0x18
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x2cc]
mov byte [eax + 0x20], 1
mov ecx, dword [ebp - 0x2cc]
add ecx, 0x22
mov edx, dword [ebp - 0x2cc]
mov dword [edx + 0x48], ecx
mov eax, dword [ebp - 0x2cc]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 8]
mov dword [eax + 0x50], edx
mov eax, dword [ebp - 0x2cc]
movzx ecx, byte [eax + 0x20]
neg ecx
sbb ecx, ecx
add ecx, 1
mov edx, dword [ebp - 0x2cc]
mov byte [edx + 0x21], cl
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2d4], ecx
push 0xffffffffffffffff
mov edx, dword [ebp - 0x2d4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00469140
add esp, 0xc
mov dword [ebp - 0x2d8], eax
cmp dword [ebp - 0x2d8], 0
jne 0x46c680
jmp 0x46f5e3
mov ecx, dword [ebp - 0x2d8]
mov byte [ecx + 0x1c], 1
mov edx, dword [ebp - 0x2d8]
mov byte [edx + 0x1e], 1
mov eax, dword [ebp - 0x2d8]
add eax, 0x22
mov ecx, dword [ebp - 0x2d8]
mov dword [ecx + 0x48], eax
mov edx, dword [ebp - 0x2d8]
mov byte [edx + 0x20], 1
mov eax, dword [ebp - 0x2d8]
mov byte [eax + 0x21], 0
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x2dc], edx
cmp dword [ebp - 0x2dc], 0
jl 0x46c711
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2dc]
cmp ecx, dword [eax + 0x38]
jge 0x46c711
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x3c]
mov ecx, dword [ebp - 0x2dc]
mov edx, dword [eax + ecx*4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004661a0
add esp, 8
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x3c]
mov eax, dword [ebp - 0x2dc]
mov dword [edx + eax*4], 0
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x2e0], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ebp - 0x2e0]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x2e4], eax
mov ecx, dword [ebp - 0x2e4]
cmp dword [ecx], 0
je 0x46c9a8
mov edx, dword [ebp - 0x1c]
movzx eax, byte [edx]
mov dword [ebp - 0x2ec], eax
mov ecx, dword [ebp - 0x2e4]
mov byte [ecx + 0x1c], 0
cmp dword [ebp - 0x2ec], 7
je 0x46c77a
cmp dword [ebp - 0x2ec], 0x54
je 0x46c77a
mov dword [ebp - 0x6fc], 0
jmp 0x46c784
mov dword [ebp - 0x6fc], 1
mov edx, dword [ebp - 0x2e4]
mov eax, dword [edx + 0x48]
mov cl, byte [ebp - 0x6fc]
mov byte [eax], cl
mov edx, dword [ebp - 0x2e4]
movzx eax, byte [edx + 0x20]
test eax, eax
je 0x46c86e
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00464220
add esp, 4
mov edx, dword [ebp - 0x18]
mov eax, dword [edx]
mov dword [ebp - 0x2f8], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x2f4], ecx
mov edx, dword [ebp - 0x1c]
cmp dword [edx + 8], 0
jne 0x46c80b
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [eax]
cmp ecx, 0x7f
jne 0x46c80b
mov edx, dword [ebp - 0x2e4]
mov eax, dword [ebp - 0x2f8]
mov dword [edx + 0x28], eax
mov ecx, dword [ebp - 0x2f4]
mov dword [edx + 0x2c], ecx
mov edx, dword [ebp - 0x2e4]
mov byte [edx + 0x1f], 1
mov eax, dword [ebp - 0x18]
sub eax, 0x40
mov dword [ebp - 0x18], eax
jmp case.0x4694f2.12
lea ecx, [ebp - 0x2e8]
push ecx
push 0
mov edx, dword [ebp - 0x2f4]
push edx
mov eax, dword [ebp - 0x2f8]
push eax
push 0
mov ecx, dword [ebp - 0x2e4]
mov edx, dword [ecx]
push edx
call fcn.0045e740
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46c843
jmp 0x46f60c
mov eax, dword [ebp - 0x2e4]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 0xc], ecx
xor edx, edx
cmp dword [ebp - 0x2e8], 0
sete dl
mov eax, dword [ebp - 0x2e4]
mov byte [eax + 0x19], dl
jmp 0x46c8b0
lea ecx, [ebp - 0x2e8]
push ecx
push 0
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x14]
cdq
push edx
push eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x2e4]
mov eax, dword [edx]
push eax
call fcn.0045e740
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46c8a6
jmp 0x46f60c
mov ecx, dword [ebp - 0x2e4]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0x2e4]
mov byte [edx + 0x1f], 0
mov eax, dword [ebp - 0x2e4]
mov dword [eax + 0x68], 0
mov ecx, dword [ebp - 0x2e4]
mov edx, dword [ecx + 0x48]
mov byte [edx], 0
cmp dword [ebp - 0x2ec], 0x7f
je 0x46c8e5
cmp dword [ebp - 0x2ec], 7
jne 0x46c92c
cmp dword [ebp - 0x2e8], 0
jge 0x46c920
lea eax, [ebp - 0x2e8]
push eax
mov ecx, dword [ebp - 0x2e4]
mov edx, dword [ecx]
push edx
call fcn.0045eaf0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46c914
jmp 0x46f60c
mov eax, dword [ebp - 0x2e4]
mov byte [eax + 0x19], 0
jmp 0x46c92a
mov dword [ebp - 0x2e8], 0
jmp 0x46c97e
cmp dword [ebp - 0x2e8], 0
jl 0x46c967
lea ecx, [ebp - 0x2e8]
push ecx
mov edx, dword [ebp - 0x2e4]
mov eax, dword [edx]
push eax
call fcn.0045ecc0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46c95b
jmp 0x46f60c
mov ecx, dword [ebp - 0x2e4]
mov byte [ecx + 0x19], 0
jmp 0x46c97e
mov edx, dword [ebp - 0x2e4]
mov eax, dword [edx]
push eax
call fcn.0045ead0
add esp, 4
mov dword [ebp - 0x2e8], eax
cmp dword [ebp - 0x2e8], 0
je 0x46c9a8
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + 8], 0
jle 0x46c99e
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc], eax
jmp 0x46c9a8
mov ecx, dword [ebp - 0x2e4]
mov byte [ecx + 0x1c], 1
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 0x40
je 0x46c9c0
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00464030
add esp, 4
mov edx, dword [ebp - 0x18]
sub edx, 0x40
mov dword [ebp - 0x18], edx
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x300], ecx
mov dword [ebp - 0x2fc], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x3c]
mov ecx, dword [ebp - 0x300]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x304], edx
mov eax, dword [ebp - 0x304]
cmp dword [eax], 0
je 0x46caa9
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
and edx, 0x12
jne 0x46ca2e
movzx eax, byte [ebp - 0x11]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00463e70
add esp, 8
test eax, eax
je 0x46ca2e
jmp 0x46f5e3
lea edx, [ebp - 0x308]
push edx
push 0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x14]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x304]
mov ecx, dword [eax]
push ecx
call fcn.0045e740
add esp, 0x18
mov dword [ebp - 0x30c], eax
cmp dword [ebp - 0x30c], 0
jne 0x46ca7c
cmp dword [ebp - 0x308], 0
jne 0x46ca7c
mov dword [ebp - 0x700], 1
jmp 0x46ca86
mov dword [ebp - 0x700], 0
mov edx, dword [ebp - 0x700]
mov dword [ebp - 0x2fc], edx
mov eax, dword [ebp - 0x304]
mov byte [eax + 0x1f], 0
mov ecx, dword [ebp - 0x304]
mov dword [ecx + 0x68], 0
mov edx, dword [ebp - 0x1c]
movzx eax, byte [edx]
cmp eax, 0x85
jne 0x46cacd
cmp dword [ebp - 0x2fc], 0
je 0x46cacb
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xc], edx
jmp 0x46cae2
cmp dword [ebp - 0x2fc], 0
jne 0x46cae2
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x1c]
movzx eax, byte [edx]
cmp eax, 0x6f
je 0x46cb0e
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
and edx, 0x40
je 0x46cb05
mov eax, dword [ebp - 0x18]
push eax
call fcn.00464030
add esp, 4
mov ecx, dword [ebp - 0x18]
sub ecx, 0x40
mov dword [ebp - 0x18], ecx
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x310], eax
mov ecx, dword [ebp - 0x18]
sub ecx, 0x40
mov dword [ebp - 0x314], ecx
mov edx, dword [ebp - 0x18]
push edx
call fcn.00464220
add esp, 4
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov dword [ebp - 0x320], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x31c], edx
mov eax, dword [ebp - 0x18]
sub eax, 0x40
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x3c]
mov eax, dword [ebp - 0x310]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0x318], ecx
mov edx, dword [ebp - 0x318]
mov eax, dword [edx]
mov dword [ebp - 0x324], eax
cmp dword [ebp - 0x324], 0
je 0x46cd3a
mov ecx, dword [ebp - 0x314]
movzx edx, word [ecx + 0x18]
and edx, 0x12
jne 0x46cbb0
movzx eax, byte [ebp - 0x11]
push eax
mov ecx, dword [ebp - 0x314]
push ecx
call fcn.00463e70
add esp, 8
test eax, eax
je 0x46cbb0
jmp 0x46f5e3
mov edx, dword [ebp - 0x314]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x33c], eax
mov ecx, dword [ebp - 0x314]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x344], edx
mov eax, dword [ebp - 0x33c]
push eax
call fcn.00467b60
add esp, 4
mov dword [ebp - 0x338], eax
mov ecx, dword [ebp - 0x344]
sub ecx, dword [ebp - 0x338]
mov dword [ebp - 0x340], ecx
mov edx, dword [ebp - 0x318]
mov dword [edx + 0x68], 0
lea eax, [ebp - 0x334]
push eax
push 0
mov eax, dword [ebp - 0x340]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x33c]
push ecx
mov edx, dword [ebp - 0x324]
push edx
call fcn.0045e740
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46cc38
jmp 0x46f60c
cmp dword [ebp - 0x334], 0
jge 0x46cc74
lea eax, [ebp - 0x334]
push eax
mov ecx, dword [ebp - 0x324]
push ecx
call fcn.0045eaf0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 0x334], 0
je 0x46cc74
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc], eax
jmp case.0x4694f2.12
lea ecx, [ebp - 0x334]
push ecx
mov edx, dword [ebp - 0x33c]
push edx
mov eax, dword [ebp - 0x340]
push eax
mov ecx, dword [ebp - 0x318]
push ecx
call fcn.00467ca0
add esp, 0x10
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46cca6
jmp 0x46f60c
cmp dword [ebp - 0x334], 0
jle 0x46ccc0
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc], eax
jmp case.0x4694f2.12
lea ecx, [ebp - 0x330]
push ecx
mov edx, dword [ebp - 0x324]
push edx
call fcn.00467ba0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46cce4
jmp 0x46f60c
mov eax, dword [ebp - 0x330]
cmp eax, dword [ebp - 0x320]
jne 0x46cd11
mov ecx, dword [ebp - 0x32c]
cmp ecx, dword [ebp - 0x31c]
jne 0x46cd11
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc], eax
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x18]
add ecx, 0x40
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x330]
mov dword [edx], eax
mov ecx, dword [ebp - 0x32c]
mov dword [edx + 4], ecx
mov edx, 4
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x348], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ebp - 0x348]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x34c], eax
mov ecx, dword [ebp - 0x34c]
mov edx, dword [ecx]
mov dword [ebp - 0x350], edx
cmp dword [ebp - 0x350], 0
je 0x46ce19
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov dword [ebp - 0x360], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x35c], edx
lea eax, [ebp - 0x354]
push eax
push 0
mov ecx, dword [ebp - 0x35c]
push ecx
mov edx, dword [ebp - 0x360]
push edx
push 0
mov eax, dword [ebp - 0x350]
push eax
call fcn.0045e740
add esp, 0x18
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x34c]
mov edx, dword [ebp - 0x18]
mov eax, dword [edx]
mov dword [ecx + 8], eax
mov edx, dword [edx + 4]
mov dword [ecx + 0xc], edx
xor eax, eax
cmp dword [ebp - 0x354], 0
sete al
mov ecx, dword [ebp - 0x34c]
mov byte [ecx + 0x19], al
mov edx, dword [ebp - 0x34c]
mov byte [edx + 0x1c], 0
mov eax, dword [ebp - 0x34c]
mov dword [eax + 0x68], 0
cmp dword [ebp - 0x354], 0
je 0x46ce19
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x34c]
mov byte [eax + 0x19], 0
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
and edx, 0x40
je 0x46ce31
mov eax, dword [ebp - 0x18]
push eax
call fcn.00464030
add esp, 4
mov ecx, dword [ebp - 0x18]
sub ecx, 0x40
mov dword [ebp - 0x18], ecx
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x364], eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x40
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x3c]
mov ecx, dword [ebp - 0x364]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x18]
mov ecx, dword [edx + 0x58]
mov dword [eax], ecx
mov edx, dword [edx + 0x5c]
mov dword [eax + 4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ebp - 0x364]
mov eax, dword [ecx + edx*4]
mov ecx, dword [eax + 0x58]
add ecx, 1
mov edx, dword [eax + 0x5c]
adc edx, 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
mov esi, dword [ebp - 0x364]
mov eax, dword [eax + esi*4]
mov dword [eax + 0x58], ecx
mov dword [eax + 0x5c], edx
mov ecx, 4
mov edx, dword [ebp - 0x18]
mov word [edx + 0x18], cx
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x374], ecx
mov dword [ebp - 0x370], 0
mov dword [ebp - 0x36c], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x3c]
mov ecx, dword [ebp - 0x374]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x378], edx
mov eax, dword [ebp - 0x378]
cmp dword [eax], 0
jne 0x46cef7
jmp 0x46d2e3
mov dword [ebp - 0x38c], 0
mov dword [ebp - 0x390], 0
mov ecx, dword [ebp - 0x378]
mov edx, dword [ecx]
push edx
call fcn.00462730
add esp, 4
and eax, 3
cmp eax, 1
je 0x46cf30
mov dword [ebp - 8], 0xb
jmp 0x46f60c
mov eax, dword [ebp - 0x378]
movzx ecx, byte [eax + 0x1b]
test ecx, ecx
jne 0x46d14c
mov edx, dword [ebp - 0x378]
movzx eax, byte [edx + 0x1d]
test eax, eax
je 0x46cf6d
mov ecx, dword [ebp - 0x378]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x370], edx
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x36c], eax
jmp 0x46d021
lea ecx, [ebp - 0x37c]
push ecx
mov edx, dword [ebp - 0x378]
mov eax, dword [edx]
push eax
call fcn.0045e6e0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46cf93
jmp 0x46f60c
cmp dword [ebp - 0x37c], 0
je 0x46cfb2
mov dword [ebp - 0x370], 1
mov dword [ebp - 0x36c], 0
jmp 0x46d021
lea ecx, [ebp - 0x370]
push ecx
mov edx, dword [ebp - 0x378]
mov eax, dword [edx]
push eax
call fcn.0045de40
add esp, 8
mov ecx, dword [ebp - 0x370]
mov dword [ebp - 0x370], ecx
mov edx, dword [ebp - 0x36c]
mov dword [ebp - 0x36c], edx
cmp dword [ebp - 0x370], 0xffffffff
jne 0x46d003
cmp dword [ebp - 0x36c], 0x7fffffff
jne 0x46d003
mov eax, dword [ebp - 0x378]
mov byte [eax + 0x1b], 1
jmp 0x46d021
mov ecx, dword [ebp - 0x370]
add ecx, 1
mov edx, dword [ebp - 0x36c]
adc edx, 0
mov dword [ebp - 0x370], ecx
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 8], 0
je 0x46d101
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 8]
shl edx, 6
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x58]
mov dword [ebp - 0x394], edx
mov ecx, dword [ebp - 0x394]
push ecx
call fcn.00464220
add esp, 4
mov edx, dword [ebp - 0x394]
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x704]
cmp dword [eax], 0xffffffff
jne 0x46d078
mov ecx, dword [ebp - 0x704]
cmp dword [ecx + 4], 0x7fffffff
je 0x46d086
mov edx, dword [ebp - 0x378]
movzx eax, byte [edx + 0x1b]
test eax, eax
je 0x46d092
mov dword [ebp - 8], 0xd
jmp 0x46f60c
mov ecx, dword [ebp - 0x394]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ecx + 4]
adc eax, 0
mov dword [ebp - 0x70c], edx
mov dword [ebp - 0x708], eax
mov ecx, dword [ebp - 0x36c]
cmp ecx, dword [ebp - 0x708]
jg 0x46d0ea
jl 0x46d0cd
mov edx, dword [ebp - 0x370]
cmp edx, dword [ebp - 0x70c]
jae 0x46d0ea
mov eax, dword [ebp - 0x394]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [eax + 4]
adc edx, 0
mov dword [ebp - 0x370], ecx
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x394]
mov ecx, dword [ebp - 0x370]
mov dword [eax], ecx
mov edx, dword [ebp - 0x36c]
mov dword [eax + 4], edx
cmp dword [ebp - 0x36c], 0x7fffffff
ja 0x46d142
jb 0x46d118
cmp dword [ebp - 0x370], 0xffffffff
jae 0x46d142
mov eax, dword [ebp - 0x378]
mov byte [eax + 0x1d], 1
mov ecx, dword [ebp - 0x370]
add ecx, 1
mov edx, dword [ebp - 0x36c]
adc edx, 0
mov eax, dword [ebp - 0x378]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
jmp 0x46d14c
mov ecx, dword [ebp - 0x378]
mov byte [ecx + 0x1d], 0
mov edx, dword [ebp - 0x378]
movzx eax, byte [edx + 0x1b]
test eax, eax
je 0x46d2c2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0x370], edx
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0x36c], eax
mov dword [ebp - 0x390], 0
mov ecx, dword [ebp - 0x370]
or ecx, dword [ebp - 0x36c]
je 0x46d194
cmp dword [ebp - 0x390], 2
jle 0x46d1d0
lea edx, [ebp - 0x370]
push edx
push 8
call fcn.004519c0
add esp, 8
cmp dword [ebp - 0x390], 5
jge 0x46d1ce
mov eax, dword [ebp - 0x370]
and eax, 0xffffff
mov ecx, dword [ebp - 0x36c]
and ecx, 0
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x36c], ecx
jmp 0x46d206
lea edx, [ebp - 0x395]
push edx
push 1
call fcn.004519c0
add esp, 8
movzx eax, byte [ebp - 0x395]
add eax, 1
cdq
add eax, dword [ebp - 0x370]
mov ecx, dword [ebp - 0x36c]
adc ecx, edx
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0x370]
or edx, dword [ebp - 0x36c]
jne 0x46d216
jmp 0x46d26d
mov eax, dword [ebp - 0x370]
mov dword [ebp - 0x388], eax
mov ecx, dword [ebp - 0x36c]
mov dword [ebp - 0x384], ecx
lea edx, [ebp - 0x37c]
push edx
push 0
mov eax, dword [ebp - 0x384]
push eax
mov ecx, dword [ebp - 0x388]
push ecx
push 0
mov edx, dword [ebp - 0x378]
mov eax, dword [edx]
push eax
call fcn.0045e740
add esp, 0x18
mov dword [ebp - 0x38c], eax
mov ecx, dword [ebp - 0x390]
add ecx, 1
mov dword [ebp - 0x390], ecx
cmp dword [ebp - 0x390], 0x3e8
jge 0x46d28f
cmp dword [ebp - 0x38c], 0
jne 0x46d28f
cmp dword [ebp - 0x37c], 0
je 0x46d17d
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x370]
mov dword [edx + 0x28], eax
mov ecx, dword [ebp - 0x36c]
mov dword [edx + 0x2c], ecx
cmp dword [ebp - 0x38c], 0
jne 0x46d2c2
cmp dword [ebp - 0x37c], 0
jne 0x46d2c2
mov dword [ebp - 8], 0xd
jmp 0x46f60c
mov edx, dword [ebp - 0x378]
mov byte [edx + 0x19], 0
mov eax, dword [ebp - 0x378]
mov byte [eax + 0x1f], 0
mov ecx, dword [ebp - 0x378]
mov dword [ecx + 0x68], 0
mov edx, dword [ebp - 0x18]
add edx, 0x40
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x370]
mov dword [eax], ecx
mov edx, dword [ebp - 0x36c]
mov dword [eax + 4], edx
mov eax, 4
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x18]
sub edx, 0x40
mov dword [ebp - 0x3a0], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x39c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x3c]
mov ecx, dword [ebp - 0x39c]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x3a4], edx
mov eax, dword [ebp - 0x3a4]
cmp dword [eax], 0
jne 0x46d35b
mov ecx, dword [ebp - 0x3a4]
movzx edx, byte [ecx + 0x1e]
test edx, edx
je 0x46d61c
mov eax, dword [ebp - 0x3a0]
mov ecx, dword [eax]
mov dword [ebp - 0x3b0], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x3ac], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 8]
and ecx, 1
je 0x46d392
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x23c]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x23c], eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
and eax, 2
je 0x46d3b1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x3a0]
mov eax, dword [edx]
mov dword [ecx + 0x20], eax
mov edx, dword [edx + 4]
mov dword [ecx + 0x24], edx
mov eax, dword [ebp - 0x3a4]
movzx ecx, byte [eax + 0x1d]
test ecx, ecx
je 0x46d40a
mov edx, dword [ebp - 0x3a0]
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x710], edx
mov dword [ebp - 0x714], eax
mov ecx, dword [ebp - 0x710]
mov edx, dword [ebp - 0x714]
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 0x14]
jl 0x46d40a
jg 0x46d400
mov ecx, dword [ebp - 0x710]
mov edx, dword [ebp - 0x714]
mov eax, dword [ecx]
cmp eax, dword [edx + 0x10]
jb 0x46d40a
mov ecx, dword [ebp - 0x3a4]
mov byte [ecx + 0x1d], 0
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 1
je 0x46d42a
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x10], 0
mov edx, dword [ebp - 0x18]
mov dword [edx + 0x14], 0
mov eax, dword [ebp - 0x3a4]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x46d52e
mov edx, dword [ebp - 0x3a4]
mov eax, dword [edx + 0x38]
push eax
call fcn.00452c70
add esp, 4
mov ecx, dword [ebp - 0x3a4]
mov edx, dword [ebp - 0x3b0]
mov dword [ecx + 0x40], edx
mov eax, dword [ebp - 0x3ac]
mov dword [ecx + 0x44], eax
mov ecx, dword [ebp - 0x3a4]
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x34], eax
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
and edx, 0x40
je 0x46d4a1
mov eax, dword [ebp - 0x3a4]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x38], edx
mov eax, 1
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
jmp 0x46d522
push 1
mov edx, dword [ebp - 0x3a4]
mov eax, dword [edx + 0x34]
add eax, 2
push eax
call fcn.00452ba0
add esp, 8
mov ecx, dword [ebp - 0x3a4]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 0x3a4]
cmp dword [edx + 0x38], 0
jne 0x46d4d2
jmp 0x46f5e3
mov eax, dword [ebp - 0x3a4]
mov ecx, dword [eax + 0x34]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x3a4]
mov edx, dword [ecx + 0x38]
push edx
call fcn.004bd140
add esp, 0xc
mov eax, dword [ebp - 0x3a4]
mov ecx, dword [eax + 0x38]
mov edx, dword [ebp - 0x3a4]
mov eax, dword [edx + 0x34]
mov byte [ecx + eax], 0
mov ecx, dword [ebp - 0x3a4]
mov edx, dword [ecx + 0x34]
mov eax, dword [ebp - 0x3a4]
mov ecx, dword [eax + 0x38]
mov byte [edx + ecx + 1], 0
mov edx, dword [ebp - 0x3a4]
mov byte [edx + 0x1c], 0
jmp 0x46d56a
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 8]
and ecx, 8
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x3ac]
push eax
mov ecx, dword [ebp - 0x3b0]
push ecx
push 0
mov edx, dword [ebp - 0x3a4]
mov eax, dword [edx]
push eax
call fcn.004618f0
add esp, 0x1c
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x3a4]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0x3a4]
mov byte [edx + 0x1f], 0
mov eax, dword [ebp - 0x3a4]
mov dword [eax + 0x68], 0
cmp dword [ebp - 8], 0
jne 0x46d61c
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x7c], 0
je 0x46d61c
mov edx, dword [ebp - 0x1c]
cmp dword [edx + 0xc], 0
je 0x46d61c
mov eax, dword [ebp - 0x3a4]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 4]
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x3b4], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x3b8], eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 8]
and edx, 4
neg edx
sbb edx, edx
and edx, 5
add edx, 0x12
mov dword [ebp - 0x3bc], edx
mov eax, dword [ebp - 0x3ac]
push eax
mov ecx, dword [ebp - 0x3b0]
push ecx
mov edx, dword [ebp - 0x3b8]
push edx
mov eax, dword [ebp - 0x3b4]
push eax
mov ecx, dword [ebp - 0x3bc]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x78]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x7c]
call edx
add esp, 0x18
push 2
lea eax, [ebp - 0x18]
push eax
call fcn.004690f0
add esp, 8
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x3c0], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ebp - 0x3c0]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x3c4], eax
mov ecx, dword [ebp - 0x3c4]
cmp dword [ecx], 0
je 0x46d78e
mov edx, dword [ebp - 4]
cmp dword [edx + 0x7c], 0
je 0x46d6d7
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xc], 0
je 0x46d6d7
mov ecx, dword [ebp - 0x3c4]
movzx edx, byte [ecx + 0x19]
test edx, edx
je 0x46d699
mov eax, dword [ebp - 0x3c4]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x3d0], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x3cc], edx
jmp 0x46d6d7
lea eax, [ebp - 0x3d0]
push eax
mov ecx, dword [ebp - 0x3c4]
mov edx, dword [ecx]
push edx
call fcn.0045de40
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46d6bf
jmp 0x46f60c
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x3d0], eax
mov ecx, dword [ebp - 0x3cc]
mov dword [ebp - 0x3cc], ecx
mov edx, dword [ebp - 0x3c4]
push edx
call fcn.00467210
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46d6f4
jmp 0x46f60c
mov eax, dword [ebp - 0x3c4]
mov ecx, dword [eax]
push ecx
call fcn.00461b60
add esp, 4
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x3c4]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0x3c4]
mov dword [eax + 0x68], 0
cmp dword [ebp - 8], 0
jne 0x46d78e
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x7c], 0
je 0x46d78e
mov edx, dword [ebp - 0x1c]
cmp dword [edx + 0xc], 0
je 0x46d78e
mov eax, dword [ebp - 0x3c4]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 4]
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x3d4], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x3d8], eax
mov ecx, dword [ebp - 0x3cc]
push ecx
mov edx, dword [ebp - 0x3d0]
push edx
mov eax, dword [ebp - 0x3d8]
push eax
mov ecx, dword [ebp - 0x3d4]
push ecx
push 9
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x78]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x7c]
call edx
add esp, 0x18
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 8]
and ecx, 1
je 0x46d7ae
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x23c]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x23c], eax
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
cmp dword [edx + 4], 0
je 0x46d7d2
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x23c]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00467d70
add esp, 8
mov eax, dword [ebp + 8]
mov dword [eax + 0x23c], 0
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x3e0], edx
mov eax, dword [ebp - 0x18]
add eax, 0x40
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x3c]
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0x3e4], ecx
mov edx, dword [ebp - 0x3e4]
movzx eax, byte [edx + 0x1c]
test eax, eax
je 0x46d82d
mov ecx, 1
mov edx, dword [ebp - 0x18]
mov word [edx + 0x18], cx
jmp 0x46d9e2
mov eax, dword [ebp - 0x3e4]
cmp dword [eax], 0
je 0x46d99c
mov ecx, dword [ebp - 0x3e4]
mov edx, dword [ecx]
mov dword [ebp - 0x3e8], edx
mov eax, dword [ebp - 0x3e4]
push eax
call fcn.00467210
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46d867
jmp 0x46f60c
mov ecx, dword [ebp - 0x3e4]
movzx edx, byte [ecx + 0x1c]
test edx, edx
je 0x46d888
mov eax, 1
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x3e4]
movzx eax, byte [edx + 0x21]
test eax, eax
je 0x46d8ba
lea ecx, [ebp - 0x3f0]
push ecx
mov edx, dword [ebp - 0x3e8]
push edx
call fcn.0045de40
add esp, 8
mov eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x3dc], eax
jmp 0x46d8d0
lea ecx, [ebp - 0x3dc]
push ecx
mov edx, dword [ebp - 0x3e8]
push edx
call fcn.0045dec0
add esp, 8
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x3dc]
mov dword [eax + 0x14], ecx
cmp dword [ebp - 0x3dc], 0x20
ja 0x46d8ff
mov edx, 0x210
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
mov ecx, dword [ebp - 0x18]
add ecx, 0x20
mov edx, dword [ebp - 0x18]
mov dword [edx + 0x10], ecx
jmp 0x46d946
push 1
mov eax, dword [ebp - 0x3dc]
push eax
call fcn.00452ba0
add esp, 8
mov dword [ebp - 0x3f4], eax
cmp dword [ebp - 0x3f4], 0
jne 0x46d924
jmp 0x46f5e3
mov ecx, 0x50
mov edx, dword [ebp - 0x18]
mov word [edx + 0x18], cx
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x1c], 0
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x3f4]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0x3e4]
movzx ecx, byte [eax + 0x21]
test ecx, ecx
je 0x46d978
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x3dc]
push ecx
push 0
mov edx, dword [ebp - 0x3e8]
push edx
call fcn.0045e140
add esp, 0x10
mov dword [ebp - 8], eax
jmp 0x46d99a
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x3dc]
push edx
push 0
mov eax, dword [ebp - 0x3e8]
push eax
call fcn.0045e1b0
add esp, 0x10
mov dword [ebp - 8], eax
jmp 0x46d9e2
mov ecx, dword [ebp - 0x3e4]
movzx edx, byte [ecx + 0x1e]
test edx, edx
je 0x46d9d6
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x3e4]
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x3e4]
mov edx, dword [ecx + 0x38]
mov dword [eax + 0x10], edx
mov eax, 0x110
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
jmp 0x46d9e2
mov edx, 1
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
mov ecx, dword [ebp - 0x18]
mov byte [ecx + 0x1b], 1
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x404], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x3c]
mov eax, dword [ebp - 0x404]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0x408], ecx
mov edx, dword [ebp - 0x408]
push edx
call fcn.00467210
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46da2c
jmp 0x46f60c
mov eax, dword [ebp - 0x18]
add eax, 0x40
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x408]
movzx edx, byte [ecx + 0x19]
test edx, edx
je 0x46da60
mov eax, dword [ebp - 0x408]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x400], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x3fc], edx
jmp 0x46dae4
mov eax, dword [ebp - 0x408]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x46da88
mov edx, dword [ebp - 0x408]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x400], eax
mov ecx, dword [edx + 0x44]
mov dword [ebp - 0x3fc], ecx
jmp 0x46dae4
mov edx, dword [ebp - 0x408]
movzx eax, byte [edx + 0x1c]
test eax, eax
jne 0x46daa1
mov ecx, dword [ebp - 0x408]
cmp dword [ecx], 0
jne 0x46dab4
mov edx, 1
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
jmp case.0x4694f2.12
lea ecx, [ebp - 0x400]
push ecx
mov edx, dword [ebp - 0x408]
mov eax, dword [edx]
push eax
call fcn.0045de40
add esp, 8
mov ecx, dword [ebp - 0x400]
mov dword [ebp - 0x400], ecx
mov edx, dword [ebp - 0x3fc]
mov dword [ebp - 0x3fc], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x400]
mov dword [eax], ecx
mov edx, dword [ebp - 0x3fc]
mov dword [eax + 4], edx
mov eax, 4
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x40c], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x3c]
mov eax, dword [ebp - 0x40c]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0x410], ecx
mov edx, dword [ebp - 0x410]
mov byte [edx + 0x1c], 1
mov eax, dword [ebp - 0x410]
mov byte [eax + 0x19], 0
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x414], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ebp - 0x414]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x418], eax
mov ecx, dword [ebp - 0x418]
mov edx, dword [ecx]
mov dword [ebp - 0x41c], edx
cmp dword [ebp - 0x41c], 0
je 0x46dbda
lea eax, [ebp - 0x420]
push eax
mov ecx, dword [ebp - 0x41c]
push ecx
call fcn.0045e6e0
add esp, 8
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x418]
mov al, byte [ebp - 0x420]
mov byte [edx + 0x1c], al
mov ecx, dword [ebp - 0x418]
mov byte [ecx + 0x1f], 0
mov edx, dword [ebp - 0x418]
mov dword [edx + 0x68], 0
cmp dword [ebp - 0x420], 0
je 0x46dbd8
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 8], 0
jle 0x46dbd8
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xc], edx
jmp 0x46dbe4
mov eax, dword [ebp - 0x418]
mov byte [eax + 0x1c], 0
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x428], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ebp - 0x428]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x42c], eax
mov ecx, dword [ebp - 0x42c]
mov edx, dword [ecx]
mov dword [ebp - 0x430], edx
cmp dword [ebp - 0x430], 0
je 0x46dc68
lea eax, [ebp - 0x424]
push eax
mov ecx, dword [ebp - 0x430]
push ecx
call fcn.0045e680
add esp, 8
mov dword [ebp - 8], eax
xor edx, edx
cmp dword [ebp - 0x424], 0
sete dl
mov eax, dword [ebp - 0x42c]
mov byte [eax + 0x1a], dl
mov ecx, dword [ebp - 0x42c]
mov byte [ecx + 0x1f], 0
mov edx, dword [ebp - 0x42c]
mov dword [edx + 0x68], 0
jmp 0x46dc72
mov dword [ebp - 0x424], 1
mov eax, dword [ebp - 0x42c]
mov cl, byte [ebp - 0x424]
mov byte [eax + 0x1c], cl
cmp dword [ebp - 0x424], 0
je 0x46dc9f
mov edx, dword [ebp - 0x1c]
cmp dword [edx + 8], 0
jle 0x46dc9f
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp case.0x4694f2.12
mov edx, dword [ebp - 4]
cmp dword [edx + 0x98], 0
je 0x46dcb5
jmp 0x46f64e
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x3c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x434], ecx
cmp dword [ebp - 0x434], 0
jne 0x46dcd8
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x434]
mov eax, dword [edx]
mov dword [ebp - 0x438], eax
cmp dword [ebp - 0x438], 0
je 0x46dd8e
mov ecx, dword [ebp - 0x434]
movzx edx, byte [ecx + 0x1c]
test edx, edx
je 0x46dd0d
mov dword [ebp - 0x43c], 1
jmp 0x46dd77
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [eax]
cmp ecx, 0x6d
jne 0x46dd36
lea edx, [ebp - 0x43c]
push edx
mov eax, dword [ebp - 0x438]
push eax
call fcn.0045eaf0
add esp, 8
mov dword [ebp - 0x718], eax
jmp 0x46dd52
lea ecx, [ebp - 0x43c]
push ecx
mov edx, dword [ebp - 0x438]
push edx
call fcn.0045ecc0
add esp, 8
mov dword [ebp - 0x718], eax
mov eax, dword [ebp - 0x718]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x434]
mov dl, byte [ebp - 0x43c]
mov byte [ecx + 0x1c], dl
mov eax, dword [ebp - 0x434]
mov dword [eax + 0x68], 0
cmp dword [ebp - 0x43c], 0
jne 0x46dd8c
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xc], edx
jmp 0x46dd98
mov eax, dword [ebp - 0x434]
mov byte [eax + 0x1c], 1
mov ecx, dword [ebp - 0x434]
mov byte [ecx + 0x19], 0
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x440], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x3c]
mov eax, dword [ebp - 0x440]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0x444], ecx
mov edx, dword [ebp - 0x444]
mov eax, dword [edx]
mov dword [ebp - 0x448], eax
cmp dword [ebp - 0x448], 0
je 0x46de34
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x450], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x44c], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
push eax
push 0
push 0x504727
mov eax, dword [ebp - 0x450]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x44c]
push ecx
mov edx, dword [ebp - 0x448]
push edx
call fcn.004618f0
add esp, 0x1c
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x444]
mov dword [eax + 0x68], 0
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + 0x18]
and edx, 0x40
je 0x46de4c
mov eax, dword [ebp - 0x18]
push eax
call fcn.00464030
add esp, 4
mov ecx, dword [ebp - 0x18]
sub ecx, 0x40
mov dword [ebp - 0x18], ecx
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x3c]
mov eax, dword [ebp - 0x454]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0x458], ecx
mov edx, dword [ebp - 0x458]
mov eax, dword [edx]
mov dword [ebp - 0x45c], eax
cmp dword [ebp - 0x45c], 0
je 0x46deeb
lea ecx, [ebp - 0x460]
push ecx
push 0
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x14]
cdq
push edx
push eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x45c]
push edx
call fcn.0045e740
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x46dede
cmp dword [ebp - 0x460], 0
jne 0x46dede
mov eax, dword [ebp - 0x45c]
push eax
call fcn.00461b60
add esp, 4
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x458]
mov dword [ecx + 0x68], 0
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 0x40
je 0x46df03
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00464030
add esp, 4
mov edx, dword [ebp - 0x18]
sub edx, 0x40
mov dword [ebp - 0x18], edx
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x464], ecx
mov edx, dword [ebp - 0x18]
add edx, 0x40
mov dword [ebp - 0x18], edx
mov eax, 1
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x3c]
mov ecx, dword [ebp - 0x464]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x468], edx
mov eax, dword [ebp - 0x468]
mov ecx, dword [eax]
mov dword [ebp - 0x46c], ecx
cmp dword [ebp - 0x46c], 0
je 0x46dfbe
mov edx, dword [ebp - 0x468]
movzx eax, byte [edx + 0x1c]
test eax, eax
je 0x46df7a
mov ecx, 1
mov edx, dword [ebp - 0x18]
mov word [edx + 0x18], cx
jmp 0x46dfbe
lea eax, [ebp - 0x478]
push eax
mov ecx, dword [ebp - 0x46c]
push ecx
call fcn.00467ba0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46df9e
jmp 0x46f60c
mov edx, 4
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x478]
mov dword [ecx], edx
mov eax, dword [ebp - 0x474]
mov dword [ecx + 4], eax
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x47c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ebp - 0x47c]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x480], eax
mov ecx, dword [ebp - 0x480]
cmp dword [ecx], 0
je 0x46e0b8
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 0x12
jne 0x46e019
movzx ecx, byte [ebp - 0x11]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call fcn.00463e70
add esp, 8
test eax, eax
je 0x46e019
jmp 0x46f5e3
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp dword [eax + 0xc], 0
setne cl
mov edx, dword [ebp - 0x480]
mov eax, dword [edx + 0x48]
mov byte [eax], cl
lea ecx, [ebp - 0x484]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ebp - 0x480]
push eax
call fcn.00467ca0
add esp, 0x10
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x480]
mov edx, dword [ecx + 0x48]
mov byte [edx], 0
cmp dword [ebp - 8], 0
je 0x46e06e
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [eax]
cmp ecx, 0x26
jne 0x46e089
mov edx, dword [ebp - 0x484]
neg edx
mov dword [ebp - 0x484], edx
jmp 0x46e0a3
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [eax]
cmp ecx, 0x3f
jne 0x46e0a3
mov edx, dword [ebp - 0x484]
add edx, 1
mov dword [ebp - 0x484], edx
cmp dword [ebp - 0x484], 0
jle 0x46e0b8
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 8]
sub ecx, 1
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x18]
and eax, 0x40
je 0x46e0d0
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00464030
add esp, 4
mov edx, dword [ebp - 0x18]
sub edx, 0x40
mov dword [ebp - 0x18], edx
jmp case.0x4694f2.12
mov dword [ebp - 0x490], 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0x48c], ecx
jmp 0x46e105
mov edx, dword [ebp - 0x48c]
mov eax, dword [edx + 8]
mov dword [ebp - 0x48c], eax
cmp dword [ebp - 0x48c], 0
je 0x46e14c
mov ecx, dword [ebp - 0x48c]
cmp dword [ecx + 0x50], 0xbdf20da3
jne 0x46e14a
mov edx, dword [ebp - 0x48c]
movzx eax, byte [edx + 0x23a]
cmp eax, 2
jge 0x46e14a
mov ecx, dword [ebp - 0x48c]
cmp dword [ecx + 0x7c], 0
jl 0x46e14a
mov edx, dword [ebp - 0x490]
add edx, 1
mov dword [ebp - 0x490], edx
jmp 0x46e0f6
cmp dword [ebp - 0x490], 1
jle 0x46e161
mov dword [ebp - 8], 6
jmp 0x46e1e7
lea eax, [ebp - 0x488]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 4]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.00462380
add esp, 0xc
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x18]
add edx, 0x40
mov dword [ebp - 0x18], edx
mov eax, 4
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
mov eax, dword [ebp - 0x488]
cdq
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], edx
cmp dword [ebp - 8], 0
jne 0x46e1e7
cmp dword [ebp - 0x488], 0
je 0x46e1e7
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x488]
push ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
imul eax, eax, 0x18
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 4]
push eax
call fcn.00478f60
add esp, 0xc
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 8]
imul edx, edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.004622f0
add esp, 8
mov dword [ebp - 8], eax
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 4]
add ecx, dword [edx + 4]
mov dword [ebp - 0x49c], ecx
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [eax]
cmp ecx, 0x33
jne 0x46e243
mov dword [ebp - 0x494], 5
jmp 0x46e24d
mov dword [ebp - 0x494], 2
mov edx, dword [ebp - 0x494]
push edx
lea eax, [ebp - 0x498]
push eax
mov ecx, dword [ebp - 0x49c]
mov edx, dword [ecx + 4]
push edx
call fcn.00461e90
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x18]
add eax, 0x40
mov dword [ebp - 0x18], eax
cmp dword [ebp - 8], 0
jne 0x46e29c
mov eax, dword [ebp - 0x498]
cdq
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, 4
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
jmp 0x46e2a8
mov ecx, 1
mov edx, dword [ebp - 0x18]
mov word [edx + 0x18], cx
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x4b8], ecx
mov edx, dword [ebp - 0x1c]
cmp dword [edx + 8], 0
jne 0x46e2e3
mov eax, dword [ebp - 0x4b8]
imul eax, eax, 0x18
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 4]
mov eax, dword [edx + eax + 0x14]
movzx ecx, word [eax + 0x7a]
and ecx, 1
jne 0x46e2e3
jmp case.0x4694f2.12
mov edx, 1
test edx, edx
je 0x46e301
cmp dword [ebp - 0x4b8], 1
jne 0x46e301
mov dword [ebp - 0x71c], 0x4fdbb0
jmp 0x46e30b
mov dword [ebp - 0x71c], 0x4fdbc4
mov eax, dword [ebp - 0x71c]
mov dword [ebp - 0x4a0], eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x4b0], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x4ac], eax
mov ecx, dword [ebp + 8]
add ecx, 0x230
mov dword [ebp - 0x4a8], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x4a0]
push ecx
mov edx, dword [ebp - 0x4b8]
imul edx, edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
call fcn.00451730
add esp, 0x10
mov dword [ebp - 0x4b4], eax
cmp dword [ebp - 0x4b4], 0
jne 0x46e37d
jmp 0x46f5e3
mov eax, dword [ebp - 4]
push eax
call fcn.00453a10
add esp, 4
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x44], 1
push 0
lea edx, [ebp - 0x4b0]
push edx
push fcn.00484350
mov eax, dword [ebp - 0x4b4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00481e10
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 4
jne 0x46e3c3
mov edx, dword [ebp - 0x4a4]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x4b4]
push eax
call fcn.00452c70
add esp, 4
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x44], 0
mov edx, dword [ebp - 4]
push edx
call fcn.004539c0
add esp, 4
cmp dword [ebp - 8], 7
jne 0x46e3f5
call fcn.004540a0
jmp 0x46f5e3
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x4bc], ecx
mov edx, dword [ebp - 0x4bc]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.004751b0
add esp, 8
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00476f10
add esp, 0xc
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00476a60
add esp, 0xc
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0048bc60
add esp, 0xc
jmp case.0x4694f2.12
mov dword [ebp - 0x4cc], 0
jmp 0x46e496
mov ecx, dword [ebp - 0x4cc]
add ecx, 1
mov dword [ebp - 0x4cc], ecx
mov edx, dword [ebp - 0x4cc]
neg edx
shl edx, 6
add edx, dword [ebp - 0x18]
mov eax, dword [ebp + 8]
cmp edx, dword [eax + 0x28]
jb 0x46e4c8
mov ecx, dword [ebp - 0x4cc]
neg ecx
shl ecx, 6
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + ecx + 0x18]
and eax, 4
jne 0x46e4c6
jmp 0x46e4c8
jmp 0x46e487
push 1
mov ecx, dword [ebp - 0x4cc]
lea edx, [ecx*4 + 4]
push edx
call fcn.00452ba0
add esp, 8
mov dword [ebp - 0x4c4], eax
cmp dword [ebp - 0x4c4], 0
jne 0x46e4f4
jmp 0x46f5e3
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x4d4], ecx
mov edx, dword [ebp - 0x4d4]
shl edx, 6
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x58]
mov dword [ebp - 0x4c8], edx
mov dword [ebp - 0x4d4], 0
jmp 0x46e530
mov ecx, dword [ebp - 0x4d4]
add ecx, 1
mov dword [ebp - 0x4d4], ecx
mov edx, dword [ebp - 0x4d4]
cmp edx, dword [ebp - 0x4cc]
jge 0x46e56b
mov eax, dword [ebp - 0x4d4]
neg eax
shl eax, 6
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x4d8], eax
mov ecx, dword [ebp - 0x4d8]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x4d4]
mov ecx, dword [ebp - 0x4c4]
mov dword [ecx + eax*4], edx
jmp 0x46e521
mov edx, dword [ebp - 0x4d4]
mov eax, dword [ebp - 0x4c4]
mov dword [eax + edx*4], 0
mov ecx, dword [ebp - 0x4cc]
push ecx
lea edx, [ebp - 0x18]
push edx
call fcn.004690f0
add esp, 8
mov eax, dword [ebp - 0x18]
add eax, 0x40
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x4c0]
push ecx
mov edx, dword [ebp - 0x4c8]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x4cc]
push ecx
mov edx, dword [ebp - 0x4c4]
push edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 8]
imul ecx, ecx, 0x18
mov edx, dword [ebp - 4]
mov eax, dword [edx + 4]
mov ecx, dword [eax + ecx + 4]
push ecx
call fcn.004632d0
add esp, 0x14
mov dword [ebp - 0x4d0], eax
mov eax, dword [ebp - 0x4c0]
cdq
mov ecx, dword [ebp - 0x4c8]
mov esi, dword [ecx]
sub esi, eax
mov eax, dword [ecx + 4]
sbb eax, edx
mov ecx, dword [ebp - 0x4c8]
mov dword [ecx], esi
mov dword [ecx + 4], eax
cmp dword [ebp - 0x4c0], 0
jne 0x46e612
mov edx, 1
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
jmp 0x46e68b
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x4d0]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0x720], eax
mov ecx, dword [ebp - 0x720]
add ecx, 1
mov dword [ebp - 0x724], ecx
mov edx, dword [ebp - 0x720]
mov al, byte [edx]
mov byte [ebp - 0x725], al
add dword [ebp - 0x720], 1
cmp byte [ebp - 0x725], 0
jne 0x46e639
mov ecx, dword [ebp - 0x720]
sub ecx, dword [ebp - 0x724]
mov dword [ebp - 0x72c], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x72c]
mov dword [edx + 0x14], eax
mov ecx, 0x62
mov edx, dword [ebp - 0x18]
mov word [edx + 0x18], cx
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x1c], 0
mov ecx, dword [ebp - 0x18]
mov byte [ecx + 0x1b], 1
movzx edx, byte [ebp - 0x11]
push edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.00463ba0
add esp, 8
mov ecx, dword [ebp - 0x4c4]
push ecx
call fcn.00452c70
add esp, 4
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x18]
push edx
call fcn.00464220
add esp, 4
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov eax, dword [ebp + 8]
add eax, 0x64
push eax
call fcn.004639e0
add esp, 0xc
mov ecx, dword [ebp - 0x18]
sub ecx, 0x40
mov dword [ebp - 0x18], ecx
jmp case.0x4694f2.12
mov edx, dword [ebp - 4]
cmp dword [edx + 0x98], 0
je 0x46e6fb
jmp 0x46f64e
lea eax, [ebp - 0x4e0]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x64
push ecx
call fcn.00463ab0
add esp, 8
cmp eax, 0x65
jne 0x46e724
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc], eax
jmp 0x46e74d
mov ecx, dword [ebp - 0x18]
add ecx, 0x40
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4e0]
mov dword [edx], eax
mov ecx, dword [ebp - 0x4dc]
mov dword [edx + 4], ecx
mov edx, 4
mov eax, dword [ebp - 0x18]
mov word [eax + 0x18], dx
jmp case.0x4694f2.12
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x70]
mov dword [ebp - 0x4e4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x70], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x4e4]
cmp ecx, dword [eax + 0x74]
jl 0x46e7ba
mov edx, dword [ebp - 0x4e4]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x74], edx
mov ecx, dword [ebp - 0x4e4]
add ecx, 1
imul ecx, ecx, 0x18
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x78]
push eax
call fcn.00452cf0
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x78], eax
mov edx, dword [ebp + 8]
cmp dword [edx + 0x78], 0
jne 0x46e7ba
jmp 0x46f5e3
mov eax, dword [ebp - 0x4e4]
imul eax, eax, 0x18
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x78]
mov dword [ebp - 0x4e8], eax
mov edx, dword [ebp - 0x4e8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20]
mov dword [edx], ecx
mov eax, dword [eax + 0x24]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x23c]
mov dword [ecx + 8], eax
mov ecx, dword [ebp + 8]
add ecx, 0x64
mov edx, dword [ebp - 0x4e8]
add edx, 0xc
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov ecx, dword [ecx + 8]
mov dword [edx + 8], ecx
mov edx, dword [ebp + 8]
add edx, 0x64
push edx
call fcn.004639c0
add esp, 4
jmp case.0x4694f2.12
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
sub ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x70], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
imul ecx, ecx, 0x18
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x78]
mov dword [ebp - 0x4ec], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx]
mov dword [eax + 0x20], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 0x24], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [eax + 8]
mov dword [edx + 0x23c], ecx
mov edx, dword [ebp + 8]
add edx, 0x64
push edx
call fcn.00463b50
add esp, 4
mov eax, dword [ebp - 0x4ec]
add eax, 0xc
mov ecx, dword [ebp + 8]
add ecx, 0x64
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
shl eax, 6
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x58]
push eax
call fcn.00464420
add esp, 8
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x18]
sub edx, 0x40
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 8], 0
je case.0x4694f2.0
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x4f0], edx
mov eax, dword [ebp - 0x18]
add eax, 0x40
mov dword [ebp - 0x18], eax
push 0x100
mov ecx, dword [ebp - 0x4f0]
shl ecx, 6
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x58]
push ecx
mov eax, dword [ebp - 0x18]
push eax
call fcn.00464360
add esp, 0xc
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x4f8], edx
mov eax, dword [ebp - 0x4f8]
shl eax, 6
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x58]
mov dword [ebp - 0x4f4], eax
mov edx, dword [ebp - 0x4f4]
push edx
call fcn.00464220
add esp, 4
mov eax, dword [ebp - 0x18]
push eax
call fcn.00464220
add esp, 4
mov ecx, dword [ebp - 0x4f4]
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x730], ecx
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x730]
mov ecx, dword [ebp - 0x734]
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 4]
jg 0x46e9a2
jl 0x46e98f
mov eax, dword [ebp - 0x730]
mov ecx, dword [ebp - 0x734]
mov edx, dword [eax]
cmp edx, dword [ecx]
jae 0x46e9a2
mov eax, dword [ebp - 0x4f4]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
mov dword [ebp - 0x500], eax
mov ecx, dword [ebp - 0x500]
shl ecx, 6
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x58]
mov dword [ebp - 0x4fc], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 4]
cdq
mov ecx, dword [ebp - 0x4fc]
add eax, dword [ecx]
mov ecx, dword [ecx + 4]
adc ecx, edx
mov edx, dword [ebp - 0x4fc]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x508], ecx
mov edx, dword [ebp - 0x508]
shl edx, 6
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x58]
mov dword [ebp - 0x504], edx
mov ecx, dword [ebp - 0x504]
mov dword [ebp - 0x738], ecx
mov edx, dword [ebp - 0x738]
cmp dword [edx + 4], 0
jl 0x46ea3e
jg 0x46ea32
mov eax, dword [ebp - 0x738]
cmp dword [eax], 0
jbe 0x46ea3e
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xc], edx
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x510], ecx
mov edx, dword [ebp - 0x510]
shl edx, 6
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x58]
mov dword [ebp - 0x50c], edx
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x73c], ecx
mov edx, dword [ebp - 0x73c]
cmp dword [edx + 4], 0
jg 0x46ea95
jl 0x46ea89
mov eax, dword [ebp - 0x73c]
cmp dword [eax], 0
jae 0x46ea95
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xc], edx
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x518], ecx
mov edx, dword [ebp - 0x518]
shl edx, 6
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x58]
mov dword [ebp - 0x514], edx
mov ecx, dword [ebp - 0x514]
mov dword [ebp - 0x740], ecx
mov edx, dword [ebp - 0x740]
mov eax, dword [ebp - 0x740]
mov ecx, dword [edx]
or ecx, dword [eax + 4]
jne 0x46eae6
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc], eax
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
shl edx, 6
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x58]
push edx
call fcn.004642c0
add esp, 4
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ecx + 4]
cdq
push edx
push eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
shl eax, 6
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x58]
push eax
call fcn.004642f0
add esp, 0xc
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
shl eax, 6
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x58]
push eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
shl eax, 6
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x58]
push eax
call fcn.00464420
add esp, 8
mov dword [ebp - 8], eax
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
mov dword [ebp - 0x524], eax
mov ecx, 1
sub ecx, dword [ebp - 0x524]
shl ecx, 6
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x52c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x528], eax
mov dword [ebp - 0x520], 0
jmp 0x46ebb7
mov ecx, dword [ebp - 0x520]
add ecx, 1
mov dword [ebp - 0x520], ecx
mov edx, dword [ebp - 0x52c]
add edx, 0x40
mov dword [ebp - 0x52c], edx
mov eax, dword [ebp - 0x520]
cmp eax, dword [ebp - 0x524]
jge 0x46ebeb
mov ecx, dword [ebp - 0x520]
mov edx, dword [ebp - 0x528]
mov eax, dword [ebp - 0x52c]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x52c]
push ecx
call fcn.00469090
add esp, 4
jmp 0x46eb99
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x588], eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
shl edx, 6
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x58]
mov dword [ebp - 0x51c], edx
mov ecx, dword [ebp - 0x51c]
mov dword [ebp - 0x540], ecx
mov edx, dword [ebp - 0x51c]
mov eax, dword [edx + 0x14]
add eax, 1
mov ecx, dword [ebp - 0x51c]
mov dword [ecx + 0x14], eax
mov edx, 1
mov word [ebp - 0x568], dx
mov dword [ebp - 0x570], 0
mov dword [ebp - 0x564], 0
mov byte [ebp - 0x53c], 0
mov dword [ebp - 0x538], 0
mov eax, dword [ebp - 0x588]
movzx ecx, byte [eax + 3]
test ecx, ecx
je 0x46ec78
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx - 8]
mov dword [ebp - 0x538], eax
mov ecx, dword [ebp - 0x528]
push ecx
mov edx, dword [ebp - 0x524]
push edx
lea eax, [ebp - 0x588]
push eax
mov ecx, dword [ebp - 0x588]
mov edx, dword [ecx + 0x14]
call edx
add esp, 0xc
mov eax, dword [ebp - 0x524]
push eax
lea ecx, [ebp - 0x18]
push ecx
call fcn.004690f0
add esp, 8
movzx edx, byte [ebp - 0x53c]
test edx, edx
je 0x46ece4
push 0
lea eax, [ebp - 0x580]
push eax
call fcn.00467ec0
add esp, 4
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x230
push ecx
call fcn.00452e10
add esp, 0xc
mov dword [ebp - 8], 1
lea edx, [ebp - 0x580]
push edx
call fcn.00464030
add esp, 4
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
shl ecx, 6
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x58]
mov dword [ebp - 0x58c], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x58c]
push edx
call fcn.00463f50
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 1
jne 0x46ed50
push 0
mov eax, dword [ebp - 0x58c]
push eax
call fcn.00467ec0
add esp, 4
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x230
push ecx
call fcn.00452e10
add esp, 0xc
jmp case.0x4694f2.12
mov edx, dword [ebp - 4]
push edx
call fcn.00453a10
add esp, 4
test eax, eax
je 0x46ed6a
jmp 0x46f605
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x230
push ecx
call fcn.0048d630
add esp, 8
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
push edx
call fcn.004539c0
add esp, 4
test eax, eax
je 0x46ed98
jmp 0x46f605
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 4], 0
jne 0x46edb4
mov ecx, dword [ebp - 4]
push ecx
call fcn.00467da0
add esp, 4
jmp 0x46edbe
mov edx, dword [ebp + 8]
mov byte [edx + 0x238], 1
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x594], ecx
xor edx, edx
cmp dword [ebp - 0x594], 0
setl dl
mov byte [ebp - 0x58d], dl
movzx eax, byte [ebp - 0x58d]
test eax, eax
je 0x46edfe
mov ecx, dword [ebp - 0x594]
imul ecx, ecx, 0xffffffff
sub ecx, 1
mov dword [ebp - 0x594], ecx
movzx edx, byte [ebp - 0x58d]
push edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x594]
imul edx, edx, 0x18
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00463900
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 6
jne 0x46ee5d
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x598], ecx
push 0
mov edx, dword [ebp - 0x598]
push edx
push str.database_table_is_locked:
mov eax, dword [ebp + 8]
add eax, 0x230
push eax
call fcn.00452e10
add esp, 0x10
jmp case.0x4694f2.12
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0048e940
add esp, 8
mov dword [ebp - 8], eax
jmp case.0x4694f2.12
mov ecx, dword [ebp + 8]
add ecx, 0x230
push ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0048e4d0
add esp, 0x10
mov dword [ebp - 8], eax
jmp case.0x4694f2.12
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x23a], 2
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0048e6e0
add esp, 0xc
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x23a], 0
jmp case.0x4694f2.12
mov dword [ebp - 0x5a8], 0
mov dword [ebp - 0x5a0], 0
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x5a4], eax
mov ecx, dword [ebp - 0x5a4]
mov edx, dword [ecx]
mov dword [ebp - 0x59c], edx
mov eax, dword [ebp - 4]
push eax
call fcn.00453a10
add esp, 4
test eax, eax
je 0x46ef22
jmp 0x46f605
lea ecx, [ebp - 0x5a0]
push ecx
mov edx, dword [ebp - 0x5a4]
push edx
mov eax, dword [ebp - 0x59c]
mov ecx, dword [eax + 0x18]
call ecx
add esp, 8
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
push edx
call fcn.004539c0
add esp, 4
test eax, eax
je 0x46ef56
jmp 0x46f605
cmp dword [ebp - 8], 0
jne 0x46efc7
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [ebp - 0x5a4]
mov dword [eax], ecx
push 0xffffffffffffffff
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00469140
add esp, 0xc
mov dword [ebp - 0x5a8], eax
cmp dword [ebp - 0x5a8], 0
je 0x46efb2
mov edx, dword [ebp - 0x5a8]
mov eax, dword [ebp - 0x5a0]
mov dword [edx + 0x60], eax
mov ecx, dword [ebp - 0x5a0]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x5a8]
mov ecx, dword [edx]
mov dword [eax + 0x64], ecx
jmp 0x46efc7
mov edx, dword [ebp - 0x5a0]
push edx
mov eax, dword [ebp - 0x59c]
mov ecx, dword [eax + 0x1c]
call ecx
add esp, 4
jmp case.0x4694f2.12
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x3c]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x5b0], eax
mov ecx, dword [ebp - 0x5b0]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx]
mov ecx, dword [eax]
mov dword [ebp - 0x5ac], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx - 0x40]
mov dword [ebp - 0x5b4], eax
mov dword [ebp - 0x5b8], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x5c0], edx
mov dword [ebp - 0x5bc], 0
jmp 0x46f031
mov eax, dword [ebp - 0x5bc]
add eax, 1
mov dword [ebp - 0x5bc], eax
mov ecx, dword [ebp - 0x5bc]
cmp ecx, dword [ebp - 0x5b4]
jge 0x46f07d
mov edx, dword [ebp - 0x5bc]
sub edx, 1
sub edx, dword [ebp - 0x5b4]
shl edx, 6
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5bc]
mov ecx, dword [ebp - 0x5c0]
mov dword [ecx + eax*4], edx
mov edx, dword [ebp - 0x5bc]
mov eax, dword [ebp - 0x5c0]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00469090
add esp, 4
jmp 0x46f022
mov edx, dword [ebp - 4]
push edx
call fcn.00453a10
add esp, 4
test eax, eax
je 0x46f092
jmp 0x46f605
mov eax, dword [ebp + 8]
mov byte [eax + 0x23a], 1
mov ecx, dword [ebp - 0x5c0]
push ecx
mov edx, dword [ebp - 0x5b4]
push edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x5b0]
mov edx, dword [ecx + 0x60]
push edx
mov eax, dword [ebp - 0x5ac]
mov ecx, dword [eax + 0x20]
call ecx
add esp, 0x14
mov dword [ebp - 8], eax
mov edx, dword [ebp + 8]
mov byte [edx + 0x23a], 0
cmp dword [ebp - 8], 0
jne 0x46f100
mov eax, dword [ebp - 0x5b0]
mov ecx, dword [eax + 0x60]
push ecx
mov edx, dword [ebp - 0x5ac]
mov eax, dword [edx + 0x28]
call eax
add esp, 4
mov dword [ebp - 0x5b8], eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004539c0
add esp, 4
test eax, eax
je 0x46f115
jmp 0x46f605
cmp dword [ebp - 0x5b8], 0
je 0x46f12a
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
sub eax, 1
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x5b4]
add ecx, 2
push ecx
lea edx, [ebp - 0x18]
push edx
call fcn.004690f0
add esp, 8
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x3c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x5c8], ecx
mov edx, dword [ebp - 0x5c8]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov dword [ebp - 0x5c4], edx
mov eax, dword [ebp - 0x5c4]
cmp dword [eax + 0x30], 0
jne 0x46f19b
push 0
push str.Unsupported_module_operation:_xRowid
mov ecx, dword [ebp + 8]
add ecx, 0x230
push ecx
call fcn.00452e10
add esp, 0xc
mov dword [ebp - 8], 1
jmp 0x46f210
mov edx, dword [ebp - 4]
push edx
call fcn.00453a10
add esp, 4
test eax, eax
je 0x46f1b0
jmp 0x46f605
lea eax, [ebp - 0x5d0]
push eax
mov ecx, dword [ebp - 0x5c8]
mov edx, dword [ecx + 0x60]
push edx
mov eax, dword [ebp - 0x5c4]
mov ecx, dword [eax + 0x30]
call ecx
add esp, 8
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
push edx
call fcn.004539c0
add esp, 4
test eax, eax
je 0x46f1e7
jmp 0x46f605
mov eax, dword [ebp - 0x18]
add eax, 0x40
mov dword [ebp - 0x18], eax
mov ecx, 4
mov edx, dword [ebp - 0x18]
mov word [edx + 0x18], cx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x5d0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x5cc]
mov dword [eax + 4], edx
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x3c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x5d8], ecx
mov edx, dword [ebp - 0x5d8]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov dword [ebp - 0x5d4], edx
mov eax, dword [ebp - 0x5d4]
cmp dword [eax + 0x2c], 0
jne 0x46f26e
push 0
push str.Unsupported_module_operation:_xColumn
mov ecx, dword [ebp + 8]
add ecx, 0x230
push ecx
call fcn.00452e10
add esp, 0xc
mov dword [ebp - 8], 1
jmp 0x46f319
push 0x58
push 0
lea edx, [ebp - 0x630]
push edx
call fcn.004bb190
add esp, 0xc
mov eax, 1
mov word [ebp - 0x610], ax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00453a10
add esp, 4
test eax, eax
je 0x46f2a2
jmp 0x46f605
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
push eax
lea ecx, [ebp - 0x630]
push ecx
mov edx, dword [ebp - 0x5d8]
mov eax, dword [edx + 0x60]
push eax
mov ecx, dword [ebp - 0x5d4]
mov edx, dword [ecx + 0x2c]
call edx
add esp, 0xc
mov dword [ebp - 8], eax
movzx eax, byte [ebp - 0x11]
push eax
lea ecx, [ebp - 0x628]
push ecx
call fcn.00463ba0
add esp, 8
mov edx, dword [ebp - 0x18]
add edx, 0x40
mov dword [ebp - 0x18], edx
xor eax, eax
mov ecx, dword [ebp - 0x18]
mov word [ecx + 0x18], ax
lea edx, [ebp - 0x628]
push edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.00464420
add esp, 8
mov ecx, dword [ebp - 4]
push ecx
call fcn.004539c0
add esp, 4
test eax, eax
je 0x46f319
jmp 0x46f605
jmp case.0x4694f2.12
mov dword [ebp - 0x634], 0
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x3c]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x63c], eax
mov ecx, dword [ebp - 0x63c]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx]
mov ecx, dword [eax]
mov dword [ebp - 0x638], ecx
mov edx, dword [ebp - 0x638]
cmp dword [edx + 0x24], 0
jne 0x46f380
push 0
push str.Unsupported_module_operation:_xNext
mov eax, dword [ebp + 8]
add eax, 0x230
push eax
call fcn.00452e10
add esp, 0xc
mov dword [ebp - 8], 1
jmp 0x46f412
mov ecx, dword [ebp - 4]
push ecx
call fcn.00453a10
add esp, 4
test eax, eax
je 0x46f395
jmp 0x46f605
mov edx, dword [ebp + 8]
mov byte [edx + 0x23a], 1
mov eax, dword [ebp - 0x63c]
mov ecx, dword [eax + 0x60]
push ecx
mov edx, dword [ebp - 0x638]
mov eax, dword [edx + 0x24]
call eax
add esp, 4
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x23a], 0
cmp dword [ebp - 8], 0
jne 0x46f3e8
mov edx, dword [ebp - 0x63c]
mov eax, dword [edx + 0x60]
push eax
mov ecx, dword [ebp - 0x638]
mov edx, dword [ecx + 0x28]
call edx
add esp, 4
mov dword [ebp - 0x634], eax
mov eax, dword [ebp - 4]
push eax
call fcn.004539c0
add esp, 4
test eax, eax
je 0x46f3fd
jmp 0x46f605
cmp dword [ebp - 0x634], 0
jne 0x46f412
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 8]
sub edx, 1
mov dword [ebp - 0xc], edx
jmp case.0x4694f2.12
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x644], ecx
mov edx, dword [ebp - 0x644]
mov eax, dword [edx]
mov dword [ebp - 0x640], eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x648], edx
mov eax, dword [ebp - 0x640]
cmp dword [eax + 0x34], 0
jne 0x46f46e
push 0
push str.read_only_table
mov ecx, dword [ebp + 8]
add ecx, 0x230
push ecx
call fcn.00452e10
add esp, 0xc
mov dword [ebp - 8], 1
jmp 0x46f58c
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x654], eax
mov ecx, 1
sub ecx, dword [ebp - 0x648]
shl ecx, 6
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x650], ecx
mov dword [ebp - 0x64c], 0
jmp 0x46f4bb
mov edx, dword [ebp - 0x64c]
add edx, 1
mov dword [ebp - 0x64c], edx
mov eax, dword [ebp - 0x650]
add eax, 0x40
mov dword [ebp - 0x650], eax
mov ecx, dword [ebp - 0x64c]
cmp ecx, dword [ebp - 0x648]
jge 0x46f4ef
mov edx, dword [ebp - 0x650]
push edx
call fcn.00469090
add esp, 4
mov eax, dword [ebp - 0x64c]
mov ecx, dword [ebp - 0x654]
mov edx, dword [ebp - 0x650]
mov dword [ecx + eax*4], edx
jmp 0x46f49d
mov eax, dword [ebp - 4]
push eax
call fcn.00453a10
add esp, 4
test eax, eax
je 0x46f504
jmp 0x46f605
mov ecx, dword [ebp - 0x644]
push ecx
call fcn.0048da60
add esp, 4
lea edx, [ebp - 0x660]
push edx
mov eax, dword [ebp - 0x654]
push eax
mov ecx, dword [ebp - 0x648]
push ecx
mov edx, dword [ebp - 0x644]
push edx
mov eax, dword [ebp - 0x640]
mov ecx, dword [eax + 0x34]
call ecx
add esp, 0x10
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x644]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.0048da80
add esp, 8
mov ecx, dword [ebp - 4]
push ecx
call fcn.004539c0
add esp, 4
test eax, eax
je 0x46f568
jmp 0x46f605
mov edx, dword [ebp - 0x1c]
cmp dword [edx + 4], 0
je 0x46f58c
cmp dword [ebp - 8], 0
jne 0x46f58c
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x660]
mov dword [eax + 0x20], ecx
mov edx, dword [ebp - 0x65c]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0x648]
push eax
lea ecx, [ebp - 0x18]
push ecx
call fcn.004690f0
add esp, 8
jmp 0x469409
cmp dword [ebp - 8], 0
je 0x46f5bf
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edx + 0x80], eax
mov dword [ebp - 8], 1
jmp 0x46f5c6
mov dword [ebp - 8], 0x65
mov ecx, dword [ebp + 8]
push ecx
call fcn.00466af0
add esp, 4
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x18]
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 8]
jmp 0x46f69b
push 0
push 0x4fdca8
mov ecx, dword [ebp + 8]
add ecx, 0x230
push ecx
call fcn.00452e10
add esp, 0xc
mov dword [ebp - 8], 7
jmp 0x46f5a4
mov dword [ebp - 8], 0x15
mov edx, dword [ebp + 8]
cmp dword [edx + 0x230], 0
jne 0x46f649
call fcn.00454060
test eax, eax
je 0x46f628
mov dword [ebp - 8], 7
push 0
mov eax, dword [ebp - 8]
push eax
call fcn.00496f80
add esp, 4
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x230
push ecx
call fcn.00452e10
add esp, 0xc
jmp 0x46f5a4
mov edx, dword [ebp - 4]
cmp dword [edx + 0x30], 0xf03b7906
je 0x46f663
mov dword [ebp - 8], 0x15
jmp 0x46f66a
mov dword [ebp - 8], 9
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [eax + 0x80], ecx
push 0
mov edx, dword [ebp - 8]
push edx
call fcn.00496f80
add esp, 4
push eax
mov eax, dword [ebp + 8]
add eax, 0x230
push eax
call fcn.00452e10
add esp, 0xc
jmp 0x46f5a4
pop edi
pop esi
mov ecx, dword [ebp - 0x34]
xor ecx, ebp
call fcn.004b4645
mov esp, ebp
pop ebp
ret