Function at 0x473b00
Capabilities:
Parse credit card information
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x818
mov eax, dword [0x6fe3a4]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x104], ecx
mov edx, dword [ebp - 0x104]
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xd8], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 0xdc], ecx
mov byte [ebp - 0x121], 0
mov edx, dword [ebp - 0xdc]
mov al, byte [edx + 0x3e]
mov byte [ebp - 0xe9], al
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0x2e8], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0x27c], 0
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x1a4], ecx
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp + 8]
push eax
call fcn.0047f080
add esp, 4
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x50], 7
jne 0x473be5
jmp 0x47c5eb
mov edx, dword [ebp + 8]
mov dword [edx + 0x50], 0
mov eax, dword [ebp + 8]
mov dword [eax + 0x88], 0
mov dword [eax + 0x8c], 0
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], 0
mov edx, dword [ebp - 0xdc]
mov dword [edx + 0x1c4], 0
mov eax, dword [ebp - 0xdc]
cmp dword [eax + 0xf0], 0
je 0x473c34
jmp 0x47c65f
mov ecx, dword [ebp - 0xdc]
cmp dword [ecx + 0x124], 0
je 0x473c80
mov edx, 4
shl edx, 2
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edx + 0x6c]
mov dword [ebp - 0x658], ecx
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x658]
xor edx, edx
div dword [ecx + 0x12c]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x12c]
sub ecx, edx
mov dword [ebp - 0x2e8], ecx
mov edx, dword [ebp + 8]
imul eax, dword [edx + 0x4c], 0x14
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xd4], eax
jmp 0x473ca4
mov ecx, dword [ebp - 0xd4]
add ecx, 0x14
mov dword [ebp - 0xd4], ecx
cmp dword [ebp - 0xd8], 0
jne 0x47c4e1
mov edx, dword [ebp - 0xdc]
movzx eax, byte [edx + 0x41]
test eax, eax
je 0x473cc4
jmp 0x47c5eb
mov ecx, dword [ebp - 0x1f4]
add ecx, 1
mov dword [ebp - 0x1f4], ecx
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx]
mov dword [ebp - 0x2e0], eax
mov ecx, dword [ebp - 0x2e0]
sub ecx, 1
mov dword [ebp - 0x2e0], ecx
cmp dword [ebp - 0x2e0], 0x9d
ja case.0x473d07.61
mov edx, dword [ebp - 0x2e0]
jmp dword [edx*4 + 0x47c6ac]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 8]
sub ecx, 1
imul edx, ecx, 0x14
add edx, dword [ebp - 0x104]
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0xdc]
cmp dword [eax + 0xf0], 0
je 0x473d3d
jmp 0x47c65f
mov ecx, dword [ebp - 0xdc]
cmp dword [ecx + 0x124], 0
je 0x473db9
mov edx, dword [ebp - 0x1f4]
cmp edx, dword [ebp - 0x2e8]
jb 0x473db9
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x1f4]
add ecx, dword [eax + 0x12c]
mov esi, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x1f4]
xor edx, edx
div dword [esi + 0x12c]
sub ecx, edx
mov dword [ebp - 0x2e8], ecx
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x128]
push eax
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x124]
call edx
add esp, 4
test eax, eax
je 0x473db9
mov dword [ebp - 0xd8], 9
jmp 0x47c4e1
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 4], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], ecx
mov edx, 4
mov eax, dword [ebp - 0xe4]
mov word [eax + 8], dx
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0x104]
cdq
mov ecx, 0x14
idiv ecx
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 8]
sub eax, 1
imul ecx, eax, 0x14
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xd4], ecx
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 4], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
push 0
push 0x14
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ecx]
push eax
call fcn.00642150
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xd4], eax
mov ecx, 0x80
mov edx, dword [ebp - 0xe4]
mov word [edx + 8], cx
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 4], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0xc]
sub eax, 1
cdq
mov ecx, dword [ebp - 0xe0]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, 4
mov eax, dword [ebp - 0xe0]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0xd4]
cmp dword [ecx + 8], 0
je 0x473ebd
jmp 0x473e03
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 4], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
push 0
push 0x14
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ecx]
push eax
call fcn.00642150
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x64c], eax
mov ecx, dword [ebp - 0x64c]
mov edx, dword [ecx + 8]
sub edx, 1
imul eax, edx, 0x14
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xd4], eax
mov ecx, 0x80
mov edx, dword [ebp - 0xe4]
mov word [edx + 8], cx
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 4], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], ecx
mov edx, 4
mov eax, dword [ebp - 0xe4]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx]
mov dword [ebp - 0x650], edx
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0x104]
cdq
mov ecx, 0x14
idiv ecx
cdq
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
imul edx, dword [ebp - 0x650], 0x14
add edx, dword [ebp - 0x104]
mov dword [ebp - 0xd4], edx
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 0xc], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xf4]
movzx eax, word [edx + 8]
and eax, 1
jne case.0x473d07.21
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0x104]
cdq
mov ecx, 0x14
idiv ecx
mov dword [ebp - 0x224], eax
mov edx, dword [ebp - 0xd4]
cmp dword [edx + 4], 0
jne 0x4740c7
mov eax, dword [ebp + 8]
cmp dword [eax + 0xb0], 0
je 0x4740c7
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xb0]
mov dword [ebp - 0x560], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x560]
mov edx, dword [ecx + 4]
mov dword [eax + 0xb0], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb8]
sub ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0xb8], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5c]
push ecx
mov edx, dword [ebp - 0xdc]
push edx
call fcn.0046c090
add esp, 8
mov eax, dword [ebp - 0x560]
push eax
call fcn.0047e4d0
add esp, 4
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0x1a4], edx
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0xd4]
cmp dword [ecx + 8], 4
jne 0x474097
imul edx, dword [ebp - 0x224], 0x14
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx + 8]
sub edx, 1
mov dword [ebp - 0x224], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x104], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov dword [ebp - 0xe8], eax
imul ecx, dword [ebp - 0x224], 0x14
add ecx, dword [ebp - 0x104]
mov dword [ebp - 0xd4], ecx
jmp case.0x473d07.61
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
mov dword [edx + 0x50], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xd4]
mov cl, byte [eax + 8]
mov byte [edx + 0x56], cl
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x224]
mov dword [edx + 0x4c], eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x50], 0
je 0x4741e4
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 3]
test eax, eax
je 0x474125
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx + 3]
mov eax, dword [edx*4 + 0x6839f8]
mov dword [ebp - 0x2e4], eax
jmp 0x47412f
mov dword [ebp - 0x2e4], 0
mov dword [ebp - 0x654], str.abort_at__d_in___s_:__s
cmp dword [ebp - 0x2e4], 0
je 0x474172
mov ecx, dword [ebp - 0xd4]
cmp dword [ecx + 0x10], 0
je 0x474172
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x2e4]
push ecx
push str._s_constraint_failed:__s
mov edx, dword [ebp + 8]
push edx
call fcn.00473190
add esp, 0x10
jmp 0x4741b3
mov eax, dword [ebp - 0xd4]
cmp dword [eax + 0x10], 0
je 0x47419b
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0x10]
push edx
push 0x6e58dc
mov eax, dword [ebp + 8]
push eax
call fcn.00473190
add esp, 0xc
jmp 0x4741b3
mov ecx, dword [ebp - 0x2e4]
push ecx
push str._s_constraint_failed
mov edx, dword [ebp + 8]
push edx
call fcn.00473190
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa8]
push eax
mov ecx, dword [ebp - 0x224]
push ecx
mov edx, dword [ebp - 0x654]
push edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
push ecx
call fcn.00444fa0
add esp, 0x14
mov edx, dword [ebp + 8]
push edx
call fcn.0047ce50
add esp, 4
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 5
jne 0x474217
mov dword [ebp - 0xd8], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 0x50], ecx
jmp 0x474242
mov edx, dword [ebp + 8]
cmp dword [edx + 0x50], 0
je 0x47422c
mov dword [ebp - 0x564], 1
jmp 0x474236
mov dword [ebp - 0x564], 0x65
mov eax, dword [ebp - 0x564]
mov dword [ebp - 0xd8], eax
jmp 0x47c578
mov ecx, dword [ebp - 0xd4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0049d0f0
add esp, 8
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 4]
cdq
mov ecx, dword [ebp - 0xe0]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0049d0f0
add esp, 8
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx]
mov dword [eax], ecx
mov edx, dword [edx + 4]
mov dword [eax + 4], edx
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0049d0f0
add esp, 8
mov dword [ebp - 0xe0], eax
mov edx, 8
mov eax, dword [ebp - 0xe0]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp - 0xe0]
movsd xmm0, qword [edx]
movsd qword [eax], xmm0
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0049d0f0
add esp, 8
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xd4]
mov byte [eax], 0x19
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0x10]
push edx
call fcn.0044e9c0
add esp, 4
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 4], eax
movzx edx, byte [ebp - 0xe9]
cmp edx, 1
je 0x474412
push 0
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xe0]
push edx
call fcn.0047d560
add esp, 0x14
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0x12
jne 0x474375
jmp 0x47c5cb
movzx eax, byte [ebp - 0xe9]
push eax
mov ecx, dword [ebp - 0xe0]
push ecx
call fcn.0047d340
add esp, 8
test eax, eax
je 0x474395
jmp 0x47c5eb
mov edx, dword [ebp - 0xe0]
mov dword [edx + 0x18], 0
mov eax, dword [ebp - 0xe0]
movzx ecx, word [eax + 8]
or ecx, 0x800
mov edx, dword [ebp - 0xe0]
mov word [edx + 8], cx
mov eax, dword [ebp - 0xd4]
movsx ecx, byte [eax + 1]
cmp ecx, 0xffffffff
jne 0x4743e4
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.0044f1a0
add esp, 8
mov edx, dword [ebp - 0xd4]
mov byte [edx + 1], 0xff
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx + 0xc]
mov dword [eax + 4], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xdc]
mov edx, dword [edx + 4]
cmp edx, dword [eax + ecx + 0x58]
jle case.0x473d07.24
jmp 0x47c5cb
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0049d0f0
add esp, 8
mov dword [ebp - 0xe0], eax
mov edx, 0xa02
mov eax, dword [ebp - 0xe0]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0xe0]
mov dl, byte [ebp - 0xe9]
mov byte [ecx + 0xa], dl
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax + 3]
test ecx, ecx
je 0x4744e1
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 0xc], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x568], ecx
mov edx, dword [ebp - 0x568]
mov eax, dword [ebp - 0x568]
mov ecx, dword [edx]
or ecx, dword [eax + 4]
je 0x4744e1
mov edx, 0xa10
mov eax, dword [ebp - 0xe0]
mov word [eax + 8], dx
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0049d0f0
add esp, 8
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd4]
mov edx, dword [eax + 0xc]
sub edx, dword [ecx + 8]
mov dword [ebp - 0x388], edx
mov eax, dword [ebp - 0xd4]
cmp dword [eax + 4], 0
je 0x47452f
mov dword [ebp - 0x56c], 0x101
jmp 0x474539
mov dword [ebp - 0x56c], 1
mov cx, word [ebp - 0x56c]
mov word [ebp - 0x26c], cx
mov edx, dword [ebp - 0xe0]
mov ax, word [ebp - 0x26c]
mov word [edx + 8], ax
cmp dword [ebp - 0x388], 0
jle 0x4745a1
mov ecx, dword [ebp - 0xe0]
add ecx, 0x28
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0xe0]
push edx
call fcn.0047d8a0
add esp, 4
mov eax, dword [ebp - 0xe0]
mov cx, word [ebp - 0x26c]
mov word [eax + 8], cx
mov edx, dword [ebp - 0x388]
sub edx, 1
mov dword [ebp - 0x388], edx
jmp 0x474558
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 4], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0xe0]
movzx eax, word [edx + 8]
or eax, 1
and eax, 0xffffff7f
mov ecx, dword [ebp - 0xe0]
mov word [ecx + 8], ax
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0049d0f0
add esp, 8
mov dword [ebp - 0xe0], eax
push 0
push 0
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xe0]
push edx
call fcn.0047d560
add esp, 0x14
mov eax, dword [ebp - 0xe0]
mov cl, byte [ebp - 0xe9]
mov byte [eax + 0xa], cl
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
sub eax, 1
imul ecx, eax, 0x28
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x3c]
mov dword [ebp - 0x570], ecx
mov eax, dword [ebp - 0x570]
push eax
call fcn.0047d380
add esp, 4
test eax, eax
je 0x474664
jmp 0x47c5cb
mov ecx, dword [ebp - 0xd4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0049d0f0
add esp, 8
mov dword [ebp - 0xe0], eax
push 0x800
mov eax, dword [ebp - 0x570]
push eax
mov ecx, dword [ebp - 0xe0]
push ecx
call fcn.0047d480
add esp, 0xc
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x398], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x640], edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x65c], ecx
imul edx, dword [ebp - 0x640], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], edx
imul eax, dword [ebp - 0x65c], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xe4]
push ecx
mov edx, dword [ebp - 0xe0]
push edx
call fcn.0047d4f0
add esp, 8
mov eax, dword [ebp - 0xe0]
movzx ecx, word [eax + 8]
and ecx, 0x1000
je 0x474730
mov edx, dword [ebp - 0xe0]
push edx
call fcn.0047d9c0
add esp, 4
test eax, eax
je 0x474730
jmp 0x47c5eb
mov eax, dword [ebp - 0xe4]
add eax, 0x28
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe0]
add ecx, 0x28
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0x398]
sub edx, 1
mov dword [ebp - 0x398], edx
jne 0x4746f0
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x39c], ecx
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 4], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 8], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], edx
mov eax, 1
test eax, eax
je 0x47483a
push 0x1000
mov ecx, dword [ebp - 0xe4]
push ecx
mov edx, dword [ebp - 0xe0]
push edx
call fcn.0047d480
add esp, 0xc
mov eax, dword [ebp - 0xe0]
movzx ecx, word [eax + 8]
and ecx, 0x1000
je 0x4747f1
mov edx, dword [ebp - 0xe0]
push edx
call fcn.0047d9c0
add esp, 4
test eax, eax
je 0x4747f1
jmp 0x47c5eb
mov eax, dword [ebp - 0x39c]
mov dword [ebp - 0x660], eax
mov ecx, dword [ebp - 0x39c]
sub ecx, 1
mov dword [ebp - 0x39c], ecx
cmp dword [ebp - 0x660], 0
jne 0x474817
jmp 0x47483a
mov edx, dword [ebp - 0xe0]
add edx, 0x28
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0xe4]
add eax, 0x28
mov dword [ebp - 0xe4], eax
jmp 0x47479f
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 4], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 8], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], ecx
push 0x1000
mov edx, dword [ebp - 0xe4]
push edx
mov eax, dword [ebp - 0xe0]
push eax
call fcn.0047d480
add esp, 0xc
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xdc]
cmp dword [ecx + 0x124], 0
je 0x4748d9
mov edx, dword [ebp - 0x1f4]
cmp edx, dword [ebp - 0x2e8]
jb 0x4748d9
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x128]
push ecx
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x124]
call eax
add esp, 4
test eax, eax
je 0x4748d9
mov dword [ebp - 0xd8], 9
jmp 0x47c4e1
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.0047f130
add esp, 8
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x4748fb
jmp case.0x473d07.61
push 1
mov edx, dword [ebp + 8]
push edx
call fcn.0047e2d0
add esp, 8
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x47491d
jmp case.0x473d07.61
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x48]
add ecx, 2
or ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x48], ecx
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 4], 0x28
mov edx, dword [ebp - 0xe8]
add edx, ecx
mov dword [ebp - 0x574], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x574]
mov dword [eax + 0x14], ecx
mov edx, dword [ebp - 0x574]
mov dword [ebp - 0x3a0], edx
mov dword [ebp - 0x228], 0
jmp 0x47497a
mov eax, dword [ebp - 0x228]
add eax, 1
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x228]
cmp edx, dword [ecx + 8]
jge 0x4749dc
imul eax, dword [ebp - 0x228], 0x28
mov ecx, dword [ebp - 0x3a0]
movzx edx, word [ecx + eax + 8]
and edx, 0x1000
je 0x4749c4
imul eax, dword [ebp - 0x228], 0x28
add eax, dword [ebp - 0x3a0]
push eax
call fcn.0047d9c0
add esp, 4
test eax, eax
je 0x4749c4
jmp 0x47c5eb
imul ecx, dword [ebp - 0x228], 0x28
add ecx, dword [ebp - 0x3a0]
push ecx
call fcn.0047d530
add esp, 4
jmp 0x47496b
mov edx, dword [ebp - 0xdc]
movzx eax, byte [edx + 0x41]
test eax, eax
je 0x4749ef
jmp 0x47c5eb
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0x104]
cdq
mov ecx, 0x14
idiv ecx
add eax, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x4c], eax
mov dword [ebp - 0xd8], 0x64
jmp 0x47c578
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 4], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 8], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xf8], eax
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 0xc], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 8]
mov edx, dword [ebp - 0xf8]
movzx eax, word [edx + 8]
or ecx, eax
and ecx, 1
je 0x474a8c
mov ecx, dword [ebp - 0xe0]
push ecx
call fcn.0047d8a0
add esp, 4
jmp case.0x473d07.61
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 8]
and eax, 0x4000
je 0x474ab4
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.0047fb80
add esp, 4
mov dword [ebp - 0x578], eax
jmp 0x474abe
mov dword [ebp - 0x578], 0
cmp dword [ebp - 0x578], 0
jne 0x474b02
mov edx, dword [ebp - 0xf8]
movzx eax, word [edx + 8]
and eax, 0x4000
je 0x474aef
mov ecx, dword [ebp - 0xf8]
push ecx
call fcn.0047fb80
add esp, 4
mov dword [ebp - 0x57c], eax
jmp 0x474af9
mov dword [ebp - 0x57c], 0
cmp dword [ebp - 0x57c], 0
je 0x474b07
jmp 0x47c5eb
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 8]
and eax, 0x12
jne 0x474b38
push 0
movzx ecx, byte [ebp - 0xe9]
push ecx
mov edx, dword [ebp - 0xe4]
push edx
call fcn.0047da90
add esp, 0xc
test eax, eax
je 0x474b38
jmp 0x47c5eb
mov eax, dword [ebp - 0xf8]
movzx ecx, word [eax + 8]
and ecx, 0x12
jne 0x474b69
push 0
movzx edx, byte [ebp - 0xe9]
push edx
mov eax, dword [ebp - 0xf8]
push eax
call fcn.0047da90
add esp, 0xc
test eax, eax
je 0x474b69
jmp 0x47c5eb
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ecx + 0xc]
mov edx, dword [ebp - 0xf8]
add eax, dword [edx + 0xc]
cdq
mov dword [ebp - 0x300], eax
mov dword [ebp - 0x2fc], edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + ecx + 0x58]
cdq
mov dword [ebp - 0x698], eax
mov dword [ebp - 0x694], edx
mov eax, dword [ebp - 0x2fc]
cmp eax, dword [ebp - 0x694]
jl 0x474bca
jg 0x474bc5
mov ecx, dword [ebp - 0x300]
cmp ecx, dword [ebp - 0x698]
jbe 0x474bca
jmp 0x47c5cb
mov edx, dword [ebp - 0xe0]
cmp edx, dword [ebp - 0xf8]
jne 0x474be4
mov dword [ebp - 0x580], 1
jmp 0x474bee
mov dword [ebp - 0x580], 0
mov eax, dword [ebp - 0x580]
push eax
mov ecx, dword [ebp - 0x300]
add ecx, 2
push ecx
mov edx, dword [ebp - 0xe0]
push edx
call fcn.0047e0f0
add esp, 0xc
test eax, eax
je 0x474c17
jmp 0x47c5eb
mov eax, dword [ebp - 0xe0]
movzx ecx, word [eax + 8]
and ecx, 0xffffbe00
or ecx, 2
mov edx, dword [ebp - 0xe0]
mov word [edx + 8], cx
mov eax, dword [ebp - 0xe0]
cmp eax, dword [ebp - 0xf8]
je 0x474c68
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx + 0x10]
push eax
call fcn.006434e0
add esp, 0xc
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0xf8]
add eax, dword [ecx + 0xc]
push eax
call fcn.006434e0
add esp, 0xc
push 0
push 1
mov edx, dword [ebp - 0x2fc]
push edx
mov eax, dword [ebp - 0x300]
push eax
call fcn.00642150
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx + 0x10]
mov byte [eax + edx], 0
mov eax, dword [ebp - 0x300]
add eax, 1
mov ecx, dword [ebp - 0x2fc]
adc ecx, 0
push 0
push 1
push ecx
push eax
call fcn.00642150
mov edx, dword [ebp - 0xe0]
mov ecx, dword [edx + 0x10]
mov byte [eax + ecx], 0
mov edx, dword [ebp - 0xe0]
movzx eax, word [edx + 8]
or eax, 0x200
mov ecx, dword [ebp - 0xe0]
mov word [ecx + 8], ax
mov edx, dword [ebp - 0x300]
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0xe0]
mov dl, byte [ebp - 0xe9]
mov byte [ecx + 0xa], dl
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 4], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xe4]
push edx
call fcn.0049d0b0
add esp, 4
mov word [ebp - 0x270], ax
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 8], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xf8], ecx
mov edx, dword [ebp - 0xf8]
push edx
call fcn.0049d0b0
add esp, 4
mov word [ebp - 0x274], ax
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 0xc], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 8]
mov ecx, dword [ebp - 0xf8]
movzx edx, word [ecx + 8]
or eax, edx
mov word [ebp - 0x394], ax
movzx eax, word [ebp - 0x394]
and eax, 1
je 0x474dbd
jmp 0x4751e1
movzx ecx, word [ebp - 0x270]
movzx edx, word [ebp - 0x274]
and ecx, edx
and ecx, 4
je 0x474fcf
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax]
mov dword [ebp - 0x12c], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax]
mov dword [ebp - 0x184], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x180], edx
mov byte [ebp - 0x151], 1
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax]
mov dword [ebp - 0x2ec], ecx
mov edx, dword [ebp - 0x2ec]
sub edx, 0x59
mov dword [ebp - 0x2ec], edx
cmp dword [ebp - 0x2ec], 3
ja case.default.0x474e3c
mov eax, dword [ebp - 0x2ec]
jmp dword [eax*4 + 0x47c924]
mov ecx, dword [ebp - 0x128]
push ecx
mov edx, dword [ebp - 0x12c]
push edx
lea eax, [ebp - 0x184]
push eax
call fcn.0046c0b0
add esp, 0xc
test eax, eax
je 0x474e69
jmp 0x474fd6
jmp 0x474f96
mov ecx, dword [ebp - 0x128]
push ecx
mov edx, dword [ebp - 0x12c]
push edx
lea eax, [ebp - 0x184]
push eax
call fcn.0046c190
add esp, 0xc
test eax, eax
je 0x474e94
jmp 0x474fd6
jmp 0x474f96
mov ecx, dword [ebp - 0x128]
push ecx
mov edx, dword [ebp - 0x12c]
push edx
lea eax, [ebp - 0x184]
push eax
call fcn.0046c200
add esp, 0xc
test eax, eax
je 0x474ebf
jmp 0x474fd6
jmp 0x474f96
mov ecx, dword [ebp - 0x12c]
or ecx, dword [ebp - 0x128]
jne 0x474ed7
jmp 0x4751e1
mov edx, dword [ebp - 0x12c]
and edx, dword [ebp - 0x128]
cmp edx, 0xffffffff
jne 0x474f02
cmp dword [ebp - 0x184], 0
jne 0x474f02
cmp dword [ebp - 0x180], 0x80000000
jne 0x474f02
jmp 0x474fd6
mov eax, dword [ebp - 0x128]
push eax
mov ecx, dword [ebp - 0x12c]
push ecx
mov edx, dword [ebp - 0x180]
push edx
mov eax, dword [ebp - 0x184]
push eax
call fcn.00642580
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x180], edx
jmp 0x474f96
mov ecx, dword [ebp - 0x12c]
or ecx, dword [ebp - 0x128]
jne 0x474f44
jmp 0x4751e1
mov edx, dword [ebp - 0x12c]
and edx, dword [ebp - 0x128]
cmp edx, 0xffffffff
jne 0x474f69
mov dword [ebp - 0x12c], 1
mov dword [ebp - 0x128], 0
mov eax, dword [ebp - 0x128]
push eax
mov ecx, dword [ebp - 0x12c]
push ecx
mov edx, dword [ebp - 0x180]
push edx
mov eax, dword [ebp - 0x184]
push eax
call fcn.00642630
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x180], edx
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0x184]
mov dword [ecx], edx
mov eax, dword [ebp - 0x180]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xe0]
movzx edx, word [ecx + 8]
and edx, 0xffffbe00
or edx, 4
mov eax, dword [ebp - 0xe0]
mov word [eax + 8], dx
jmp 0x4751dc
mov byte [ebp - 0x151], 0
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.0047dc50
add esp, 4
fstp qword [ebp - 0x3d4]
mov edx, dword [ebp - 0xf8]
push edx
call fcn.0047dc50
add esp, 4
fstp qword [ebp - 0x23c]
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax]
mov dword [ebp - 0x2f0], ecx
mov edx, dword [ebp - 0x2f0]
sub edx, 0x59
mov dword [ebp - 0x2f0], edx
cmp dword [ebp - 0x2f0], 3
ja case.default.0x475031
mov eax, dword [ebp - 0x2f0]
jmp dword [eax*4 + 0x47c934]
movsd xmm0, qword [ebp - 0x23c]
addsd xmm0, qword [ebp - 0x3d4]
movsd qword [ebp - 0x23c], xmm0
jmp 0x475161
movsd xmm0, qword [ebp - 0x23c]
subsd xmm0, qword [ebp - 0x3d4]
movsd qword [ebp - 0x23c], xmm0
jmp 0x475161
movsd xmm0, qword [ebp - 0x23c]
mulsd xmm0, qword [ebp - 0x3d4]
movsd qword [ebp - 0x23c], xmm0
jmp 0x475161
movsd xmm0, qword [ebp - 0x3d4]
ucomisd xmm0, qword [0x682ec8]
lahf
test ah, 0x44
jp 0x4750aa
jmp 0x4751e1
movsd xmm0, qword [ebp - 0x23c]
divsd xmm0, qword [ebp - 0x3d4]
movsd qword [ebp - 0x23c], xmm0
jmp 0x475161
movsd xmm0, qword [ebp - 0x3d4]
call fcn.006423ff
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x128], edx
movsd xmm0, qword [ebp - 0x23c]
call fcn.006423ff
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x180], edx
mov ecx, dword [ebp - 0x12c]
or ecx, dword [ebp - 0x128]
jne 0x47510c
jmp 0x4751e1
mov edx, dword [ebp - 0x12c]
and edx, dword [ebp - 0x128]
cmp edx, 0xffffffff
jne 0x475131
mov dword [ebp - 0x12c], 1
mov dword [ebp - 0x128], 0
mov eax, dword [ebp - 0x128]
push eax
mov ecx, dword [ebp - 0x12c]
push ecx
mov edx, dword [ebp - 0x180]
push edx
mov eax, dword [ebp - 0x184]
push eax
call fcn.00642630
mov ecx, eax
call fcn.00642550
movsd qword [ebp - 0x23c], xmm0
sub esp, 8
movsd xmm0, qword [ebp - 0x23c]
movsd qword [esp], xmm0
call fcn.0044f730
add esp, 8
test eax, eax
je 0x47517f
jmp 0x4751e1
mov ecx, dword [ebp - 0xe0]
movsd xmm0, qword [ebp - 0x23c]
movsd qword [ecx], xmm0
mov edx, dword [ebp - 0xe0]
movzx eax, word [edx + 8]
and eax, 0xffffbe00
or eax, 8
mov ecx, dword [ebp - 0xe0]
mov word [ecx + 8], ax
movzx edx, word [ebp - 0x270]
movzx eax, word [ebp - 0x274]
or edx, eax
and edx, 8
jne 0x4751dc
movsx ecx, byte [ebp - 0x151]
test ecx, ecx
jne 0x4751dc
mov edx, dword [ebp - 0xe0]
push edx
call fcn.0047dce0
add esp, 4
jmp case.0x473d07.61
mov eax, dword [ebp - 0xe0]
push eax
call fcn.0047d8a0
add esp, 4
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
cmp dword [ecx + 4], 0
je 0x47521e
push 0
push 0
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 4], 0x28
add eax, dword [ebp - 0xe8]
push eax
call fcn.0047d7e0
add esp, 0xc
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx + 3]
mov dword [ebp - 0x584], edx
mov eax, dword [ebp - 0x584]
lea ecx, [eax*4 + 0x1c]
xor edx, edx
push edx
push ecx
mov eax, dword [ebp - 0xdc]
push eax
call fcn.0044ec90
add esp, 0xc
mov dword [ebp - 0x1fc], eax
cmp dword [ebp - 0x1fc], 0
jne 0x475267
jmp 0x47c5eb
mov ecx, dword [ebp - 0x1fc]
mov dword [ecx], 0
mov edx, dword [ebp - 0x1fc]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x10]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0x104]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp - 0x1fc]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [ebp + 8]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0x1fc]
mov al, byte [ebp - 0x584]
mov byte [edx + 0x1a], al
mov ecx, dword [ebp - 0xd4]
mov byte [ecx + 1], 0xec
mov edx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x1fc]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0xd4]
mov byte [ecx], 0x24
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 0xc], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0x110]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0xe0]
je 0x475379
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp - 0xe0]
mov dword [edx], eax
mov ecx, dword [ebp - 0x110]
movzx edx, byte [ecx + 0x1a]
sub edx, 1
mov dword [ebp - 0x278], edx
jmp 0x475346
mov eax, dword [ebp - 0x278]
sub eax, 1
mov dword [ebp - 0x278], eax
cmp dword [ebp - 0x278], 0
jl 0x475379
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 8]
add edx, dword [ebp - 0x278]
imul eax, edx, 0x28
add eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x278]
mov edx, dword [ebp - 0x110]
mov dword [edx + ecx*4 + 0x1c], eax
jmp 0x475337
mov eax, dword [ebp - 0x110]
mov ecx, dword [eax]
movzx edx, word [ecx + 8]
and edx, 0xffffbe00
or edx, 1
mov eax, dword [ebp - 0x110]
mov ecx, dword [eax]
mov word [ecx + 8], dx
mov edx, dword [ebp - 0x110]
mov byte [edx + 0x19], 0
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x1a4]
mov dword [eax + 0x20], ecx
mov edx, dword [ebp - 0x1a0]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0x110]
add eax, 0x1c
push eax
mov ecx, dword [ebp - 0x110]
movzx edx, byte [ecx + 0x1a]
push edx
mov eax, dword [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0x110]
mov edx, dword [ecx + 4]
mov eax, dword [edx + 0xc]
call eax
add esp, 0xc
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0x1a4], edx
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x110]
movzx edx, byte [ecx + 0x19]
test edx, edx
je 0x47546d
mov eax, dword [ebp - 0x110]
cmp dword [eax + 0x14], 0
je 0x47544d
mov ecx, dword [ebp - 0x110]
mov edx, dword [ecx]
push edx
call fcn.00441910
add esp, 4
push eax
push 0x6e5cc0
mov eax, dword [ebp + 8]
push eax
call fcn.00473190
add esp, 0xc
mov ecx, dword [ebp - 0x110]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x110]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00473820
add esp, 0xc
mov edx, dword [ebp - 0xe0]
movzx eax, word [edx + 8]
and eax, 0x12
je 0x4754af
movzx ecx, byte [ebp - 0xe9]
push ecx
mov edx, dword [ebp - 0x110]
mov eax, dword [edx]
push eax
call fcn.0047d340
add esp, 8
mov ecx, dword [ebp - 0x110]
mov edx, dword [ecx]
push edx
call fcn.0047d380
add esp, 4
test eax, eax
je 0x4754af
jmp 0x47c5cb
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 4], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 8], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xf8], eax
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 0xc], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 8]
mov edx, dword [ebp - 0xf8]
movzx eax, word [edx + 8]
or ecx, eax
and ecx, 1
je 0x475525
mov ecx, dword [ebp - 0xe0]
push ecx
call fcn.0047d8a0
add esp, 4
jmp case.0x473d07.61
mov edx, dword [ebp - 0xf8]
push edx
call fcn.0047db80
add esp, 4
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x198], edx
mov eax, dword [ebp - 0xe4]
push eax
call fcn.0047db80
add esp, 4
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x170], edx
mov ecx, dword [ebp - 0xd4]
mov dl, byte [ecx]
mov byte [ebp - 0xfd], dl
movzx eax, byte [ebp - 0xfd]
cmp eax, 0x55
jne 0x47559e
mov ecx, dword [ebp - 0x19c]
and ecx, dword [ebp - 0x174]
mov edx, dword [ebp - 0x198]
and edx, dword [ebp - 0x170]
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x198], edx
jmp 0x4757a5
movzx eax, byte [ebp - 0xfd]
cmp eax, 0x56
jne 0x4755d3
mov ecx, dword [ebp - 0x19c]
or ecx, dword [ebp - 0x174]
mov edx, dword [ebp - 0x198]
or edx, dword [ebp - 0x170]
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x198], edx
jmp 0x4757a5
mov eax, dword [ebp - 0x174]
or eax, dword [ebp - 0x170]
je 0x4757a5
cmp dword [ebp - 0x170], 0
jg 0x475672
jl 0x4755fd
cmp dword [ebp - 0x174], 0
jae 0x475672
movzx ecx, byte [ebp - 0xfd]
mov edx, 0xaf
sub edx, ecx
mov byte [ebp - 0xfd], dl
cmp dword [ebp - 0x170], 0xffffffff
jl 0x475646
jg 0x475625
cmp dword [ebp - 0x174], 0xffffffc0
jbe 0x475646
mov eax, dword [ebp - 0x174]
neg eax
mov ecx, dword [ebp - 0x170]
adc ecx, 0
neg ecx
mov dword [ebp - 0x5a0], eax
mov dword [ebp - 0x59c], ecx
jmp 0x47565a
mov dword [ebp - 0x5a0], 0x40
mov dword [ebp - 0x59c], 0
mov edx, dword [ebp - 0x5a0]
mov dword [ebp - 0x174], edx
mov eax, dword [ebp - 0x59c]
mov dword [ebp - 0x170], eax
cmp dword [ebp - 0x170], 0
jl 0x4756d4
jg 0x475686
cmp dword [ebp - 0x174], 0x40
jb 0x4756d4
cmp dword [ebp - 0x198], 0
jg 0x4756b2
jl 0x47569a
cmp dword [ebp - 0x19c], 0
jae 0x4756b2
movzx ecx, byte [ebp - 0xfd]
cmp ecx, 0x57
je 0x4756b2
mov dword [ebp - 0x588], 0xffffffff
jmp 0x4756bc
mov dword [ebp - 0x588], 0
mov eax, dword [ebp - 0x588]
cdq
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x198], edx
jmp 0x4757a5
push 8
lea edx, [ebp - 0x19c]
push edx
lea eax, [ebp - 0x234]
push eax
call fcn.006434e0
add esp, 0xc
movzx ecx, byte [ebp - 0xfd]
cmp ecx, 0x57
jne 0x47571d
mov eax, dword [ebp - 0x234]
mov edx, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x174]
call fcn.00642190
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], edx
jmp 0x47578d
mov eax, dword [ebp - 0x234]
mov edx, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x174]
call fcn.006421e0
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], edx
cmp dword [ebp - 0x198], 0
jg 0x47578d
jl 0x475754
cmp dword [ebp - 0x19c], 0
jae 0x47578d
mov ecx, 0x40
sub ecx, dword [ebp - 0x174]
mov edx, 0
sbb edx, dword [ebp - 0x170]
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.00642190
or eax, dword [ebp - 0x234]
or edx, dword [ebp - 0x230]
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], edx
push 8
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x19c]
push ecx
call fcn.006434e0
add esp, 0xc
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x19c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x198]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0xe0]
movzx eax, word [edx + 8]
and eax, 0xffffbe00
or eax, 4
mov ecx, dword [ebp - 0xe0]
mov word [ecx + 8], ax
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 4], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.0047dc10
add esp, 4
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 8]
cdq
mov ecx, dword [ebp - 0xe4]
add eax, dword [ecx]
adc edx, dword [ecx + 4]
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 4], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
movzx edx, word [ecx + 8]
and edx, 4
jne 0x475896
movzx eax, byte [ebp - 0xe9]
push eax
push 0x43
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.0049cfa0
add esp, 0xc
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 8]
and eax, 4
jne 0x475896
mov ecx, dword [ebp - 0xd4]
cmp dword [ecx + 8], 0
jne 0x475891
mov dword [ebp - 0xd8], 0x14
jmp 0x47c615
jmp 0x473e03
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 8]
and eax, 0xffffbe00
or eax, 4
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 8], ax
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 4], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
movzx edx, word [ecx + 8]
and edx, 4
je 0x4758eb
mov eax, dword [ebp - 0xe4]
push eax
call fcn.0047dd70
add esp, 4
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 4], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 8]
and ecx, 0x4000
je 0x47592f
mov edx, dword [ebp - 0xe4]
push edx
call fcn.0047fb80
add esp, 4
mov dword [ebp - 0x58c], eax
jmp 0x475939
mov dword [ebp - 0x58c], 0
mov eax, dword [ebp - 0x58c]
mov dword [ebp - 0xd8], eax
movzx ecx, byte [ebp - 0xe9]
push ecx
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 8]
push eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.0047de40
add esp, 0xc
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 4], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 0xc], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xe4]
mov cx, word [eax + 8]
mov word [ebp - 0x130], cx
mov edx, dword [ebp - 0xf4]
mov ax, word [edx + 8]
mov word [ebp - 0x118], ax
movzx ecx, word [ebp - 0x130]
movzx edx, word [ebp - 0x118]
or ecx, edx
and ecx, 1
je 0x475a86
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax + 3]
and ecx, 0x80
je 0x475a24
movzx edx, word [ebp - 0x130]
and edx, 1
je 0x475a18
movzx eax, word [ebp - 0x118]
and eax, 1
je 0x475a18
movzx ecx, word [ebp - 0x118]
and ecx, 0x100
jne 0x475a18
mov dword [ebp - 0x11c], 0
jmp 0x475a22
mov dword [ebp - 0x11c], 1
jmp 0x475a81
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 3]
and eax, 0x20
je 0x475a68
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 8], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0xe0]
movzx ecx, word [eax + 8]
and ecx, 0xffffbe00
or ecx, 1
mov edx, dword [ebp - 0xe0]
mov word [edx + 8], cx
jmp 0x475a7c
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax + 3]
and ecx, 0x10
je 0x475a7c
jmp 0x473e03
jmp case.0x473d07.61
jmp 0x475c5c
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 3]
and eax, 0x47
mov byte [ebp - 0x152], al
movsx ecx, byte [ebp - 0x152]
cmp ecx, 0x43
jl 0x475af0
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 8]
and eax, 0xe
cmp eax, 2
jne 0x475ac8
push 0
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.0049cef0
add esp, 8
mov edx, dword [ebp - 0xf4]
movzx eax, word [edx + 8]
and eax, 0xe
cmp eax, 2
jne 0x475aeb
push 0
mov ecx, dword [ebp - 0xf4]
push ecx
call fcn.0049cef0
add esp, 8
jmp 0x475bba
movsx edx, byte [ebp - 0x152]
cmp edx, 0x42
jne 0x475bba
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 8]
and ecx, 2
jne 0x475b5d
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 8]
and eax, 0xc
je 0x475b5d
push 1
movzx ecx, byte [ebp - 0xe9]
push ecx
mov edx, dword [ebp - 0xe4]
push edx
call fcn.0047da90
add esp, 0xc
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 8]
and ecx, 0xfffffe00
movzx edx, word [ebp - 0x130]
and edx, 0x1ff
or ecx, edx
mov word [ebp - 0x130], cx
mov eax, dword [ebp - 0xf4]
movzx ecx, word [eax + 8]
and ecx, 2
jne 0x475bba
mov edx, dword [ebp - 0xf4]
movzx eax, word [edx + 8]
and eax, 0xc
je 0x475bba
push 1
movzx ecx, byte [ebp - 0xe9]
push ecx
mov edx, dword [ebp - 0xf4]
push edx
call fcn.0047da90
add esp, 0xc
mov eax, dword [ebp - 0xf4]
movzx ecx, word [eax + 8]
and ecx, 0xfffffe00
movzx edx, word [ebp - 0x118]
and edx, 0x1ff
or ecx, edx
mov word [ebp - 0x118], cx
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 8]
and ecx, 0x4000
je 0x475bee
mov edx, dword [ebp - 0xe4]
push edx
call fcn.0047fb80
add esp, 4
movzx eax, word [ebp - 0x130]
and eax, 0xffffbfff
mov word [ebp - 0x130], ax
mov ecx, dword [ebp - 0xf4]
movzx edx, word [ecx + 8]
and edx, 0x4000
je 0x475c23
mov eax, dword [ebp - 0xf4]
push eax
call fcn.0047fb80
add esp, 4
movzx ecx, word [ebp - 0x118]
and ecx, 0xffffbfff
mov word [ebp - 0x118], cx
mov edx, dword [ebp - 0xdc]
movzx eax, byte [edx + 0x41]
test eax, eax
je 0x475c36
jmp 0x47c5eb
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0xe4]
push eax
mov ecx, dword [ebp - 0xf4]
push ecx
call fcn.0044a720
add esp, 0xc
mov dword [ebp - 0x11c], eax
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx]
mov dword [ebp - 0x2dc], eax
mov ecx, dword [ebp - 0x2dc]
sub ecx, 0x4e
mov dword [ebp - 0x2dc], ecx
cmp dword [ebp - 0x2dc], 4
ja case.default.0x475c8d
mov edx, dword [ebp - 0x2dc]
jmp dword [edx*4 + 0x47c944]
cmp dword [ebp - 0x11c], 0
jne 0x475ca9
mov dword [ebp - 0x590], 1
jmp 0x475cb3
mov dword [ebp - 0x590], 0
mov eax, dword [ebp - 0x590]
mov dword [ebp - 0x11c], eax
jmp 0x475da9
cmp dword [ebp - 0x11c], 0
je 0x475cd9
mov dword [ebp - 0x594], 1
jmp 0x475ce3
mov dword [ebp - 0x594], 0
mov ecx, dword [ebp - 0x594]
mov dword [ebp - 0x11c], ecx
jmp 0x475da9
cmp dword [ebp - 0x11c], 0
jge 0x475d09
mov dword [ebp - 0x598], 1
jmp 0x475d13
mov dword [ebp - 0x598], 0
mov edx, dword [ebp - 0x598]
mov dword [ebp - 0x11c], edx
jmp 0x475da9
cmp dword [ebp - 0x11c], 0
jg 0x475d39
mov dword [ebp - 0x5bc], 1
jmp 0x475d43
mov dword [ebp - 0x5bc], 0
mov eax, dword [ebp - 0x5bc]
mov dword [ebp - 0x11c], eax
jmp 0x475da9
cmp dword [ebp - 0x11c], 0
jle 0x475d66
mov dword [ebp - 0x3d8], 1
jmp 0x475d70
mov dword [ebp - 0x3d8], 0
mov ecx, dword [ebp - 0x3d8]
mov dword [ebp - 0x11c], ecx
jmp 0x475da9
cmp dword [ebp - 0x11c], 0
jl 0x475d93
mov dword [ebp - 0x3dc], 1
jmp 0x475d9d
mov dword [ebp - 0x3dc], 0
mov edx, dword [ebp - 0x3dc]
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp - 0xe4]
mov cx, word [ebp - 0x130]
mov word [eax + 8], cx
mov edx, dword [ebp - 0xf4]
mov ax, word [ebp - 0x118]
mov word [edx + 8], ax
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx + 3]
and edx, 0x20
je 0x475e20
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 8], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0xe0]
movzx eax, word [edx + 8]
and eax, 0xffffbe00
or eax, 4
mov ecx, dword [ebp - 0xe0]
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x11c]
cdq
mov ecx, dword [ebp - 0xe0]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x475e2e
cmp dword [ebp - 0x11c], 0
je 0x475e2e
jmp 0x473e03
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x27c], eax
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx + 3]
and edx, 1
jne 0x475e60
mov dword [ebp - 0x27c], 0
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x664], ecx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x3e4], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x670], edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x66c], ecx
mov dword [ebp - 0x1c4], 0
jmp 0x475eb7
mov edx, dword [ebp - 0x1c4]
add edx, 1
mov dword [ebp - 0x1c4], edx
mov eax, dword [ebp - 0x1c4]
cmp eax, dword [ebp - 0x664]
jge 0x475f98
cmp dword [ebp - 0x27c], 0
je 0x475ee9
mov ecx, dword [ebp - 0x1c4]
mov edx, dword [ebp - 0x27c]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x3e0], eax
jmp 0x475ef5
mov ecx, dword [ebp - 0x1c4]
mov dword [ebp - 0x3e0], ecx
mov edx, dword [ebp - 0x3e0]
mov dword [ebp - 0x3e8], edx
mov eax, dword [ebp - 0x1c4]
mov ecx, dword [ebp - 0x3e4]
mov edx, dword [ecx + eax*4 + 0x14]
mov dword [ebp - 0x668], edx
mov eax, dword [ebp - 0x3e4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x1c4]
movzx eax, byte [ecx + edx]
mov dword [ebp - 0x674], eax
mov ecx, dword [ebp - 0x668]
push ecx
mov edx, dword [ebp - 0x66c]
add edx, dword [ebp - 0x3e8]
imul eax, edx, 0x28
add eax, dword [ebp - 0xe8]
push eax
mov ecx, dword [ebp - 0x670]
add ecx, dword [ebp - 0x3e8]
imul edx, ecx, 0x28
add edx, dword [ebp - 0xe8]
push edx
call fcn.0044a720
add esp, 0xc
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0
je 0x475f93
cmp dword [ebp - 0x674], 0
je 0x475f91
mov eax, dword [ebp - 0x22c]
neg eax
mov dword [ebp - 0x22c], eax
jmp 0x475f98
jmp 0x475ea8
mov dword [ebp - 0x27c], 0
jmp case.0x473d07.61
cmp dword [ebp - 0x22c], 0
jge 0x475fcd
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
sub edx, 1
imul eax, edx, 0x14
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xd4], eax
jmp 0x47600e
cmp dword [ebp - 0x22c], 0
jne 0x475ff3
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 8]
sub edx, 1
imul eax, edx, 0x14
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xd4], eax
jmp 0x47600e
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0xc]
sub edx, 1
imul eax, edx, 0x14
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xd4], eax
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 4], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 8]
and ecx, 1
je 0x476044
mov dword [ebp - 0x1c8], 2
jmp 0x47608f
mov edx, dword [ebp - 0xe4]
push edx
call fcn.0047db80
add esp, 4
mov dword [ebp - 0x6a0], eax
mov dword [ebp - 0x69c], edx
mov eax, dword [ebp - 0x6a0]
or eax, dword [ebp - 0x69c]
je 0x476079
mov dword [ebp - 0x3ec], 1
jmp 0x476083
mov dword [ebp - 0x3ec], 0
mov ecx, dword [ebp - 0x3ec]
mov dword [ebp - 0x1c8], ecx
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 8], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xf8], eax
mov ecx, dword [ebp - 0xf8]
movzx edx, word [ecx + 8]
and edx, 1
je 0x4760c0
mov dword [ebp - 0x3a4], 2
jmp 0x47610b
mov eax, dword [ebp - 0xf8]
push eax
call fcn.0047db80
add esp, 4
mov dword [ebp - 0x6a8], eax
mov dword [ebp - 0x6a4], edx
mov ecx, dword [ebp - 0x6a8]
or ecx, dword [ebp - 0x6a4]
je 0x4760f5
mov dword [ebp - 0x3f0], 1
jmp 0x4760ff
mov dword [ebp - 0x3f0], 0
mov edx, dword [ebp - 0x3f0]
mov dword [ebp - 0x3a4], edx
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax]
cmp ecx, 0x48
jne 0x476136
imul edx, dword [ebp - 0x1c8], 3
mov eax, dword [ebp - 0x3a4]
movzx ecx, byte [edx + eax + 0x684058]
mov dword [ebp - 0x1c8], ecx
jmp 0x476151
imul edx, dword [ebp - 0x1c8], 3
mov eax, dword [ebp - 0x3a4]
movzx ecx, byte [edx + eax + 0x684064]
mov dword [ebp - 0x1c8], ecx
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 0xc], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0x1c8], 2
jne 0x47618f
mov ecx, dword [ebp - 0xe0]
movzx edx, word [ecx + 8]
and edx, 0xffffbe00
or edx, 1
mov eax, dword [ebp - 0xe0]
mov word [eax + 8], dx
jmp 0x4761bd
mov eax, dword [ebp - 0x1c8]
cdq
mov ecx, dword [ebp - 0xe0]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xe0]
movzx eax, word [edx + 8]
and eax, 0xffffbe00
or eax, 4
mov ecx, dword [ebp - 0xe0]
mov word [ecx + 8], ax
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 4], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 8], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0xe0]
push eax
call fcn.0047d8a0
add esp, 4
mov ecx, dword [ebp - 0xe4]
movzx edx, word [ecx + 8]
and edx, 1
jne 0x47626c
mov eax, 4
mov ecx, dword [ebp - 0xe0]
mov word [ecx + 8], ax
mov edx, dword [ebp - 0xe4]
push edx
call fcn.0047db80
add esp, 4
mov dword [ebp - 0x6b0], eax
mov dword [ebp - 0x6ac], edx
mov eax, dword [ebp - 0x6b0]
or eax, dword [ebp - 0x6ac]
jne 0x476250
mov dword [ebp - 0x3f4], 1
jmp 0x47625a
mov dword [ebp - 0x3f4], 0
mov eax, dword [ebp - 0x3f4]
cdq
mov ecx, dword [ebp - 0xe0]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 4], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 8], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0xe0]
push eax
call fcn.0047d8a0
add esp, 4
mov ecx, dword [ebp - 0xe4]
movzx edx, word [ecx + 8]
and edx, 1
jne 0x4762e8
mov eax, 4
mov ecx, dword [ebp - 0xe0]
mov word [ecx + 8], ax
mov edx, dword [ebp - 0xe4]
push edx
call fcn.0047db80
add esp, 4
not eax
not edx
mov ecx, dword [ebp - 0xe0]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc8]
movzx eax, byte [edx + eax]
test eax, eax
je 0x47630e
jmp 0x473e03
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc8]
mov byte [ecx + edx], 1
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 4], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
movzx edx, word [ecx + 8]
and edx, 1
je 0x476362
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x2f4], ecx
jmp 0x4763e8
mov edx, dword [ebp - 0xe4]
push edx
call fcn.0047dc50
add esp, 4
fstp qword [ebp - 0x76c]
movsd xmm0, qword [ebp - 0x76c]
ucomisd xmm0, qword [0x682ec8]
lahf
test ah, 0x44
jnp 0x476399
mov dword [ebp - 0x3f8], 1
jmp 0x4763a3
mov dword [ebp - 0x3f8], 0
mov eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x2f4], eax
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx]
cmp edx, 0x2e
jne 0x4763e8
cmp dword [ebp - 0x2f4], 0
jne 0x4763d2
mov dword [ebp - 0x3fc], 1
jmp 0x4763dc
mov dword [ebp - 0x3fc], 0
mov eax, dword [ebp - 0x3fc]
mov dword [ebp - 0x2f4], eax
cmp dword [ebp - 0x2f4], 0
je 0x4763f6
jmp 0x473e03
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 4], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 8]
and ecx, 1
je 0x476425
jmp 0x473e03
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 4], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
movzx edx, word [ecx + 8]
and edx, 1
jne 0x476454
jmp 0x473e03
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x1d4], ecx
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 0xc], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0x18c], ecx
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx]
mov dword [ebp - 0x1d8], eax
mov ecx, dword [ebp - 0xf0]
push ecx
call fcn.00473280
add esp, 4
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x4764d6
jmp 0x47c615
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x3c]
cmp ecx, dword [eax + 0x48]
je 0x47674b
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx + 0x19]
test eax, eax
je 0x476572
cmp dword [ebp - 0x1d8], 0
jne 0x476559
mov ecx, dword [ebp - 0xf0]
imul edx, dword [ecx + 0x10], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0x400], edx
mov eax, dword [ebp - 0x400]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x1cc], ecx
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x1cc]
mov dword [edx + 0x44], eax
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x1cc]
mov dword [ecx + 0x40], edx
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x400]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x4c], edx
jmp 0x47656d
mov eax, dword [ebp - 0x108]
push eax
call fcn.0047d8a0
add esp, 4
jmp 0x476c5d
jmp 0x476657
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx + 0x1c]
shr edx, 2
and edx, 1
jne 0x4765c9
lea eax, [ebp - 0x710]
push eax
mov ecx, dword [ebp - 0x1d8]
push ecx
call fcn.00448330
add esp, 8
lea edx, [ebp - 0x1cc]
push edx
mov eax, dword [ebp - 0x1d8]
push eax
call fcn.00448380
add esp, 8
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + 0x4c], eax
mov edx, dword [ebp - 0x710]
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0x40], edx
jmp 0x476601
mov ecx, dword [ebp - 0xf0]
add ecx, 0x40
push ecx
mov edx, dword [ebp - 0x1d8]
push edx
call fcn.004483c0
add esp, 8
lea eax, [ebp - 0x1cc]
push eax
mov ecx, dword [ebp - 0x1d8]
push ecx
call fcn.004483a0
add esp, 8
mov edx, dword [ebp - 0xf0]
mov dword [edx + 0x4c], eax
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x40]
cmp ecx, dword [ebp - 0x1cc]
ja 0x476626
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x40]
mov dword [edx + 0x44], ecx
jmp 0x476635
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x1cc]
mov dword [edx + 0x44], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [eax + 0x40]
cmp eax, dword [ecx + edx + 0x58]
jbe 0x476657
jmp 0x47c5cb
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x48]
mov dword [ecx + 0x3c], eax
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx + 0x4c]
movzx eax, byte [edx]
cmp eax, 0x80
jge 0x476697
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx + 0x4c]
movzx eax, byte [edx]
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x404], 1
jmp 0x4766b9
lea ecx, [ebp - 0x14c]
push ecx
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0x4c]
push eax
call fcn.0046b000
add esp, 8
movzx ecx, al
mov dword [ebp - 0x404], ecx
movzx edx, byte [ebp - 0x404]
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0x48], edx
xor ecx, ecx
mov edx, dword [ebp - 0xf0]
mov word [edx + 0x16], cx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x14c]
mov dword [edx + ecx], eax
cmp dword [ebp - 0x14c], 0x18003
ja 0x476709
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x14c]
cmp edx, dword [ecx + 0x40]
jbe 0x476721
push 0x1242b
call fcn.0044e900
add esp, 4
mov dword [ebp - 0xd8], eax
jmp 0x476d34
mov eax, dword [ebp - 0x1cc]
cmp eax, dword [ebp - 0x14c]
jae 0x476749
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + 0x4c], 0
mov edx, dword [ebp - 0xf0]
mov dword [edx + 0x44], 0
jmp 0x476761
mov eax, dword [ebp - 0xf0]
movzx ecx, word [eax + 0x16]
cmp ecx, dword [ebp - 0x1d4]
jg 0x476a88
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ecx + 0x48]
cmp ecx, dword [edx + eax]
jae 0x476a33
mov edx, dword [ebp - 0xf0]
cmp dword [edx + 0x4c], 0
jne 0x47681e
push 0x28
push 0
lea eax, [ebp - 0x7c8]
push eax
call fcn.00643fe0
add esp, 0xc
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx + 0x1c]
shr edx, 2
and edx, 1
jne 0x4767c1
mov dword [ebp - 0x408], 1
jmp 0x4767cb
mov dword [ebp - 0x408], 0
lea eax, [ebp - 0x7c8]
push eax
mov ecx, dword [ebp - 0x408]
push ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ecx + eax]
push edx
push 0
mov eax, dword [ebp - 0x1d8]
push eax
call fcn.0047df50
add esp, 0x14
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x476810
jmp 0x476d34
mov ecx, dword [ebp - 0x7b8]
mov dword [ebp - 0x200], ecx
jmp 0x47682d
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0x4c]
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0xf0]
movzx edx, word [ecx + 0x16]
mov dword [ebp - 0x1d0], edx
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x200]
add ecx, dword [eax + 0x48]
mov dword [ebp - 0x148], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x200]
add edx, dword [ecx + eax]
mov dword [ebp - 0x2f8], edx
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x148]
movzx eax, byte [edx + ecx]
cmp eax, 0x80
jge 0x4768c6
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0x148]
movzx ecx, byte [eax + edx]
mov dword [ebp - 0x15c], ecx
mov edx, dword [ebp - 0x148]
add edx, 1
mov dword [ebp - 0x148], edx
jmp 0x4768eb
lea eax, [ebp - 0x15c]
push eax
mov ecx, dword [ebp - 0x148]
push ecx
call fcn.0046b000
add esp, 8
movzx edx, al
add edx, dword [ebp - 0x148]
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x15c]
mov dword [ecx + eax*4 + 0x54], edx
mov eax, dword [ebp - 0x15c]
push eax
call fcn.00473300
add esp, 4
mov dword [ebp - 0x40c], eax
mov ecx, dword [ebp - 0x14c]
add ecx, dword [ebp - 0x40c]
mov dword [ebp - 0x14c], ecx
mov edx, dword [ebp - 0x14c]
cmp edx, dword [ebp - 0x40c]
jae 0x47694c
mov eax, 1
shl eax, 0
add eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x148], eax
jmp 0x476990
mov ecx, dword [ebp - 0x1d0]
add ecx, 1
mov dword [ebp - 0x1d0], ecx
mov edx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x14c]
mov dword [eax + edx*4], ecx
mov edx, dword [ebp - 0x1d0]
cmp edx, dword [ebp - 0x1d4]
jg 0x476990
mov eax, dword [ebp - 0x148]
cmp eax, dword [ebp - 0x2f8]
jb 0x476884
mov ecx, dword [ebp - 0xf0]
mov dx, word [ebp - 0x1d0]
mov word [ecx + 0x16], dx
mov eax, dword [ebp - 0x148]
sub eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + 0x48], eax
mov edx, dword [ebp - 0xf0]
cmp dword [edx + 0x4c], 0
jne 0x4769dd
lea eax, [ebp - 0x7c8]
push eax
call fcn.0047dff0
add esp, 4
mov ecx, 1
mov word [ebp - 0x7c0], cx
mov edx, dword [ebp - 0x148]
cmp edx, dword [ebp - 0x2f8]
jb 0x476a0a
mov eax, dword [ebp - 0x148]
cmp eax, dword [ebp - 0x2f8]
ja 0x476a1b
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x14c]
cmp edx, dword [ecx + 0x40]
jne 0x476a1b
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x14c]
cmp ecx, dword [eax + 0x40]
jbe 0x476a33
push 0x1247f
call fcn.0044e900
add esp, 4
mov dword [ebp - 0xd8], eax
jmp 0x476d34
mov edx, dword [ebp - 0xf0]
movzx eax, word [edx + 0x16]
cmp eax, dword [ebp - 0x1d4]
jg 0x476a88
mov ecx, dword [ebp - 0xd4]
movsx edx, byte [ecx + 1]
cmp edx, 0xfffffff8
jne 0x476a74
push 0x800
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x108]
push edx
call fcn.0047d480
add esp, 0xc
jmp 0x476a83
mov eax, dword [ebp - 0x108]
push eax
call fcn.0047d8a0
add esp, 4
jmp 0x476c5d
mov ecx, dword [ebp - 0x108]
movzx edx, word [ecx + 8]
and edx, 0x2460
je 0x476aa9
mov eax, dword [ebp - 0x108]
push eax
call fcn.0047d8a0
add esp, 4
mov ecx, dword [ebp - 0x1d4]
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + ecx*4 + 0x54]
mov dword [ebp - 0x15c], eax
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ecx + 0x44]
cmp ecx, dword [eax + edx*4 + 4]
jb 0x476b0e
mov edx, dword [ebp - 0x108]
push edx
mov eax, dword [ebp - 0x15c]
push eax
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x18c]
add edx, dword [ecx + eax*4]
push edx
call fcn.00473570
add esp, 0xc
jmp 0x476c4e
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 3]
and eax, 0xc0
je 0x476b44
cmp dword [ebp - 0x15c], 0xc
jb 0x476b33
mov ecx, dword [ebp - 0x15c]
and ecx, 1
je 0x476b62
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 3]
and eax, 0x80
jne 0x476b62
mov ecx, dword [ebp - 0x15c]
push ecx
call fcn.00473300
add esp, 4
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x1dc], 0
jne 0x476ba5
cmp dword [ebp - 0x15c], 0xd
ja 0x476b79
lea edx, [ebp - 0x710]
mov dword [ebp - 0x410], edx
jmp 0x476b83
mov dword [ebp - 0x410], 0
mov eax, dword [ebp - 0x108]
push eax
mov ecx, dword [ebp - 0x15c]
push ecx
mov edx, dword [ebp - 0x410]
push edx
call fcn.00473570
add esp, 0xc
jmp 0x476c4e
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x1c]
shr ecx, 2
and ecx, 1
jne 0x476bc2
mov dword [ebp - 0x414], 1
jmp 0x476bcc
mov dword [ebp - 0x414], 0
mov edx, dword [ebp - 0x108]
push edx
mov eax, dword [ebp - 0x414]
push eax
mov ecx, dword [ebp - 0x1dc]
push ecx
mov edx, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x18c]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [ebp - 0x1d8]
push edx
call fcn.0047df50
add esp, 0x14
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x476c14
jmp 0x476d34
mov eax, dword [ebp - 0x108]
push eax
mov ecx, dword [ebp - 0x15c]
push ecx
mov edx, dword [ebp - 0x108]
mov eax, dword [edx + 0x10]
push eax
call fcn.00473570
add esp, 0xc
mov ecx, dword [ebp - 0x108]
movzx edx, word [ecx + 8]
and edx, 0xffffefff
mov eax, dword [ebp - 0x108]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0x108]
mov dl, byte [ebp - 0xe9]
mov byte [ecx + 0xa], dl
mov eax, dword [ebp - 0x108]
movzx ecx, word [eax + 8]
and ecx, 0x1000
je 0x476d34
mov edx, dword [ebp - 0x108]
cmp dword [edx + 0x10], 0
je 0x476d34
mov eax, dword [ebp - 0x108]
movzx ecx, word [eax + 8]
and ecx, 0x12
mov word [ebp - 0x3c0], cx
mov edx, dword [ebp - 0x108]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x108]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x1dc], edx
mov eax, dword [ebp - 0x1dc]
add eax, 2
push eax
mov ecx, dword [ebp - 0x108]
push ecx
call fcn.0047e280
add esp, 8
test eax, eax
je 0x476cd7
jmp 0x47c5eb
mov edx, dword [ebp - 0x1dc]
push edx
mov eax, dword [ebp - 0x200]
push eax
mov ecx, dword [ebp - 0x108]
mov edx, dword [ecx + 0x10]
push edx
call fcn.006434e0
add esp, 0xc
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x1dc]
mov byte [ecx + edx], 0
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x1dc]
mov byte [ecx + edx + 1], 0
movzx eax, word [ebp - 0x3c0]
or eax, 0x200
mov ecx, dword [ebp - 0x108]
mov word [ecx + 8], ax
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x3a8], eax
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 4], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0x3a8]
mov cl, byte [eax]
mov byte [ebp - 0x153], cl
movsx edx, byte [ebp - 0x153]
mov dword [ebp - 0x678], edx
mov eax, dword [ebp - 0x3a8]
add eax, 1
mov dword [ebp - 0x3a8], eax
cmp dword [ebp - 0x678], 0
je 0x476dc1
movzx ecx, byte [ebp - 0xe9]
push ecx
movzx edx, byte [ebp - 0x153]
push edx
mov eax, dword [ebp - 0xe4]
push eax
call fcn.0049cfa0
add esp, 0xc
mov ecx, dword [ebp - 0xe4]
add ecx, 0x28
mov dword [ebp - 0xe4], ecx
jmp 0x476d5e
jmp case.0x473d07.61
xorps xmm0, xmm0
movlpd qword [ebp - 0x320], xmm0
mov dword [ebp - 0x120], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x308], xmm0
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
mov dword [ebp - 0x3b0], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x280], edx
imul eax, dword [ebp - 0x3b0], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0x28c], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x3b0], edx
mov eax, dword [ebp - 0x3b0]
sub eax, 1
imul ecx, eax, 0x28
add ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x428], ecx
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x57]
mov dword [ebp - 0x680], eax
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 0xc], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], edx
cmp dword [ebp - 0x280], 0
je 0x476ee3
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x280]
mov dl, byte [ecx]
mov byte [ebp - 0x1f6], dl
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x67c], eax
movzx ecx, byte [ebp - 0xe9]
push ecx
movzx edx, byte [ebp - 0x1f6]
push edx
mov eax, dword [ebp - 0x67c]
push eax
call fcn.0049cfa0
add esp, 0xc
mov ecx, dword [ebp - 0x10c]
add ecx, 0x28
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp - 0x280]
add edx, 1
mov dword [ebp - 0x280], edx
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x280]
movsx eax, byte [edx + ecx]
test eax, eax
jne 0x476e76
mov ecx, dword [ebp - 0x428]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp - 0x680]
push edx
mov eax, dword [ebp - 0x10c]
push eax
call fcn.00473330
add esp, 8
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x190]
mov dword [ecx + 0x1c], edx
mov eax, dword [ebp - 0x190]
push eax
call fcn.00473300
add esp, 4
mov dword [ebp - 0x3b4], eax
mov ecx, dword [ebp - 0x10c]
movzx edx, word [ecx + 8]
and edx, 0x4000
je 0x476f9e
mov eax, dword [ebp - 0x320]
or eax, dword [ebp - 0x31c]
je 0x476f69
mov ecx, dword [ebp - 0x10c]
push ecx
call fcn.0047fb80
add esp, 4
test eax, eax
je 0x476f67
jmp 0x47c5eb
jmp 0x476f9e
mov edx, dword [ebp - 0x10c]
mov eax, dword [edx]
cdq
add eax, dword [ebp - 0x308]
adc edx, dword [ebp - 0x304]
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], edx
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x3b4]
sub ecx, dword [eax]
mov dword [ebp - 0x3b4], ecx
mov eax, dword [ebp - 0x3b4]
cdq
add eax, dword [ebp - 0x320]
adc edx, dword [ebp - 0x31c]
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x31c], edx
cmp dword [ebp - 0x190], 0x7f
ja 0x476fd2
mov dword [ebp - 0x418], 1
jmp 0x476fea
mov edx, dword [ebp - 0x190]
xor eax, eax
push eax
push edx
call fcn.0046b100
add esp, 8
mov dword [ebp - 0x418], eax
mov ecx, dword [ebp - 0x120]
add ecx, dword [ebp - 0x418]
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 0x10c]
sub edx, 0x28
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x10c]
cmp eax, dword [ebp - 0x28c]
jae 0x476eef
cmp dword [ebp - 0x120], 0x7e
jg 0x477037
mov ecx, dword [ebp - 0x120]
add ecx, 1
mov dword [ebp - 0x120], ecx
jmp 0x477088
mov eax, dword [ebp - 0x120]
cdq
push edx
push eax
call fcn.0046b100
add esp, 8
mov dword [ebp - 0x41c], eax
mov edx, dword [ebp - 0x120]
add edx, dword [ebp - 0x41c]
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x120]
cdq
push edx
push eax
call fcn.0046b100
add esp, 8
cmp dword [ebp - 0x41c], eax
jge 0x477088
mov eax, dword [ebp - 0x120]
add eax, 1
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x120]
cdq
add eax, dword [ebp - 0x320]
adc edx, dword [ebp - 0x31c]
mov dword [ebp - 0x5a8], eax
mov dword [ebp - 0x5a4], edx
mov ecx, dword [ebp - 0x5a8]
add ecx, dword [ebp - 0x308]
mov esi, dword [ebp - 0x5a4]
adc esi, dword [ebp - 0x304]
mov edx, 4
imul eax, edx, 0
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + eax + 0x58]
cdq
mov dword [ebp - 0x6b8], ecx
mov dword [ebp - 0x6b4], esi
mov dword [ebp - 0x6c0], eax
mov dword [ebp - 0x6bc], edx
mov eax, dword [ebp - 0x6b4]
cmp eax, dword [ebp - 0x6bc]
jl 0x47710d
jg 0x477108
mov ecx, dword [ebp - 0x6b8]
cmp ecx, dword [ebp - 0x6c0]
jbe 0x47710d
jmp 0x47c5cb
mov edx, dword [ebp - 0x5a8]
push edx
mov eax, dword [ebp - 0xe0]
push eax
call fcn.0047e280
add esp, 8
test eax, eax
je 0x47712c
jmp 0x47c5eb
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x284], edx
cmp dword [ebp - 0x120], 0x80
jae 0x477161
mov eax, dword [ebp - 0x284]
mov cl, byte [ebp - 0x120]
mov byte [eax], cl
mov dword [ebp - 0x420], 1
jmp 0x47717f
mov eax, dword [ebp - 0x120]
cdq
push edx
push eax
mov edx, dword [ebp - 0x284]
push edx
call fcn.0046ab90
add esp, 0xc
mov dword [ebp - 0x420], eax
movzx eax, byte [ebp - 0x420]
mov dword [ebp - 0x290], eax
mov ecx, dword [ebp - 0x120]
mov dword [ebp - 0x3b8], ecx
mov edx, dword [ebp - 0x28c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x190], ecx
cmp dword [ebp - 0x190], 0x80
jae 0x4771df
mov edx, dword [ebp - 0x284]
add edx, dword [ebp - 0x290]
mov al, byte [ebp - 0x190]
mov byte [edx], al
mov dword [ebp - 0x424], 1
jmp 0x477204
mov ecx, dword [ebp - 0x190]
xor edx, edx
push edx
push ecx
mov eax, dword [ebp - 0x284]
add eax, dword [ebp - 0x290]
push eax
call fcn.0046ab90
add esp, 0xc
mov dword [ebp - 0x424], eax
movzx ecx, byte [ebp - 0x424]
add ecx, dword [ebp - 0x290]
mov dword [ebp - 0x290], ecx
mov edx, dword [ebp - 0x190]
push edx
mov eax, dword [ebp - 0x10c]
push eax
mov ecx, dword [ebp - 0x284]
add ecx, dword [ebp - 0x3b8]
push ecx
call fcn.004734b0
add esp, 0xc
add eax, dword [ebp - 0x3b8]
mov dword [ebp - 0x3b8], eax
mov edx, dword [ebp - 0x10c]
add edx, 0x28
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x10c]
cmp eax, dword [ebp - 0x428]
jbe 0x4771a4
mov ecx, dword [ebp - 0x5a8]
mov edx, dword [ebp - 0xe0]
mov dword [edx + 0xc], ecx
mov eax, 0x10
mov ecx, dword [ebp - 0xe0]
mov word [ecx + 8], ax
mov edx, dword [ebp - 0x308]
or edx, dword [ebp - 0x304]
je 0x4772ba
mov eax, dword [ebp - 0x308]
mov ecx, dword [ebp - 0xe0]
mov dword [ecx], eax
mov edx, dword [ebp - 0xe0]
movzx eax, word [edx + 8]
or eax, 0x4000
mov ecx, dword [ebp - 0xe0]
mov word [ecx + 8], ax
mov edx, dword [ebp - 0xe0]
mov byte [edx + 0xa], 1
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x38]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ecx]
mov dword [ebp - 0x684], edx
xorps xmm0, xmm0
movlpd qword [ebp - 0x6c8], xmm0
lea eax, [ebp - 0x6c8]
push eax
mov ecx, dword [ebp - 0x684]
push ecx
call fcn.00448a80
add esp, 8
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0xd4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0049d0f0
add esp, 8
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0x6c8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x6c4]
mov dword [ecx + 4], eax
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x1b4], edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x294], ecx
cmp dword [ebp - 0x1b4], 0
jne 0x4774fa
mov edx, dword [ebp - 0xdc]
cmp dword [edx + 0x9c], 0
jle 0x477399
push str.cannot_open_savepoint___SQL_statements_in_progress
mov eax, dword [ebp + 8]
push eax
call fcn.00473190
add esp, 8
mov dword [ebp - 0xd8], 5
jmp 0x4774f5
mov ecx, dword [ebp - 0x294]
push ecx
call fcn.0044e9c0
add esp, 4
mov dword [ebp - 0x42c], eax
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x1f4]
mov ecx, dword [ebp - 0xdc]
add eax, dword [ecx + 0x1f0]
push eax
push 0
mov edx, dword [ebp - 0xdc]
push edx
call fcn.00470790
add esp, 0xc
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x4773ec
jmp 0x47c615
mov eax, dword [ebp - 0x42c]
add eax, 0x21
xor ecx, ecx
push ecx
push eax
mov edx, dword [ebp - 0xdc]
push edx
call fcn.0044ec90
add esp, 0xc
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 0
je 0x4774f5
mov eax, 0x20
shl eax, 0
add eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1b0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x42c]
add edx, 1
push edx
mov eax, dword [ebp - 0x294]
push eax
mov ecx, dword [ebp - 0x1b0]
mov edx, dword [ecx]
push edx
call fcn.006434e0
add esp, 0xc
mov eax, dword [ebp - 0xdc]
movzx ecx, byte [eax + 0x3f]
test ecx, ecx
je 0x477477
mov edx, dword [ebp - 0xdc]
mov byte [edx + 0x3f], 0
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x46], 1
jmp 0x477492
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x1f0]
add edx, 1
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x1f0], edx
mov ecx, dword [ebp - 0x1b0]
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x1e8]
mov dword [ecx + 0x18], eax
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x1b0]
mov dword [ecx + 0x1e8], edx
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x1f8]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 0x1fc]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x200]
mov dword [edx + 0x10], ecx
mov eax, dword [eax + 0x204]
mov dword [edx + 0x14], eax
jmp 0x477994
mov dword [ebp - 0x204], 0
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x1e8]
mov dword [ebp - 0x160], edx
jmp 0x477527
mov eax, dword [ebp - 0x160]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x160], ecx
cmp dword [ebp - 0x160], 0
je 0x47755d
mov edx, dword [ebp - 0x294]
push edx
mov eax, dword [ebp - 0x160]
mov ecx, dword [eax]
push ecx
call fcn.00444df0
add esp, 8
test eax, eax
je 0x47755d
mov edx, dword [ebp - 0x204]
add edx, 1
mov dword [ebp - 0x204], edx
jmp 0x477518
cmp dword [ebp - 0x160], 0
jne 0x47758d
mov eax, dword [ebp - 0x294]
push eax
push str.no_such_savepoint:__s
mov ecx, dword [ebp + 8]
push ecx
call fcn.00473190
add esp, 0xc
mov dword [ebp - 0xd8], 1
jmp 0x477994
mov edx, dword [ebp - 0xdc]
cmp dword [edx + 0x9c], 0
jle 0x4775c5
cmp dword [ebp - 0x1b4], 1
jne 0x4775c5
push str.cannot_release_savepoint___SQL_statements_in_progress
mov eax, dword [ebp + 8]
push eax
call fcn.00473190
add esp, 8
mov dword [ebp - 0xd8], 5
jmp 0x477994
mov ecx, dword [ebp - 0x160]
cmp dword [ecx + 0x18], 0
jne 0x4775eb
mov edx, dword [ebp - 0xdc]
movzx eax, byte [edx + 0x46]
test eax, eax
je 0x4775eb
mov dword [ebp - 0x430], 1
jmp 0x4775f5
mov dword [ebp - 0x430], 0
mov ecx, dword [ebp - 0x430]
mov dword [ebp - 0x374], ecx
cmp dword [ebp - 0x374], 0
je 0x4776b2
cmp dword [ebp - 0x1b4], 1
jne 0x4776b2
push 1
mov edx, dword [ebp + 8]
push edx
call fcn.0047f130
add esp, 8
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x47763d
jmp 0x47c578
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x3f], 1
mov ecx, dword [ebp + 8]
push ecx
call fcn.0047ce50
add esp, 4
cmp eax, 5
jne 0x477697
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0x104]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp + 8]
mov dword [edx + 0x4c], eax
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x3f], 0
mov dword [ebp - 0xd8], 5
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xd8]
mov dword [ecx + 0x50], edx
jmp 0x47c578
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x46], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x50]
mov dword [ebp - 0xd8], edx
jmp 0x47784d
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x1f0]
sub ecx, dword [ebp - 0x204]
sub ecx, 1
mov dword [ebp - 0x204], ecx
cmp dword [ebp - 0x1b4], 2
jne 0x477798
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x18]
and eax, 2
je 0x4776f4
mov dword [ebp - 0x434], 1
jmp 0x4776fe
mov dword [ebp - 0x434], 0
mov ecx, dword [ebp - 0x434]
mov dword [ebp - 0x3bc], ecx
mov dword [ebp - 0x194], 0
jmp 0x477725
mov edx, dword [ebp - 0x194]
add edx, 1
mov dword [ebp - 0x194], edx
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x194]
cmp ecx, dword [eax + 0x14]
jge 0x477796
cmp dword [ebp - 0x3bc], 0
jne 0x47774b
mov dword [ebp - 0x438], 1
jmp 0x477755
mov dword [ebp - 0x438], 0
mov edx, dword [ebp - 0x438]
push edx
push 0x204
mov eax, dword [ebp - 0x194]
shl eax, 4
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + eax + 4]
push eax
call fcn.00446fc0
add esp, 0xc
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x477794
jmp 0x47c615
jmp 0x477716
jmp 0x4777a2
mov dword [ebp - 0x3bc], 0
mov dword [ebp - 0x194], 0
jmp 0x4777bd
mov ecx, dword [ebp - 0x194]
add ecx, 1
mov dword [ebp - 0x194], ecx
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x194]
cmp eax, dword [edx + 0x14]
jge 0x477811
mov ecx, dword [ebp - 0x204]
push ecx
mov edx, dword [ebp - 0x1b4]
push edx
mov eax, dword [ebp - 0x194]
shl eax, 4
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + eax + 4]
push eax
call fcn.00446b70
add esp, 0xc
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x47780f
jmp 0x47c615
jmp 0x4777ae
cmp dword [ebp - 0x3bc], 0
je 0x47784d
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.0046d880
add esp, 4
mov edx, dword [ebp - 0xdc]
push edx
call fcn.00455ea0
add esp, 4
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x18]
or ecx, 2
mov edx, dword [ebp - 0xdc]
mov dword [edx + 0x18], ecx
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x1e8]
cmp ecx, dword [ebp - 0x160]
je 0x4778bb
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x1e8]
mov dword [ebp - 0x43c], eax
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x43c]
mov eax, dword [edx + 0x18]
mov dword [ecx + 0x1e8], eax
mov ecx, dword [ebp - 0x43c]
push ecx
mov edx, dword [ebp - 0xdc]
push edx
call fcn.0044f1a0
add esp, 8
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x1f0]
sub ecx, 1
mov edx, dword [ebp - 0xdc]
mov dword [edx + 0x1f0], ecx
jmp 0x47784d
cmp dword [ebp - 0x1b4], 1
jne 0x477915
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x160]
mov edx, dword [ecx + 0x18]
mov dword [eax + 0x1e8], edx
mov eax, dword [ebp - 0x160]
push eax
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.0044f1a0
add esp, 8
cmp dword [ebp - 0x374], 0
jne 0x477913
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x1f0]
sub eax, 1
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x1f0], eax
jmp 0x477951
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x160]
mov ecx, dword [eax + 8]
mov dword [edx + 0x1f8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0x1fc], eax
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x160]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x200], eax
mov edx, dword [edx + 0x14]
mov dword [ecx + 0x204], edx
cmp dword [ebp - 0x374], 0
je 0x477963
cmp dword [ebp - 0x1b4], 2
jne 0x477994
mov eax, dword [ebp - 0x204]
push eax
mov ecx, dword [ebp - 0x1b4]
push ecx
mov edx, dword [ebp - 0xdc]
push edx
call fcn.00470790
add esp, 0xc
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x477994
jmp 0x47c615
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x288], ecx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 8]
mov dword [ebp - 0x3c4], eax
cmp dword [ebp - 0x288], 0
je 0x4779da
mov ecx, dword [ebp - 0xdc]
movzx edx, byte [ecx + 0x3f]
test edx, edx
jne 0x4779da
mov dword [ebp - 0x440], 1
jmp 0x4779e4
mov dword [ebp - 0x440], 0
mov eax, dword [ebp - 0x440]
mov dword [ebp - 0x688], eax
cmp dword [ebp - 0x688], 0
je 0x477a31
cmp dword [ebp - 0x3c4], 0
jne 0x477a31
mov ecx, dword [ebp - 0xdc]
cmp dword [ecx + 0x9c], 0
jle 0x477a31
push str.cannot_commit_transaction___SQL_statements_in_progress
mov edx, dword [ebp + 8]
push edx
call fcn.00473190
add esp, 8
mov dword [ebp - 0xd8], 5
jmp 0x477bae
mov eax, dword [ebp - 0xdc]
movzx ecx, byte [eax + 0x3f]
cmp dword [ebp - 0x288], ecx
je 0x477b32
cmp dword [ebp - 0x3c4], 0
je 0x477a70
push 0x204
mov edx, dword [ebp - 0xdc]
push edx
call fcn.00464be0
add esp, 8
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x3f], 1
jmp 0x477aa3
push 1
mov ecx, dword [ebp + 8]
push ecx
call fcn.0047f130
add esp, 8
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x477a94
jmp 0x47c578
mov edx, dword [ebp - 0xdc]
mov al, byte [ebp - 0x288]
mov byte [edx + 0x3f], al
mov ecx, dword [ebp + 8]
push ecx
call fcn.0047ce50
add esp, 4
cmp eax, 5
jne 0x477afd
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0x104]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp + 8]
mov dword [edx + 0x4c], eax
mov eax, 1
sub eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0xdc]
mov byte [ecx + 0x3f], al
mov dword [ebp - 0xd8], 5
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xd8]
mov dword [edx + 0x50], eax
jmp 0x47c578
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.004650a0
add esp, 4
mov edx, dword [ebp + 8]
cmp dword [edx + 0x50], 0
jne 0x477b21
mov dword [ebp - 0xd8], 0x65
jmp 0x477b2b
mov dword [ebp - 0xd8], 1
jmp 0x47c578
cmp dword [ebp - 0x288], 0
jne 0x477b47
mov dword [ebp - 0x444], 1
jmp 0x477b51
mov dword [ebp - 0x444], 0
cmp dword [ebp - 0x444], 0
je 0x477b66
mov dword [ebp - 0x44c], str.cannot_start_a_transaction_within_a_transaction
jmp 0x477b91
cmp dword [ebp - 0x3c4], 0
je 0x477b7b
mov dword [ebp - 0x448], str.cannot_rollback___no_transaction_is_active
jmp 0x477b85
mov dword [ebp - 0x448], str.cannot_commit___no_transaction_is_active
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0x44c], eax
mov ecx, dword [ebp - 0x44c]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00473190
add esp, 8
mov dword [ebp - 0xd8], 1
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
cmp dword [eax + 8], 0
je 0x477bdf
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x18]
and edx, 0x2000000
je 0x477bdf
mov dword [ebp - 0xd8], 8
jmp 0x47c615
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0x298], ecx
cmp dword [ebp - 0x298], 0
je 0x477dbd
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x298]
push ecx
call fcn.004462e0
add esp, 8
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0xd8]
and edx, 0xff
cmp edx, 5
jne 0x477c66
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0x104]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp + 8]
mov dword [edx + 0x4c], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 0x50], ecx
jmp 0x47c578
cmp dword [ebp - 0xd8], 0
je 0x477c74
jmp 0x47c615
mov edx, dword [ebp - 0xd4]
cmp dword [edx + 8], 0
je 0x477d81
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x58]
shr ecx, 5
and ecx, 1
je 0x477d81
mov edx, dword [ebp - 0xdc]
movzx eax, byte [edx + 0x3f]
test eax, eax
je 0x477cb7
mov ecx, dword [ebp - 0xdc]
cmp dword [ecx + 0x98], 1
jle 0x477d81
mov edx, dword [ebp + 8]
cmp dword [edx + 0x68], 0
jne 0x477cf9
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x1f4]
add ecx, 1
mov edx, dword [ebp - 0xdc]
mov dword [edx + 0x1f4], ecx
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x1f0]
mov edx, dword [ebp - 0xdc]
add ecx, dword [edx + 0x1f4]
mov eax, dword [ebp + 8]
mov dword [eax + 0x68], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x68]
sub edx, 1
push edx
push 0
mov eax, dword [ebp - 0xdc]
push eax
call fcn.00470790
add esp, 0xc
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
jne 0x477d3f
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x68]
push edx
mov eax, dword [ebp - 0x298]
push eax
call fcn.00446930
add esp, 8
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x1f8]
mov dword [ecx + 0x98], eax
mov edx, dword [edx + 0x1fc]
mov dword [ecx + 0x9c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x200]
mov dword [eax + 0xa0], edx
mov ecx, dword [ecx + 0x204]
mov dword [eax + 0xa4], ecx
lea edx, [ebp - 0x29c]
push edx
push 1
mov eax, dword [ebp - 0x298]
push eax
call fcn.004470d0
add esp, 0xc
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 0xc]
mov eax, dword [edx + 4]
mov dword [ebp - 0x450], eax
jmp 0x477dd3
mov dword [ebp - 0x29c], 0
mov ecx, dword [ebp - 0x29c]
mov dword [ebp - 0x450], ecx
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 3]
test eax, eax
je 0x477e90
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x29c]
cmp edx, dword [ecx + 0xc]
jne 0x477e0b
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0x450]
cmp ecx, dword [eax + 0x10]
je 0x477e90
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.0044f1a0
add esp, 8
push str.database_schema_has_changed
mov edx, dword [ebp - 0xdc]
push edx
call fcn.0044edf0
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x2c], eax
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + eax + 0xc]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0x29c]
je 0x477e77
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.00455f30
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x58]
or eax, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x58], eax
mov dword [ebp - 0xd8], 0x11
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
mov dword [ebp - 0x690], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x68c], edx
lea eax, [ebp - 0x6fc]
push eax
mov ecx, dword [ebp - 0x68c]
push ecx
mov edx, dword [ebp - 0x690]
shl edx, 4
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.004470d0
add esp, 0xc
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0049d0f0
add esp, 8
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x6fc]
cdq
mov ecx, dword [ebp - 0xe0]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 0xdc]
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x3c8], eax
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 0xc], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xf4]
push ecx
call fcn.0047dc10
add esp, 4
mov edx, dword [ebp - 0xf4]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0x3c8]
mov ecx, dword [eax + 4]
push ecx
call fcn.00447140
add esp, 0xc
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0xd4]
cmp dword [edx + 8], 1
jne 0x477fb1
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x3c8]
mov eax, dword [edx + 0xc]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x18]
or edx, 2
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x18], edx
jmp 0x477fd1
mov ecx, dword [ebp - 0xd4]
cmp dword [ecx + 8], 2
jne 0x477fd1
mov edx, dword [ebp - 0xf4]
mov al, byte [edx]
mov ecx, dword [ebp - 0x3c8]
mov edx, dword [ecx + 0xc]
mov byte [edx + 0x4c], al
mov eax, dword [ebp - 0xd4]
cmp dword [eax + 4], 1
jne 0x477ffb
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.0046d880
add esp, 4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x58]
and eax, 0xfffffff7
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x58], eax
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0
je case.0x473d07.53
mov ecx, dword [ebp - 0x144]
mov edx, dword [ebp - 0xd4]
mov eax, dword [ecx + 0x20]
cmp eax, dword [edx + 8]
jne case.0x473d07.53
jmp 0x4782aa
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x58]
shr edx, 3
and edx, 1
je 0x478057
mov dword [ebp - 0xd8], 0x204
jmp case.0x473d07.61
mov dword [ebp - 0x328], 0
mov dword [ebp - 0x244], 0
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x240], ecx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x454]
shl ecx, 4
mov edx, dword [ebp - 0xdc]
add ecx, dword [edx + 0x10]
mov dword [ebp - 0x324], ecx
mov eax, dword [ebp - 0x324]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x5c0], ecx
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx]
cmp eax, 0x37
jne 0x4780f4
mov dword [ebp - 0x458], 1
mov ecx, dword [ebp - 0x324]
mov edx, dword [ecx + 0xc]
movzx eax, byte [edx + 0x4c]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x57]
cmp eax, edx
jge 0x4780f2
mov eax, dword [ebp - 0x324]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp + 8]
mov al, byte [ecx + 0x4c]
mov byte [edx + 0x57], al
jmp 0x4780fe
mov dword [ebp - 0x458], 0
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx + 3]
and edx, 4
je 0x47815e
imul eax, dword [ebp - 0x240], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xf8], eax
mov ecx, dword [ebp - 0xf8]
push ecx
call fcn.0047dc10
add esp, 4
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx]
mov dword [ebp - 0x240], eax
cmp dword [ebp - 0x240], 2
jge 0x47815e
push 0x127cd
call fcn.0044e900
add esp, 4
mov dword [ebp - 0xd8], eax
jmp 0x47c615
mov ecx, dword [ebp - 0xd4]
movsx edx, byte [ecx + 1]
cmp edx, 0xfffffffa
jne 0x47819a
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x244], ecx
mov edx, dword [ebp - 0x244]
movzx eax, word [edx + 6]
mov ecx, dword [ebp - 0x244]
movzx edx, word [ecx + 8]
add eax, edx
mov dword [ebp - 0x328], eax
jmp 0x4781b8
mov eax, dword [ebp - 0xd4]
movsx ecx, byte [eax + 1]
cmp ecx, 0xfffffff2
jne 0x4781b8
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x328], eax
push 1
mov ecx, dword [ebp - 0x454]
push ecx
mov edx, dword [ebp - 0x328]
push edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0049cde0
add esp, 0x14
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0
jne 0x4781f2
jmp 0x47c5eb
mov eax, dword [ebp - 0x144]
mov byte [eax + 0x19], 1
mov ecx, dword [ebp - 0x144]
mov edx, dword [ecx + 0x1c]
or edx, 8
mov eax, dword [ebp - 0x144]
mov dword [eax + 0x1c], edx
mov ecx, dword [ebp - 0x144]
mov edx, dword [ebp - 0x240]
mov dword [ecx + 0x20], edx
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x244]
push edx
mov eax, dword [ebp - 0x458]
push eax
mov ecx, dword [ebp - 0x240]
push ecx
mov edx, dword [ebp - 0x5c0]
push edx
call fcn.00447210
add esp, 0x14
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x244]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0xd4]
movsx eax, byte [edx + 1]
cmp eax, 0xfffffffa
je 0x47827d
mov dword [ebp - 0x45c], 1
jmp 0x478287
mov dword [ebp - 0x45c], 0
mov ecx, dword [ebp - 0x45c]
and ecx, 1
shl ecx, 2
mov edx, dword [ebp - 0x144]
mov eax, dword [edx + 0x1c]
and eax, 0xfffffffb
or eax, ecx
mov ecx, dword [ebp - 0x144]
mov dword [ecx + 0x1c], eax
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 3]
and eax, 3
push eax
mov ecx, dword [ebp - 0x144]
mov edx, dword [ecx]
push edx
call fcn.00448a30
add esp, 8
jmp case.0x473d07.61
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0049cde0
add esp, 0x14
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0
jne 0x478306
jmp 0x47c5eb
mov edx, dword [ebp - 0x114]
mov byte [edx + 0x19], 1
mov eax, dword [ebp - 0x114]
mov ecx, dword [eax + 0x1c]
or ecx, 1
mov edx, dword [ebp - 0x114]
mov dword [edx + 0x1c], ecx
mov eax, dword [0x684214]
push eax
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx + 3]
or edx, 5
push edx
mov eax, dword [ebp - 0x114]
add eax, 4
push eax
mov ecx, dword [ebp - 0xdc]
push ecx
push 0
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx]
push eax
call fcn.00445480
add esp, 0x18
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
jne 0x478386
push 1
mov ecx, dword [ebp - 0x114]
mov edx, dword [ecx + 4]
push edx
call fcn.004462e0
add esp, 8
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
jne 0x478478
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x32c], ecx
cmp dword [ebp - 0x32c], 0
je 0x47843c
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 3]
or eax, 2
push eax
lea ecx, [ebp - 0x5c4]
push ecx
mov edx, dword [ebp - 0x114]
mov eax, dword [edx + 4]
push eax
call fcn.00446980
add esp, 0xc
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
jne 0x478425
mov ecx, dword [ebp - 0x114]
mov edx, dword [ebp - 0x32c]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x114]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x32c]
push edx
push 1
mov eax, dword [ebp - 0x5c4]
push eax
mov ecx, dword [ebp - 0x114]
mov edx, dword [ecx + 4]
push edx
call fcn.00447210
add esp, 0x14
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x114]
mov ecx, dword [eax + 0x1c]
and ecx, 0xfffffffb
mov edx, dword [ebp - 0x114]
mov dword [edx + 0x1c], ecx
jmp 0x478478
mov eax, dword [ebp - 0x114]
mov ecx, dword [eax]
push ecx
push 0
push 1
push 1
mov edx, dword [ebp - 0x114]
mov eax, dword [edx + 4]
push eax
call fcn.00447210
add esp, 0x14
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x114]
mov edx, dword [ecx + 0x1c]
or edx, 4
mov eax, dword [ebp - 0x114]
mov dword [eax + 0x1c], edx
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx + 3]
cmp edx, 8
je 0x478493
mov dword [ebp - 0x460], 1
jmp 0x47849d
mov dword [ebp - 0x460], 0
mov eax, dword [ebp - 0x460]
and eax, 1
shl eax, 3
mov ecx, dword [ebp - 0x114]
mov edx, dword [ecx + 0x1c]
and edx, 0xfffffff7
or edx, eax
mov eax, dword [ebp - 0x114]
mov dword [eax + 0x1c], edx
jmp case.0x473d07.61
push 1
push 0xffffffffffffffff
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0049cde0
add esp, 0x14
mov dword [ebp - 0x330], eax
cmp dword [ebp - 0x330], 0
jne 0x4784fd
jmp 0x47c5eb
mov eax, dword [ebp - 0x330]
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0x10]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x330]
push eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0xdc]
push eax
call fcn.0047e630
add esp, 0xc
mov dword [ebp - 0xd8], eax
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x334], edx
mov eax, dword [ebp - 0x334]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x6d0], ecx
mov edx, dword [eax + 0x2c]
mov dword [ebp - 0x6cc], edx
mov eax, dword [ebp - 0x334]
mov ecx, dword [eax + 0x28]
add ecx, 1
mov edx, dword [eax + 0x2c]
adc edx, 0
mov eax, dword [ebp - 0x334]
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], edx
mov ecx, dword [ebp - 0x6d0]
or ecx, dword [ebp - 0x6cc]
jne 0x47859b
jmp 0x473e03
jmp case.0x473d07.61
push 0
push 0xffffffffffffffff
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0049cde0
add esp, 0x14
mov dword [ebp - 0x248], eax
cmp dword [ebp - 0x248], 0
jne 0x4785d8
jmp 0x47c5eb
mov ecx, dword [ebp - 0x248]
mov byte [ecx + 0x19], 1
mov edx, dword [ebp - 0x248]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 8]
mov dword [edx + 0x10], ecx
mov edx, dword [ebp - 0x248]
mov eax, dword [edx + 0x1c]
or eax, 4
mov ecx, dword [ebp - 0x248]
mov dword [ecx + 0x1c], eax
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx + eax*4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004731e0
add esp, 8
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov dword [edx + eax*4], 0
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x38]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x164], ecx
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx]
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x164]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0x164]
mov eax, dword [edx + 0x1c]
shr eax, 2
and eax, 1
je 0x4787dd
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 0xc], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xf4]
movzx ecx, word [eax + 8]
and ecx, 0xe
cmp ecx, 2
jne 0x4786c7
push 0
mov edx, dword [ebp - 0xf4]
push edx
call fcn.0049cef0
add esp, 8
mov eax, dword [ebp - 0xf4]
push eax
call fcn.0047db80
add esp, 4
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x30c], edx
mov ecx, dword [ebp - 0xf4]
movzx edx, word [ecx + 8]
and edx, 4
jne 0x478782
mov eax, dword [ebp - 0xf4]
movzx ecx, word [eax + 8]
and ecx, 8
jne 0x47870e
jmp 0x473e03
mov edx, dword [ebp - 0x30c]
mov ecx, dword [ebp - 0x310]
call fcn.00642550
mov edx, dword [ebp - 0xf4]
comisd xmm0, xmmword [edx]
jbe 0x478747
mov eax, dword [ebp - 0x178]
and eax, 1
jne 0x478745
mov ecx, dword [ebp - 0x178]
sub ecx, 1
mov dword [ebp - 0x178], ecx
jmp 0x478782
mov edx, dword [ebp - 0x30c]
mov ecx, dword [ebp - 0x310]
call fcn.00642550
mov edx, dword [ebp - 0xf4]
movsd xmm1, qword [edx]
comisd xmm1, xmm0
jbe 0x478782
mov eax, dword [ebp - 0x178]
and eax, 1
je 0x478782
mov ecx, dword [ebp - 0x178]
add ecx, 1
mov dword [ebp - 0x178], ecx
lea edx, [ebp - 0x150]
push edx
push 0
mov eax, dword [ebp - 0x30c]
push eax
mov ecx, dword [ebp - 0x310]
push ecx
push 0
mov edx, dword [ebp - 0x164]
mov eax, dword [edx]
push eax
call fcn.00447390
add esp, 0x18
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x164]
mov edx, dword [ebp - 0x310]
mov dword [ecx + 0x30], edx
mov eax, dword [ebp - 0x30c]
mov dword [ecx + 0x34], eax
cmp dword [ebp - 0xd8], 0
je 0x4787d8
jmp 0x47c615
jmp 0x4788bb
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x5c8], edx
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x73c], ecx
mov dx, word [ebp - 0x5c8]
mov word [ebp - 0x738], dx
mov eax, dword [ebp - 0x178]
sub eax, 0x3f
and eax, 1
je 0x478823
mov dword [ebp - 0x464], 0xffffffff
jmp 0x47882d
mov dword [ebp - 0x464], 1
mov cl, byte [ebp - 0x464]
mov byte [ebp - 0x736], cl
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 0xc], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0x734], eax
mov ecx, dword [ebp - 0x734]
movzx edx, word [ecx + 8]
and edx, 0x4000
je 0x478878
mov eax, dword [ebp - 0x734]
push eax
call fcn.0047fb80
add esp, 4
mov dword [ebp - 0x5cc], eax
jmp 0x478882
mov dword [ebp - 0x5cc], 0
lea ecx, [ebp - 0x150]
push ecx
push 0
push 0
push 0
lea edx, [ebp - 0x73c]
push edx
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax]
push ecx
call fcn.00447390
add esp, 0x18
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x4788bb
jmp 0x47c615
mov edx, dword [ebp - 0x164]
mov byte [edx + 0x1a], 0
mov eax, dword [ebp - 0x164]
mov dword [eax + 0x3c], 0
cmp dword [ebp - 0x178], 0x41
jl 0x47893a
cmp dword [ebp - 0x150], 0
jl 0x4788f6
cmp dword [ebp - 0x150], 0
jne 0x47892e
cmp dword [ebp - 0x178], 0x42
jne 0x47892e
mov dword [ebp - 0x150], 0
lea ecx, [ebp - 0x150]
push ecx
mov edx, dword [ebp - 0x164]
mov eax, dword [edx]
push eax
call fcn.00448170
add esp, 8
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x47892c
jmp 0x47c615
jmp 0x478938
mov dword [ebp - 0x150], 0
jmp 0x4789a4
cmp dword [ebp - 0x150], 0
jg 0x478955
cmp dword [ebp - 0x150], 0
jne 0x47898d
cmp dword [ebp - 0x178], 0x3f
jne 0x47898d
mov dword [ebp - 0x150], 0
lea ecx, [ebp - 0x150]
push ecx
mov edx, dword [ebp - 0x164]
mov eax, dword [edx]
push eax
call fcn.00448290
add esp, 8
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x47898b
jmp 0x47c615
jmp 0x4789a4
mov ecx, dword [ebp - 0x164]
mov edx, dword [ecx]
push edx
call fcn.00448260
add esp, 4
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0
je 0x4789b2
jmp 0x473e03
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x38]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x338], ecx
mov edx, dword [ebp - 0x338]
mov byte [edx + 0x19], 0
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 8], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xf8], ecx
mov edx, dword [ebp - 0xf8]
push edx
call fcn.0047db80
add esp, 4
mov ecx, dword [ebp - 0x338]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], edx
mov edx, dword [ebp - 0x338]
mov byte [edx + 0x1a], 1
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x38]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x1b8], ecx
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 0xc], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x468], 0
mov ecx, dword [ebp - 0xd4]
cmp dword [ecx + 0x10], 0
jle 0x478b0c
mov edx, dword [ebp - 0x1b8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x750], eax
mov ecx, dword [ebp - 0xd4]
mov dx, word [ecx + 0x10]
mov word [ebp - 0x74c], dx
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x748], eax
mov dword [ebp - 0x17c], 0
jmp 0x478aa8
mov ecx, dword [ebp - 0x17c]
add ecx, 1
mov dword [ebp - 0x17c], ecx
movzx edx, word [ebp - 0x74c]
cmp dword [ebp - 0x17c], edx
jge 0x478afb
imul eax, dword [ebp - 0x17c], 0x28
mov ecx, dword [ebp - 0x748]
movzx edx, word [ecx + eax + 8]
and edx, 0x4000
je 0x478aef
imul eax, dword [ebp - 0x17c], 0x28
add eax, dword [ebp - 0x748]
push eax
call fcn.0047fb80
add esp, 4
mov dword [ebp - 0x5d0], eax
jmp 0x478af9
mov dword [ebp - 0x5d0], 0
jmp 0x478a99
lea ecx, [ebp - 0x750]
mov dword [ebp - 0x1e0], ecx
jmp 0x478ba5
lea edx, [ebp - 0x468]
push edx
push 0xbf
lea eax, [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0x1b8]
mov edx, dword [ecx + 8]
push edx
call fcn.0044b040
add esp, 0x10
mov dword [ebp - 0x1e0], eax
cmp dword [ebp - 0x1e0], 0
jne 0x478b45
jmp 0x47c5eb
mov eax, dword [ebp - 0xf4]
movzx ecx, word [eax + 8]
and ecx, 0x4000
je 0x478b6e
mov edx, dword [ebp - 0xf4]
push edx
call fcn.0047fb80
add esp, 4
mov dword [ebp - 0x5d4], eax
jmp 0x478b78
mov dword [ebp - 0x5d4], 0
mov eax, dword [ebp - 0x1e0]
push eax
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x1b8]
mov eax, dword [edx + 8]
push eax
call fcn.0044a8d0
add esp, 0x10
mov ecx, dword [ebp - 0x1e0]
mov byte [ecx + 6], 0
mov dword [ebp - 0x474], 0
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx]
cmp eax, 0x44
jne 0x478c1c
mov dword [ebp - 0x17c], 0
jmp 0x478be2
mov ecx, dword [ebp - 0x17c]
add ecx, 1
mov dword [ebp - 0x17c], ecx
mov edx, dword [ebp - 0x1e0]
movzx eax, word [edx + 4]
cmp dword [ebp - 0x17c], eax
jge 0x478c1c
imul ecx, dword [ebp - 0x17c], 0x28
mov edx, dword [ebp - 0x1e0]
mov eax, dword [edx + 8]
movzx ecx, word [eax + ecx + 8]
and ecx, 1
je 0x478c1a
mov dword [ebp - 0x474], 1
jmp 0x478c1c
jmp 0x478bd3
lea edx, [ebp - 0x46c]
push edx
push 0
push 0
push 0
mov eax, dword [ebp - 0x1e0]
push eax
mov ecx, dword [ebp - 0x1b8]
mov edx, dword [ecx]
push edx
call fcn.00447390
add esp, 0x18
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x468]
push eax
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.0044f1a0
add esp, 8
cmp dword [ebp - 0xd8], 0
je 0x478c6b
jmp case.0x473d07.61
mov edx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x46c]
mov dword [edx + 0xc], eax
cmp dword [ebp - 0x46c], 0
jne 0x478c8f
mov dword [ebp - 0x470], 1
jmp 0x478c99
mov dword [ebp - 0x470], 0
mov ecx, dword [ebp - 0x470]
mov dword [ebp - 0x33c], ecx
mov edx, 1
sub edx, dword [ebp - 0x33c]
mov eax, dword [ebp - 0x1b8]
mov byte [eax + 0x19], dl
mov ecx, dword [ebp - 0x1b8]
mov byte [ecx + 0x1a], 0
mov edx, dword [ebp - 0x1b8]
mov dword [edx + 0x3c], 0
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax]
cmp ecx, 0x46
jne 0x478cee
cmp dword [ebp - 0x33c], 0
je 0x478cec
jmp 0x473e03
jmp 0x478d05
cmp dword [ebp - 0x474], 0
jne 0x478d00
cmp dword [ebp - 0x33c], 0
jne 0x478d05
jmp 0x473e03
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 0xc], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 0x208]
mov ecx, dword [eax]
mov dword [ebp - 0x5d8], ecx
mov dword [ebp - 0x340], 0
mov edx, dword [ebp - 0xf4]
mov eax, dword [edx]
mov dword [ebp - 0x5b0], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x5ac], ecx
lea edx, [ebp - 0x340]
push edx
push 0
mov eax, dword [ebp - 0x5ac]
push eax
mov ecx, dword [ebp - 0x5b0]
push ecx
push 0
mov edx, dword [ebp - 0x5d8]
push edx
call fcn.00447390
add esp, 0x18
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x5b0]
mov dword [eax + 0x30], ecx
mov edx, dword [ebp - 0x5ac]
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 0x208]
mov byte [eax + 0x19], 0
mov ecx, dword [ebp - 0x208]
mov dword [ecx + 0x3c], 0
mov edx, dword [ebp - 0x208]
mov byte [edx + 0x1a], 0
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x340]
mov dword [eax + 0xc], ecx
cmp dword [ebp - 0x340], 0
je 0x478e0c
mov edx, dword [ebp - 0xd4]
cmp dword [edx + 8], 0
jne 0x478e07
push 0x12a5f
call fcn.0044e900
add esp, 4
mov dword [ebp - 0xd8], eax
jmp 0x478e0c
jmp 0x473e03
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0049d0f0
add esp, 8
mov dword [ebp - 0xe0], eax
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx + eax*4]
mov ecx, dword [ebp - 0xe0]
mov edx, dword [eax + 0x28]
mov dword [ecx], edx
mov eax, dword [eax + 0x2c]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
mov edx, dword [ecx + edx*4]
mov eax, dword [edx + 0x28]
add eax, 1
mov ecx, dword [edx + 0x2c]
adc ecx, 0
mov edx, dword [ebp - 0xd4]
mov edx, dword [edx + 4]
mov esi, dword [ebp + 8]
mov esi, dword [esi + 0x38]
mov edx, dword [esi + edx*4]
mov dword [edx + 0x28], eax
mov dword [edx + 0x2c], ecx
jmp case.0x473d07.61
xorps xmm0, xmm0
movlpd qword [ebp - 0x140], xmm0
mov dword [ebp - 0x24c], 0
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0049d0f0
add esp, 8
mov dword [ebp - 0xe0], eax
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp - 0x168]
mov edx, dword [ecx + 0x1c]
shr edx, 1
and edx, 1
jne 0x478f97
lea eax, [ebp - 0x24c]
push eax
mov ecx, dword [ebp - 0x168]
mov edx, dword [ecx]
push edx
call fcn.004480d0
add esp, 8
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x478f0e
jmp 0x47c615
cmp dword [ebp - 0x24c], 0
je 0x478f2d
mov dword [ebp - 0x140], 1
mov dword [ebp - 0x13c], 0
jmp 0x478f97
lea eax, [ebp - 0x140]
push eax
mov ecx, dword [ebp - 0x168]
mov edx, dword [ecx]
push edx
call fcn.00448330
add esp, 8
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0x13c], 0x7fffffff
jl 0x478f79
jg 0x478f62
cmp dword [ebp - 0x140], 0xffffffff
jb 0x478f79
mov eax, dword [ebp - 0x168]
mov ecx, dword [eax + 0x1c]
or ecx, 2
mov edx, dword [ebp - 0x168]
mov dword [edx + 0x1c], ecx
jmp 0x478f97
mov eax, dword [ebp - 0x140]
add eax, 1
mov ecx, dword [ebp - 0x13c]
adc ecx, 0
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0xd4]
cmp dword [edx + 0xc], 0
je 0x4790d5
mov eax, dword [ebp + 8]
cmp dword [eax + 0xb0], 0
je 0x478ffc
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xb0]
mov dword [ebp - 0x2a0], edx
jmp 0x478fd3
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2a0], ecx
mov edx, dword [ebp - 0x2a0]
cmp dword [edx + 4], 0
je 0x478fe1
jmp 0x478fc4
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 0xc], 0x28
mov edx, dword [ebp - 0x2a0]
add ecx, dword [edx + 0x10]
mov dword [ebp - 0x220], ecx
jmp 0x479012
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 0xc], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x220], ecx
mov edx, dword [ebp - 0x220]
push edx
call fcn.0047dc10
add esp, 4
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x478], eax
mov ecx, dword [ebp - 0x478]
cmp dword [ecx], 0xffffffff
jne 0x479047
mov edx, dword [ebp - 0x478]
cmp dword [edx + 4], 0x7fffffff
je 0x479057
mov eax, dword [ebp - 0x168]
mov ecx, dword [eax + 0x1c]
shr ecx, 1
and ecx, 1
je 0x479066
mov dword [ebp - 0xd8], 0xd
jmp 0x47c615
mov edx, dword [ebp - 0x220]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [edx + 4]
adc ecx, 0
mov dword [ebp - 0x6d8], eax
mov dword [ebp - 0x6d4], ecx
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0x6d4]
jg 0x4790be
jl 0x4790a1
mov eax, dword [ebp - 0x140]
cmp eax, dword [ebp - 0x6d8]
jae 0x4790be
mov ecx, dword [ebp - 0x220]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ecx + 4]
adc eax, 0
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x13c], eax
mov ecx, dword [ebp - 0x220]
mov edx, dword [ebp - 0x140]
mov dword [ecx], edx
mov eax, dword [ebp - 0x13c]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x168]
mov edx, dword [ecx + 0x1c]
shr edx, 1
and edx, 1
je 0x4791bf
mov dword [ebp - 0x344], 0
lea eax, [ebp - 0x140]
push eax
push 8
call fcn.0043fe90
add esp, 8
mov ecx, dword [ebp - 0x140]
mov edx, dword [ebp - 0x13c]
and edx, 0x3fffffff
mov dword [ebp - 0x140], ecx
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0x140]
add eax, 1
mov ecx, dword [ebp - 0x13c]
adc ecx, 0
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], ecx
lea edx, [ebp - 0x24c]
push edx
push 0
mov eax, dword [ebp - 0x13c]
push eax
mov ecx, dword [ebp - 0x140]
push ecx
push 0
mov edx, dword [ebp - 0x168]
mov eax, dword [edx]
push eax
call fcn.00447390
add esp, 0x18
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
jne 0x47919e
cmp dword [ebp - 0x24c], 0
jne 0x47919e
mov ecx, dword [ebp - 0x344]
add ecx, 1
mov dword [ebp - 0x344], ecx
cmp dword [ebp - 0x344], 0x64
jl 0x4790f3
cmp dword [ebp - 0xd8], 0
jne 0x4791bf
cmp dword [ebp - 0x24c], 0
jne 0x4791bf
mov dword [ebp - 0xd8], 0xd
jmp 0x47c615
mov edx, dword [ebp - 0x168]
mov byte [edx + 0x1a], 0
mov eax, dword [ebp - 0x168]
mov dword [eax + 0x3c], 0
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0x140]
mov dword [ecx], edx
mov eax, dword [ebp - 0x13c]
mov dword [ecx + 4], eax
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 8], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0x1e4], edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x38]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x250], ecx
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx]
cmp eax, 0x54
jne 0x47925d
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 0xc], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0x5dc], edx
mov eax, dword [ebp - 0x5dc]
mov ecx, dword [eax]
mov dword [ebp - 0x318], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x314], edx
jmp 0x479273
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0xc]
cdq
mov dword [ebp - 0x318], eax
mov dword [ebp - 0x314], edx
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx + 3]
and edx, 1
je 0x479291
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5c]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x5c], ecx
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax + 3]
and ecx, 2
je 0x4792d0
mov edx, dword [ebp - 0x318]
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x314]
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x1a4]
mov dword [ecx + 0x20], edx
mov eax, dword [ebp - 0x1a0]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0x1e4]
movzx edx, word [ecx + 8]
and edx, 1
je 0x4792f9
mov eax, dword [ebp - 0x1e4]
mov dword [eax + 0x10], 0
mov ecx, dword [ebp - 0x1e4]
mov dword [ecx + 0xc], 0
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 3]
and eax, 0x10
je 0x479319
mov ecx, dword [ebp - 0x250]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x47c], edx
jmp 0x479323
mov dword [ebp - 0x47c], 0
mov eax, dword [ebp - 0x47c]
mov dword [ebp - 0x5e0], eax
mov ecx, dword [ebp - 0x1e4]
movzx edx, word [ecx + 8]
and edx, 0x4000
je 0x479351
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [eax]
mov dword [ebp - 0x484], ecx
jmp 0x47935b
mov dword [ebp - 0x484], 0
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 3]
and eax, 8
je 0x479376
mov dword [ebp - 0x480], 1
jmp 0x479380
mov dword [ebp - 0x480], 0
mov ecx, dword [ebp - 0x5e0]
push ecx
mov edx, dword [ebp - 0x480]
push edx
mov eax, dword [ebp - 0x484]
push eax
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x314]
push edx
mov eax, dword [ebp - 0x318]
push eax
push 0
mov ecx, dword [ebp - 0x250]
mov edx, dword [ecx]
push edx
call fcn.00447d60
add esp, 0x24
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x250]
mov byte [eax + 0x1a], 0
mov ecx, dword [ebp - 0x250]
mov dword [ecx + 0x3c], 0
cmp dword [ebp - 0xd8], 0
jne 0x4794b7
mov edx, dword [ebp - 0xdc]
cmp dword [edx + 0xd4], 0
je 0x4794b7
mov eax, dword [ebp - 0xd4]
cmp dword [eax + 0x10], 0
je 0x4794b7
mov ecx, dword [ebp - 0x250]
movsx edx, byte [ecx + 0x18]
shl edx, 4
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx]
mov dword [ebp - 0x5e8], edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x5e4], ecx
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 3]
and eax, 4
je 0x479460
mov dword [ebp - 0x488], 0x17
jmp 0x47946a
mov dword [ebp - 0x488], 0x12
mov ecx, dword [ebp - 0x488]
mov dword [ebp - 0x5ec], ecx
mov edx, dword [ebp - 0x314]
push edx
mov eax, dword [ebp - 0x318]
push eax
mov ecx, dword [ebp - 0x5e4]
push ecx
mov edx, dword [ebp - 0x5e8]
push edx
mov eax, dword [ebp - 0x5ec]
push eax
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0xd0]
push edx
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0xd4]
call ecx
add esp, 0x18
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x1e8], eax
mov ecx, dword [ebp - 0xdc]
cmp dword [ecx + 0xd4], 0
je 0x47950c
mov edx, dword [ebp - 0xd4]
cmp dword [edx + 0x10], 0
je 0x47950c
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [eax + 0x1c]
shr ecx, 2
and ecx, 1
je 0x47950c
mov dword [ebp - 0x48c], 1
jmp 0x479516
mov dword [ebp - 0x48c], 0
mov dl, byte [ebp - 0x48c]
mov byte [ebp - 0x154], dl
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax + 3]
test ecx, ecx
je 0x479556
movzx edx, byte [ebp - 0x154]
test edx, edx
je 0x479556
mov eax, dword [ebp - 0x1e8]
add eax, 0x30
push eax
mov ecx, dword [ebp - 0x1e8]
mov edx, dword [ecx]
push edx
call fcn.00448330
add esp, 8
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax + 3]
push ecx
mov edx, dword [ebp - 0x1e8]
mov eax, dword [edx]
push eax
call fcn.004479c0
add esp, 8
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x1e8]
mov dword [ecx + 0x3c], 0
cmp dword [ebp - 0xd8], 0
jne 0x4795eb
movzx edx, byte [ebp - 0x154]
test edx, edx
je 0x4795eb
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [eax + 0x34]
push ecx
mov edx, dword [eax + 0x30]
push edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x1e8]
movsx eax, byte [edx + 0x18]
shl eax, 4
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + eax]
push eax
push 9
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0xd0]
push edx
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0xd4]
call ecx
add esp, 0x18
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 8]
and eax, 1
je 0x479608
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x5c], edx
jmp case.0x473d07.61
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
push edx
mov eax, dword [ebp - 0xdc]
push eax
call fcn.0046c090
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x5c], 0
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x5f4], eax
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 0xc], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x5f0], ecx
mov dword [ebp - 0x490], 0
lea edx, [ebp - 0x490]
push edx
mov eax, dword [ebp - 0x5f0]
push eax
mov ecx, dword [ebp - 0xf4]
push ecx
mov edx, dword [ebp - 0x5f4]
push edx
call fcn.0047ef80
add esp, 0x10
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0x490], 0
je 0x4796b1
jmp 0x473e03
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 8], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x5f8], eax
mov ecx, dword [ebp - 0xe0]
push ecx
mov edx, dword [ebp - 0x5f8]
push edx
call fcn.0047ea70
add esp, 8
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x38]
mov ecx, dword [eax + ecx*4]
mov dword [ecx + 0x3c], 0
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 8], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x348], edx
mov eax, dword [ebp - 0x348]
mov ecx, dword [eax]
mov dword [ebp - 0x2a4], ecx
mov edx, dword [ebp - 0x348]
mov eax, dword [edx + 0x1c]
shr eax, 2
and eax, 1
jne 0x4797d1
lea ecx, [ebp - 0x6e8]
push ecx
mov edx, dword [ebp - 0x2a4]
push edx
call fcn.00448330
add esp, 8
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + ecx + 0x58]
cdq
mov dword [ebp - 0x6e0], eax
mov dword [ebp - 0x6dc], edx
mov eax, dword [ebp - 0x6e4]
cmp eax, dword [ebp - 0x6dc]
jl 0x4797c3
jg 0x4797be
mov ecx, dword [ebp - 0x6e8]
cmp ecx, dword [ebp - 0x6e0]
jbe 0x4797c3
jmp 0x47c5cb
mov edx, dword [ebp - 0x6e8]
mov dword [ebp - 0x1ec], edx
jmp 0x479806
lea eax, [ebp - 0x1ec]
push eax
mov ecx, dword [ebp - 0x2a4]
push ecx
call fcn.004483c0
add esp, 8
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x1ec]
cmp edx, dword [ecx + eax + 0x58]
jbe 0x479806
jmp 0x47c5cb
cmp dword [ebp - 0x1ec], 0x20
jbe 0x47981d
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x494], eax
jmp 0x479827
mov dword [ebp - 0x494], 0x20
mov ecx, dword [ebp - 0x494]
push ecx
mov edx, dword [ebp - 0xe0]
push edx
call fcn.0047e280
add esp, 8
test eax, eax
je 0x479846
jmp 0x47c5eb
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x1ec]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0xe0]
movzx eax, word [edx + 8]
and eax, 0xffffbe00
or eax, 0x10
mov ecx, dword [ebp - 0xe0]
mov word [ecx + 8], ax
mov edx, dword [ebp - 0x348]
mov eax, dword [edx + 0x1c]
shr eax, 2
and eax, 1
jne 0x4798ac
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x1ec]
push eax
push 0
mov ecx, dword [ebp - 0x2a4]
push ecx
call fcn.00448360
add esp, 0x10
mov dword [ebp - 0xd8], eax
jmp 0x4798d4
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x1ec]
push ecx
push 0
mov edx, dword [ebp - 0x2a4]
push edx
call fcn.004483e0
add esp, 0x10
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xe0]
mov byte [eax + 0xa], 1
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0049d0f0
add esp, 8
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x38]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x188], ecx
mov edx, dword [ebp - 0x188]
movzx eax, byte [edx + 0x19]
test eax, eax
je 0x47993b
mov ecx, 1
mov edx, dword [ebp - 0xe0]
mov word [edx + 8], cx
jmp case.0x473d07.61
mov eax, dword [ebp - 0x188]
movzx ecx, byte [eax + 0x1a]
test ecx, ecx
je 0x479966
mov edx, dword [ebp - 0x188]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x5b8], eax
mov ecx, dword [edx + 0x34]
mov dword [ebp - 0x5b4], ecx
jmp 0x479a2e
mov edx, dword [ebp - 0x188]
cmp dword [edx + 0x24], 0
je 0x4799cb
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax + 0x24]
mov edx, dword [ecx]
mov dword [ebp - 0x498], edx
mov eax, dword [ebp - 0x498]
mov ecx, dword [eax]
mov dword [ebp - 0x5fc], ecx
lea edx, [ebp - 0x5b8]
push edx
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax + 0x24]
push ecx
mov edx, dword [ebp - 0x5fc]
mov eax, dword [edx + 0x30]
call eax
add esp, 8
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x498]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00470880
add esp, 8
jmp 0x479a2e
mov eax, dword [ebp - 0x188]
push eax
call fcn.004732d0
add esp, 4
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x4799ee
jmp 0x47c615
mov ecx, dword [ebp - 0x188]
movzx edx, byte [ecx + 0x19]
test edx, edx
je 0x479a10
mov eax, 1
mov ecx, dword [ebp - 0xe0]
mov word [ecx + 8], ax
jmp case.0x473d07.61
lea edx, [ebp - 0x5b8]
push edx
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax]
push ecx
call fcn.00448330
add esp, 8
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x5b8]
mov dword [edx], eax
mov ecx, dword [ebp - 0x5b4]
mov dword [edx + 4], ecx
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x2a8], eax
mov ecx, dword [ebp - 0x2a8]
mov byte [ecx + 0x19], 1
mov edx, dword [ebp - 0x2a8]
mov dword [edx + 0x3c], 0
mov eax, dword [ebp - 0x2a8]
cmp dword [eax], 0
je 0x479a95
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx]
push edx
call fcn.00448900
add esp, 4
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x38]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x254], ecx
mov edx, dword [ebp - 0x254]
mov eax, dword [edx]
mov dword [ebp - 0x600], eax
mov dword [ebp - 0x34c], 0
lea ecx, [ebp - 0x34c]
push ecx
mov edx, dword [ebp - 0x600]
push edx
call fcn.004480d0
add esp, 8
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x34c]
mov byte [eax + 0x19], cl
mov edx, dword [ebp - 0x254]
mov byte [edx + 0x1a], 0
mov eax, dword [ebp - 0x254]
mov dword [eax + 0x3c], 0
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0xd4]
cmp dword [ecx + 8], 0
jle 0x479b38
cmp dword [ebp - 0x34c], 0
je 0x479b38
jmp 0x473e03
jmp case.0x473d07.61
mov edx, 4
shl edx, 1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edx + 0x6c]
add ecx, 1
mov edx, 4
shl edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + edx + 0x6c], ecx
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x210], edx
mov dword [ebp - 0x2ac], 1
mov eax, dword [ebp - 0x210]
cmp dword [eax + 0x38], 0
je 0x479ba8
lea ecx, [ebp - 0x2ac]
push ecx
mov edx, dword [ebp - 0x210]
push edx
call fcn.0047ebd0
add esp, 8
mov dword [ebp - 0xd8], eax
jmp 0x479be9
mov eax, dword [ebp - 0x210]
mov ecx, dword [eax]
mov dword [ebp - 0x604], ecx
lea edx, [ebp - 0x2ac]
push edx
mov eax, dword [ebp - 0x604]
push eax
call fcn.00448080
add esp, 8
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x210]
mov byte [ecx + 0x1a], 0
mov edx, dword [ebp - 0x210]
mov dword [edx + 0x3c], 0
mov eax, dword [ebp - 0x210]
mov cl, byte [ebp - 0x2ac]
mov byte [eax + 0x19], cl
cmp dword [ebp - 0x2ac], 0
je 0x479c06
jmp 0x473e03
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x2b0], 0
lea ecx, [ebp - 0x2b0]
push ecx
mov edx, dword [ebp - 0x214]
push edx
mov eax, dword [ebp - 0xdc]
push eax
call fcn.0047eaf0
add esp, 0xc
mov dword [ebp - 0xd8], eax
jmp 0x479cb7
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
cmp dword [ecx + edx*4], 0
jne case.0x473d07.6
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x2b0], edx
lea eax, [ebp - 0x2b0]
push eax
mov ecx, dword [ebp - 0x214]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x10]
call ecx
add esp, 8
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0x214]
mov dword [edx + 0x3c], 0
cmp dword [ebp - 0x2b0], 0
jne 0x479d03
mov eax, dword [ebp - 0x214]
mov byte [eax + 0x19], 0
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx + 3]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edx*4 + 0x6c]
add ecx, 1
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 3]
mov edx, dword [ebp + 8]
mov dword [edx + eax*4 + 0x6c], ecx
jmp case.0x473d07.13
mov eax, dword [ebp - 0x214]
mov byte [eax + 0x19], 1
jmp 0x473d29
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x2b4], edx
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 8], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xf8], ecx
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 3]
and eax, 1
je 0x479d5e
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x5c], edx
mov ecx, dword [ebp - 0xf8]
movzx edx, word [ecx + 8]
and edx, 0x4000
je 0x479d87
mov eax, dword [ebp - 0xf8]
push eax
call fcn.0047fb80
add esp, 4
mov dword [ebp - 0x49c], eax
jmp 0x479d91
mov dword [ebp - 0x49c], 0
mov ecx, dword [ebp - 0x49c]
mov dword [ebp - 0xd8], ecx
cmp dword [ebp - 0xd8], 0
jne 0x479e6f
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx]
cmp eax, 0x6e
jne 0x479dd9
mov ecx, dword [ebp - 0xf8]
push ecx
mov edx, dword [ebp - 0x2b4]
push edx
call fcn.0047ec80
add esp, 8
mov dword [ebp - 0xd8], eax
jmp 0x479e6f
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x608], ecx
mov edx, dword [ebp - 0xf8]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x60c], eax
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx + 3]
and edx, 0x10
je 0x479e17
mov eax, dword [ebp - 0x2b4]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x4a0], ecx
jmp 0x479e21
mov dword [ebp - 0x4a0], 0
mov edx, dword [ebp - 0x4a0]
push edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0xc]
push ecx
push 0
push 0
push 0x703208
mov eax, dword [ebp - 0x608]
cdq
push edx
push eax
mov edx, dword [ebp - 0x60c]
push edx
mov eax, dword [ebp - 0x2b4]
mov ecx, dword [eax]
push ecx
call fcn.00447d60
add esp, 0x24
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0x2b4]
mov dword [edx + 0x3c], 0
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x38]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x350], ecx
mov edx, dword [ebp - 0x350]
mov eax, dword [edx]
mov dword [ebp - 0x4a4], eax
mov ecx, dword [ebp - 0x350]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x780], edx
mov eax, dword [ebp - 0xd4]
mov cx, word [eax + 0xc]
mov word [ebp - 0x77c], cx
mov byte [ebp - 0x77a], 0
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 8], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0x778], eax
lea ecx, [ebp - 0x610]
push ecx
push 0
push 0
push 0
lea edx, [ebp - 0x780]
push edx
mov eax, dword [ebp - 0x4a4]
push eax
call fcn.00447390
add esp, 0x18
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
jne 0x479f29
cmp dword [ebp - 0x610], 0
jne 0x479f29
push 0
mov ecx, dword [ebp - 0x4a4]
push ecx
call fcn.004479c0
add esp, 8
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0x350]
mov dword [edx + 0x3c], 0
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0049d0f0
add esp, 8
mov dword [ebp - 0xe0], eax
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x354], eax
mov ecx, dword [ebp - 0x354]
mov edx, dword [ecx]
mov dword [ebp - 0x614], edx
mov eax, 1
mov ecx, dword [ebp - 0xe0]
mov word [ecx + 8], ax
mov edx, dword [ebp - 0x354]
push edx
call fcn.004732d0
add esp, 4
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x479fac
jmp 0x47c615
mov eax, dword [ebp - 0x354]
movzx ecx, byte [eax + 0x19]
test ecx, ecx
jne 0x47a01c
xorps xmm0, xmm0
movlpd qword [ebp - 0x6f0], xmm0
lea edx, [ebp - 0x6f0]
push edx
mov eax, dword [ebp - 0x614]
push eax
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.00473990
add esp, 0xc
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x479ff6
jmp 0x47c615
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x6f0]
mov dword [edx], eax
mov ecx, dword [ebp - 0x6ec]
mov dword [edx + 4], ecx
mov edx, 4
mov eax, dword [ebp - 0xe0]
mov word [eax + 8], dx
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x4a8], edx
mov eax, dword [ebp - 0x4a8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x764], ecx
mov edx, dword [ebp - 0xd4]
mov ax, word [edx + 0x10]
mov word [ebp - 0x760], ax
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx]
cmp edx, 0x74
jge 0x47a070
mov byte [ebp - 0x75e], 0xff
jmp 0x47a077
mov byte [ebp - 0x75e], 0
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 0xc], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x75c], ecx
mov dword [ebp - 0x20c], 0
lea edx, [ebp - 0x20c]
push edx
lea eax, [ebp - 0x764]
push eax
mov ecx, dword [ebp - 0x4a8]
push ecx
mov edx, dword [ebp - 0xdc]
push edx
call fcn.004738c0
add esp, 0x10
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax]
and ecx, 1
jne 0x47a0df
mov edx, dword [ebp - 0x20c]
neg edx
mov dword [ebp - 0x20c], edx
jmp 0x47a0ee
mov eax, dword [ebp - 0x20c]
add eax, 1
mov dword [ebp - 0x20c], eax
cmp dword [ebp - 0x20c], 0
jle 0x47a0fc
jmp 0x473e03
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0049d0f0
add esp, 8
mov dword [ebp - 0xe0], eax
mov eax, 1
mov ecx, dword [ebp - 0xe0]
mov word [ecx + 8], ax
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0xa4]
add eax, 1
mov ecx, dword [ebp - 0xdc]
cmp dword [ecx + 0x98], eax
jle 0x47a15c
mov dword [ebp - 0xd8], 6
mov edx, dword [ebp + 8]
mov byte [edx + 0x56], 2
jmp 0x47a214
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x358], ecx
mov dword [ebp - 0x2b8], 0
lea edx, [ebp - 0x2b8]
push edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x358]
shl edx, 4
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00446ee0
add esp, 0xc
mov dword [ebp - 0xd8], eax
mov eax, 4
mov ecx, dword [ebp - 0xe0]
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x2b8]
cdq
mov ecx, dword [ebp - 0xe0]
mov dword [ecx], eax
mov dword [ecx + 4], edx
cmp dword [ebp - 0xd8], 0
jne 0x47a214
cmp dword [ebp - 0x2b8], 0
je 0x47a214
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x2b8]
push ecx
mov edx, dword [ebp - 0x358]
push edx
mov eax, dword [ebp - 0xdc]
push eax
call fcn.0046c660
add esp, 0x10
mov ecx, dword [ebp - 0x358]
add ecx, 1
mov byte [ebp - 0x121], cl
jmp case.0x473d07.61
mov dword [ebp - 0x35c], 0
mov edx, dword [ebp - 0xd4]
cmp dword [edx + 0xc], 0
je 0x47a23d
lea eax, [ebp - 0x35c]
mov dword [ebp - 0x4ac], eax
jmp 0x47a247
mov dword [ebp - 0x4ac], 0
mov ecx, dword [ebp - 0x4ac]
push ecx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 8]
shl edx, 4
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00446f20
add esp, 0xc
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xd4]
cmp dword [eax + 0xc], 0
je 0x47a2df
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
add edx, dword [ebp - 0x35c]
mov eax, dword [ebp + 8]
mov dword [eax + 0x5c], edx
mov ecx, dword [ebp - 0xd4]
cmp dword [ecx + 0xc], 0
jle 0x47a2df
mov edx, dword [ebp - 0xd4]
imul ecx, dword [edx + 0xc], 0x28
mov eax, dword [ebp - 0x35c]
cdq
mov esi, dword [ebp - 0xe8]
add eax, dword [esi + ecx]
adc edx, dword [esi + ecx + 4]
mov ecx, dword [ebp - 0xd4]
imul ecx, dword [ecx + 0xc], 0x28
mov esi, dword [ebp - 0xe8]
mov dword [esi + ecx], eax
mov dword [esi + ecx + 4], edx
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x360], eax
mov ecx, dword [ebp - 0x360]
cmp dword [ecx + 0x38], 0
je 0x47a323
mov edx, dword [ebp - 0x360]
mov eax, dword [edx + 0x38]
push eax
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.0047e900
add esp, 8
jmp 0x47a33a
mov edx, dword [ebp - 0x360]
mov eax, dword [edx]
push eax
call fcn.00446fa0
add esp, 4
mov dword [ebp - 0xd8], eax
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0049d0f0
add esp, 8
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x4b4], 0
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0xdc]
add ecx, dword [edx + 0x10]
mov dword [ebp - 0x618], ecx
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax]
cmp ecx, 0x7a
jne 0x47a397
mov dword [ebp - 0x4b0], 1
jmp 0x47a3a1
mov dword [ebp - 0x4b0], 2
mov edx, dword [ebp - 0x4b0]
push edx
lea eax, [ebp - 0x4b4]
push eax
mov ecx, dword [ebp - 0x618]
mov edx, dword [ecx + 4]
push edx
call fcn.00446980
add esp, 0xc
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x4b4]
cdq
mov ecx, dword [ebp - 0xe0]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
mov dword [ebp - 0x4bc], eax
mov ecx, 1
test ecx, ecx
je 0x47a40b
cmp dword [ebp - 0x4bc], 1
jne 0x47a40b
mov dword [ebp - 0x4b8], 0x6e8de4
jmp 0x47a415
mov dword [ebp - 0x4b8], 0x6e8e50
mov edx, dword [ebp - 0x4b8]
mov dword [ebp - 0x61c], edx
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x720], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x718], edx
mov eax, dword [ebp + 8]
add eax, 0x2c
mov dword [ebp - 0x71c], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x61c]
push eax
mov ecx, dword [ebp - 0x4bc]
shl ecx, 4
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + ecx]
push ecx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov edx, dword [ebp - 0xdc]
push edx
call fcn.00451010
add esp, 0x14
mov dword [ebp - 0x364], eax
cmp dword [ebp - 0x364], 0
jne 0x47a49e
mov dword [ebp - 0xd8], 7
jmp 0x47a517
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x91], 1
mov dword [ebp - 0x714], 0
push 0
lea ecx, [ebp - 0x720]
push ecx
push fcn.00452920
mov edx, dword [ebp - 0x364]
push edx
mov eax, dword [ebp - 0xdc]
push eax
call fcn.0043e6b0
add esp, 0x14
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
jne 0x47a4f4
mov ecx, dword [ebp - 0x714]
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0x364]
push edx
mov eax, dword [ebp - 0xdc]
push eax
call fcn.0044f1a0
add esp, 8
mov ecx, dword [ebp - 0xdc]
mov byte [ecx + 0x91], 0
cmp dword [ebp - 0xd8], 0
je 0x47a52f
mov edx, dword [ebp - 0xdc]
push edx
call fcn.00455ea0
add esp, 4
cmp dword [ebp - 0xd8], 7
jne 0x47a53d
jmp 0x47c5eb
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0xdc]
push edx
call fcn.0046f0a0
add esp, 8
mov dword [ebp - 0xd8], eax
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.00463ef0
add esp, 0xc
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0xdc]
push eax
call fcn.00463f50
add esp, 0xc
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0xdc]
push edx
call fcn.00468d60
add esp, 0xc
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x368], ecx
mov edx, dword [ebp - 0x368]
lea eax, [edx*4 + 4]
xor ecx, ecx
push ecx
push eax
mov edx, dword [ebp - 0xdc]
push edx
call fcn.0044ec90
add esp, 0xc
mov dword [ebp - 0x258], eax
cmp dword [ebp - 0x258], 0
jne 0x47a621
jmp 0x47c5eb
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 0xc], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 4], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x21c], 0
jmp 0x47a668
mov ecx, dword [ebp - 0x21c]
add ecx, 1
mov dword [ebp - 0x21c], ecx
mov edx, dword [ebp - 0x21c]
cmp edx, dword [ebp - 0x368]
jge 0x47a69d
imul eax, dword [ebp - 0x21c], 0x28
add eax, dword [ebp - 0xe4]
push eax
call fcn.0047db80
add esp, 4
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x258]
mov dword [edx + ecx*4], eax
jmp 0x47a659
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x258]
mov dword [ecx + eax*4], 0
lea edx, [ebp - 0x4c0]
push edx
mov eax, dword [ebp - 0x36c]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x368]
push edx
mov eax, dword [ebp - 0x258]
push eax
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx + 3]
shl edx, 4
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00448450
add esp, 0x14
mov dword [ebp - 0x4c4], eax
mov eax, dword [ebp - 0x258]
push eax
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.0044f1a0
add esp, 8
mov eax, dword [ebp - 0x4c0]
cdq
mov ecx, dword [ebp - 0x36c]
mov esi, dword [ecx]
sub esi, eax
mov eax, dword [ecx + 4]
sbb eax, edx
mov ecx, dword [ebp - 0x36c]
mov dword [ecx], esi
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0xe4]
push edx
call fcn.0047d8a0
add esp, 4
cmp dword [ebp - 0x4c0], 0
jne 0x47a748
jmp 0x47a777
cmp dword [ebp - 0x4c4], 0
jne 0x47a758
jmp 0x47c5eb
push fcn.0043fd90
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x4c4]
push eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.0047d560
add esp, 0x14
movzx edx, byte [ebp - 0xe9]
push edx
mov eax, dword [ebp - 0xe4]
push eax
call fcn.0047d340
add esp, 8
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 4], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 8], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xf8], ecx
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 8]
and eax, 0x20
jne 0x47a7f1
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.0047d920
add esp, 4
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 8]
and eax, 0x20
jne 0x47a7f1
jmp 0x47c5eb
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ecx]
push eax
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx]
push edx
call fcn.00458bc0
add esp, 0xc
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 4], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx + 8]
and eax, 0x20
je 0x47a855
lea ecx, [ebp - 0x728]
push ecx
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx]
push eax
call fcn.00458e30
add esp, 8
test eax, eax
jne 0x47a86b
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.0047d8a0
add esp, 4
jmp case.0x473d07.13
mov edx, dword [ebp - 0x724]
push edx
mov eax, dword [ebp - 0x728]
push eax
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 0xc], 0x28
add edx, dword [ebp - 0xe8]
push edx
call fcn.0047d7e0
add esp, 0xc
jmp 0x473d29
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 4], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 0xc], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x370], edx
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 8]
and ecx, 0x20
jne 0x47a904
mov edx, dword [ebp - 0xe4]
push edx
call fcn.0047d920
add esp, 4
mov eax, dword [ebp - 0xe4]
movzx ecx, word [eax + 8]
and ecx, 0x20
jne 0x47a904
jmp 0x47c5eb
cmp dword [ebp - 0x370], 0
je 0x47a946
mov edx, dword [ebp - 0xf4]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [edx]
push ecx
mov edx, dword [ebp - 0x370]
push edx
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax]
push ecx
call fcn.00458c60
add esp, 0x10
mov dword [ebp - 0x620], eax
cmp dword [ebp - 0x620], 0
je 0x47a946
jmp 0x473e03
cmp dword [ebp - 0x370], 0
jl 0x47a96d
mov edx, dword [ebp - 0xf4]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [edx]
push ecx
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx]
push eax
call fcn.00458bc0
add esp, 0xc
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 0xc], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x260], ecx
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 3]
test eax, eax
je 0x47a9fe
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x624], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb0]
mov dword [ebp - 0xfc], ecx
jmp 0x47a9d4
mov edx, dword [ebp - 0xfc]
mov eax, dword [edx + 4]
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0
je 0x47a9f0
mov ecx, dword [ebp - 0xfc]
mov edx, dword [ecx + 0x1c]
cmp edx, dword [ebp - 0x624]
je 0x47a9f0
jmp 0x47a9c5
cmp dword [ebp - 0xfc], 0
je 0x47a9fe
jmp case.0x473d07.61
mov eax, 4
imul ecx, eax, 0xa
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xdc]
mov edx, dword [edx + 0xb8]
cmp edx, dword [eax + ecx + 0x58]
jl 0x47aa3b
mov dword [ebp - 0xd8], 1
push str.too_many_levels_of_trigger_recursion
mov eax, dword [ebp + 8]
push eax
call fcn.00473190
add esp, 8
jmp case.0x473d07.61
mov ecx, dword [ebp - 0x260]
movzx edx, word [ecx + 8]
and edx, 0x40
jne 0x47ac2f
mov eax, dword [ebp - 0x16c]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x16c]
add ecx, dword [edx + 0xc]
mov dword [ebp - 0x4c8], ecx
imul eax, dword [ebp - 0x4c8], 0x28
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ecx + 0xc]
lea eax, [eax + edx*4 + 0x50]
mov ecx, dword [ebp - 0x16c]
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x628], eax
mov eax, dword [ebp - 0x628]
cdq
push edx
push eax
mov edx, dword [ebp - 0xdc]
push edx
call fcn.0044ec50
add esp, 0xc
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0
jne 0x47aab5
jmp 0x47c5eb
mov eax, dword [ebp - 0x260]
push eax
call fcn.0047dff0
add esp, 4
mov ecx, 0x40
mov edx, dword [ebp - 0x260]
mov word [edx + 8], cx
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0xfc]
mov dword [eax], ecx
mov edx, dword [ebp - 0xfc]
mov eax, dword [ebp + 8]
mov dword [edx], eax
mov ecx, dword [ebp - 0xfc]
mov edx, dword [ebp - 0x4c8]
mov dword [ecx + 0x3c], edx
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x40], edx
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0x104]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp - 0xfc]
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1c]
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov dword [eax + 0x28], edx
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x20]
mov dword [eax + 0x30], edx
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc8]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc4]
mov dword [eax + 0x38], edx
mov eax, 1
imul ecx, eax, 0x50
add ecx, dword [ebp - 0xfc]
mov edx, dword [ebp - 0xfc]
imul eax, dword [edx + 0x3c], 0x28
add ecx, eax
mov dword [ebp - 0x62c], ecx
mov ecx, 1
imul edx, ecx, 0x50
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x25c], edx
jmp 0x47abff
mov eax, dword [ebp - 0x25c]
add eax, 0x28
mov dword [ebp - 0x25c], eax
mov ecx, dword [ebp - 0x25c]
cmp ecx, dword [ebp - 0x62c]
je 0x47ac2d
mov edx, 0x80
mov eax, dword [ebp - 0x25c]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ebp - 0xdc]
mov dword [ecx + 0x20], edx
jmp 0x47abf0
jmp 0x47ac3d
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax]
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xb8], eax
mov edx, dword [ebp - 0xfc]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb0]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x1a4]
mov dword [edx + 0x20], eax
mov ecx, dword [ebp - 0x1a0]
mov dword [edx + 0x24], ecx
mov edx, dword [ebp - 0xfc]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5c]
mov dword [edx + 0x44], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xfc]
mov edx, dword [eax + 0x50]
mov dword [ecx + 0x48], edx
mov eax, dword [ebp + 8]
mov dword [eax + 0x5c], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xfc]
mov dword [ecx + 0xb0], edx
mov eax, 1
imul ecx, eax, 0x50
add ecx, dword [ebp - 0xfc]
mov edx, 0x28
imul eax, edx, 0xffffffff
add ecx, eax
mov dword [ebp - 0xe8], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xe8]
mov dword [ecx + 8], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xfc]
mov edx, dword [ecx + 0x3c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 0xfc]
movzx ecx, word [eax + 0x40]
mov edx, dword [ebp + 8]
mov dword [edx + 0x24], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
add ecx, 1
imul edx, ecx, 0x28
add edx, dword [ebp - 0xe8]
mov eax, dword [ebp + 8]
mov dword [eax + 0x38], edx
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ecx]
mov dword [ebp - 0x104], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x104]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x16c]
mov ecx, dword [eax + 4]
mov dword [edx + 0x20], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x24]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
lea eax, [edx + eax*4]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xc8], eax
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x16c]
mov ecx, dword [eax + 0x10]
mov dword [edx + 0xc4], ecx
mov edx, 0x14
imul eax, edx, 0xffffffff
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc4]
push edx
push 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc8]
push ecx
call fcn.00643fe0
add esp, 0xc
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0049d0f0
add esp, 8
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xb0]
mov dword [ebp - 0x3cc], edx
mov eax, dword [ebp - 0x3cc]
imul ecx, dword [eax + 0x2c], 0x14
mov edx, dword [ebp - 0x3cc]
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0xd4]
mov edx, dword [edx + 4]
add edx, dword [eax + ecx + 4]
imul eax, edx, 0x28
mov ecx, dword [ebp - 0x3cc]
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x630], eax
push 0x1000
mov edx, dword [ebp - 0x630]
push edx
mov eax, dword [ebp - 0xe0]
push eax
call fcn.0047d480
add esp, 0xc
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x18]
and edx, 0x1000000
je 0x47ae5b
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 8]
cdq
mov ecx, dword [ebp - 0xdc]
add eax, dword [ecx + 0x200]
adc edx, dword [ecx + 0x204]
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x200], eax
mov dword [ecx + 0x204], edx
jmp 0x47aebf
mov edx, dword [ebp - 0xd4]
cmp dword [edx + 4], 0
je 0x47ae97
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 8]
cdq
mov ecx, dword [ebp - 0xdc]
add eax, dword [ecx + 0x1f8]
adc edx, dword [ecx + 0x1fc]
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x1f8], eax
mov dword [ecx + 0x1fc], edx
jmp 0x47aebf
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 8]
cdq
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x90]
adc edx, dword [ecx + 0x94]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x90], eax
mov dword [ecx + 0x94], edx
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
cmp dword [edx + 4], 0
je 0x47af23
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x4cc], eax
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [ebp - 0x4cc]
mov eax, dword [ecx + 0x1f8]
or eax, dword [edx + 0x1fc]
jne 0x47af21
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x4d0], ecx
mov edx, dword [ebp - 0x4d0]
mov eax, dword [ebp - 0x4d0]
mov ecx, dword [edx + 0x200]
or ecx, dword [eax + 0x204]
jne 0x47af21
jmp 0x473e03
jmp 0x47af71
mov edx, dword [ebp + 8]
mov dword [ebp - 0x4d4], edx
mov eax, dword [ebp - 0x4d4]
mov ecx, dword [ebp - 0x4d4]
mov edx, dword [eax + 0x90]
or edx, dword [ecx + 0x94]
jne 0x47af71
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x4d8], eax
mov ecx, dword [ebp - 0x4d8]
mov edx, dword [ebp - 0x4d8]
mov eax, dword [ecx + 0x200]
or eax, dword [edx + 0x204]
jne 0x47af71
jmp 0x473e03
jmp case.0x473d07.61
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xb0], 0
je 0x47afcb
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb0]
mov dword [ebp - 0x2bc], eax
jmp 0x47afa2
mov ecx, dword [ebp - 0x2bc]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x2bc], edx
mov eax, dword [ebp - 0x2bc]
cmp dword [eax + 4], 0
je 0x47afb0
jmp 0x47af93
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 4], 0x28
mov eax, dword [ebp - 0x2bc]
add edx, dword [eax + 0x10]
mov dword [ebp - 0xe4], edx
jmp 0x47afe1
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 4], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xe4]
push eax
call fcn.0047dc10
add esp, 4
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 8], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0xf8], edx
mov eax, dword [ebp - 0xf8]
push eax
call fcn.0047dc10
add esp, 4
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xf8]
mov dword [ebp - 0x4dc], ecx
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4dc]
mov ecx, dword [ebp - 0x4e0]
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 4]
jg 0x47b06b
jl 0x47b055
mov eax, dword [ebp - 0x4dc]
mov ecx, dword [ebp - 0x4e0]
mov edx, dword [eax]
cmp edx, dword [ecx]
jae 0x47b06b
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 4], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x4e4], ecx
mov edx, dword [ebp - 0x4e4]
cmp dword [edx + 4], 0
jl 0x47b0d4
jg 0x47b0ab
mov eax, dword [ebp - 0x4e4]
cmp dword [eax], 0
jbe 0x47b0d4
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ecx + 0xc]
cdq
mov ecx, dword [ebp - 0xe4]
mov esi, dword [ecx]
sub esi, eax
mov eax, dword [ecx + 4]
sbb eax, edx
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], esi
mov dword [ecx + 4], eax
jmp 0x473e03
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 4], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x4e8], ecx
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 4], 0
jg 0x47b142
jl 0x47b114
mov eax, dword [ebp - 0x4e8]
cmp dword [eax], 0
ja 0x47b142
mov ecx, dword [ebp - 0xd4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0049d0f0
add esp, 8
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0xc]
cdq
mov ecx, dword [ebp - 0xe0]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 4], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x4ec]
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [edx]
or ecx, dword [eax + 4]
je 0x47b1a5
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0xc]
cdq
mov ecx, dword [ebp - 0xe4]
mov esi, dword [ecx]
sub esi, eax
mov eax, dword [ecx + 4]
sbb eax, edx
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], esi
mov dword [ecx + 4], eax
jmp 0x473e03
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 4], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx]
sub edx, 1
mov eax, dword [ecx + 4]
sbb eax, 0
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0x4f0], edx
mov eax, dword [ebp - 0x4f0]
mov ecx, dword [ebp - 0x4f0]
mov edx, dword [eax]
or edx, dword [ecx + 4]
jne 0x47b200
jmp 0x473e03
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 4], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx]
mov dword [ebp - 0x6f8], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x6f4], ecx
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [edx + 4]
adc ecx, 0
mov edx, dword [ebp - 0xe4]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x6f8]
or eax, dword [ebp - 0x6f4]
jne 0x47b261
jmp 0x473e03
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx + 3]
mov dword [ebp - 0x4f4], edx
mov eax, dword [ebp - 0x4f4]
lea ecx, [eax*4 + 0x1c]
xor edx, edx
push edx
push ecx
mov eax, dword [ebp - 0xdc]
push eax
call fcn.0044ec90
add esp, 0xc
mov dword [ebp - 0x1f0], eax
cmp dword [ebp - 0x1f0], 0
jne 0x47b2aa
jmp 0x47c5eb
mov ecx, dword [ebp - 0x1f0]
mov dword [ecx + 8], 0
mov edx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x10]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0x104]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp - 0x1f0]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp + 8]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0x1f0]
mov al, byte [ebp - 0x4f4]
mov byte [edx + 0x1a], al
mov ecx, dword [ebp - 0xd4]
mov byte [ecx + 1], 0xec
mov edx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x1f0]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0xd4]
mov byte [ecx], 0x90
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x134], eax
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 0xc], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0x2c0], edx
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 8]
cmp ecx, dword [ebp - 0x2c0]
je 0x47b3bf
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x2c0]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x134]
movzx edx, byte [ecx + 0x1a]
sub edx, 1
mov dword [ebp - 0x1bc], edx
jmp 0x47b38c
mov eax, dword [ebp - 0x1bc]
sub eax, 1
mov dword [ebp - 0x1bc], eax
cmp dword [ebp - 0x1bc], 0
jl 0x47b3bf
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 8]
add edx, dword [ebp - 0x1bc]
imul eax, edx, 0x28
add eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x134]
mov dword [edx + ecx*4 + 0x1c], eax
jmp 0x47b37d
mov eax, dword [ebp - 0x2c0]
mov ecx, dword [eax + 0xc]
add ecx, 1
mov edx, dword [ebp - 0x2c0]
mov dword [edx + 0xc], ecx
push 1
mov eax, dword [ebp - 0xdc]
push eax
lea ecx, [ebp - 0x818]
push ecx
call fcn.0047d870
add esp, 0xc
mov edx, dword [ebp - 0x134]
lea eax, [ebp - 0x818]
mov dword [edx], eax
mov ecx, dword [ebp - 0x134]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0x134]
mov byte [edx + 0x18], 0
mov eax, dword [ebp - 0x134]
add eax, 0x1c
push eax
mov ecx, dword [ebp - 0x134]
movzx edx, byte [ecx + 0x1a]
push edx
mov eax, dword [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x134]
mov edx, dword [ecx + 4]
mov eax, dword [edx + 0x10]
call eax
add esp, 0xc
mov ecx, dword [ebp - 0x134]
movzx edx, byte [ecx + 0x19]
test edx, edx
je 0x47b494
mov eax, dword [ebp - 0x134]
cmp dword [eax + 0x14], 0
je 0x47b485
lea ecx, [ebp - 0x818]
push ecx
call fcn.00441910
add esp, 4
push eax
push 0x6e9560
mov edx, dword [ebp + 8]
push edx
call fcn.00473190
add esp, 0xc
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0xd8], ecx
lea edx, [ebp - 0x818]
push edx
call fcn.0047dff0
add esp, 4
mov eax, dword [ebp - 0x134]
movzx ecx, byte [eax + 0x18]
test ecx, ecx
je 0x47b4dd
mov edx, 0x14
imul eax, edx, 0xffffffff
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + eax + 4]
mov dword [ebp - 0x1bc], edx
cmp dword [ebp - 0x1bc], 0
je 0x47b4dd
push 0
push 1
imul eax, dword [ebp - 0x1bc], 0x28
add eax, dword [ebp - 0xe8]
push eax
call fcn.0047d7e0
add esp, 0xc
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
imul edx, dword [ecx + 4], 0x28
add edx, dword [ebp - 0xe8]
mov dword [ebp - 0x2c4], edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x2c4]
push edx
call fcn.0047e020
add esp, 8
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x47b541
mov eax, dword [ebp - 0x2c4]
push eax
call fcn.00441910
add esp, 4
push eax
push 0x6e963c
mov ecx, dword [ebp + 8]
push ecx
call fcn.00473190
add esp, 0xc
movzx edx, byte [ebp - 0xe9]
push edx
mov eax, dword [ebp - 0x2c4]
push eax
call fcn.0047d340
add esp, 8
mov ecx, dword [ebp - 0x2c4]
push ecx
call fcn.0047d380
add esp, 4
test eax, eax
je 0x47b570
jmp 0x47c5cb
jmp case.0x473d07.61
mov edx, 4
imul eax, edx, 0
mov dword [ebp + eax - 0xd0], 0
mov ecx, 4
shl ecx, 1
mov dword [ebp + ecx - 0xd0], 0xffffffff
mov edx, 4
shl edx, 0
mov dword [ebp + edx - 0xd0], 0xffffffff
mov eax, 4
shl eax, 1
lea ecx, [ebp + eax - 0xd0]
push ecx
mov edx, 4
shl edx, 0
lea eax, [ebp + edx - 0xd0]
push eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0xdc]
push edx
call fcn.004719a0
add esp, 0x14
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 5
jne 0x47b61b
mov dword [ebp - 0xd8], 0
mov eax, 4
imul ecx, eax, 0
mov dword [ebp + ecx - 0xd0], 1
mov dword [ebp - 0x2c8], 0
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 0xc], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0x378], eax
jmp 0x47b65b
mov ecx, dword [ebp - 0x2c8]
add ecx, 1
mov dword [ebp - 0x2c8], ecx
mov edx, dword [ebp - 0x378]
add edx, 0x28
mov dword [ebp - 0x378], edx
cmp dword [ebp - 0x2c8], 3
jge 0x47b685
mov eax, dword [ebp - 0x2c8]
mov eax, dword [ebp + eax*4 - 0xd0]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x378]
push ecx
call fcn.0047d7e0
add esp, 0xc
jmp 0x47b63d
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0049d0f0
add esp, 8
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
shl ecx, 4
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0x500], ecx
mov edx, dword [ebp - 0x500]
push edx
call fcn.00448830
add esp, 4
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x1a8]
push eax
call fcn.0044bf80
add esp, 4
mov dword [ebp - 0x1ac], eax
cmp dword [ebp - 0x138], 0xffffffff
jne 0x47b710
mov ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x138], ecx
mov edx, dword [ebp - 0x1a8]
push edx
call fcn.0044bf90
add esp, 4
test eax, eax
jne 0x47b72f
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x138], eax
push 1
mov ecx, dword [ebp - 0x1a8]
push ecx
call fcn.0044d5d0
add esp, 8
mov dword [ebp - 0x634], eax
cmp dword [ebp - 0x138], 5
jne 0x47b781
mov edx, dword [ebp - 0x634]
push edx
call fcn.0044e9c0
add esp, 4
test eax, eax
je 0x47b775
mov eax, dword [ebp - 0x1a8]
push eax
call fcn.0044d370
add esp, 4
test eax, eax
jne 0x47b781
mov ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x138], ecx
mov edx, dword [ebp - 0x138]
cmp edx, dword [ebp - 0x1ac]
je 0x47b8ae
cmp dword [ebp - 0x1ac], 5
je 0x47b7a9
cmp dword [ebp - 0x138], 5
jne 0x47b8ae
mov eax, dword [ebp - 0xdc]
movzx ecx, byte [eax + 0x3f]
test ecx, ecx
je 0x47b7c6
mov edx, dword [ebp - 0xdc]
cmp dword [edx + 0x98], 1
jle 0x47b811
mov dword [ebp - 0xd8], 1
cmp dword [ebp - 0x138], 5
jne 0x47b7e5
mov dword [ebp - 0x4f8], str.into
jmp 0x47b7ef
mov dword [ebp - 0x4f8], str.out_of
mov eax, dword [ebp - 0x4f8]
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov ecx, dword [ebp + 8]
push ecx
call fcn.00473190
add esp, 0xc
jmp case.0x473d07.61
cmp dword [ebp - 0x1ac], 5
jne 0x47b850
mov edx, dword [ebp - 0x1a8]
push edx
call fcn.0044d460
add esp, 4
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
jne 0x47b84e
mov eax, dword [ebp - 0x138]
push eax
mov ecx, dword [ebp - 0x1a8]
push ecx
call fcn.0044be20
add esp, 8
jmp 0x47b86a
cmp dword [ebp - 0x1ac], 4
jne 0x47b86a
push 2
mov edx, dword [ebp - 0x1a8]
push edx
call fcn.0044be20
add esp, 8
cmp dword [ebp - 0xd8], 0
jne 0x47b8ae
cmp dword [ebp - 0x138], 5
jne 0x47b888
mov dword [ebp - 0x4fc], 2
jmp 0x47b892
mov dword [ebp - 0x4fc], 1
mov eax, dword [ebp - 0x4fc]
push eax
mov ecx, dword [ebp - 0x500]
push ecx
call fcn.00448930
add esp, 8
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x47b8c3
mov edx, dword [ebp - 0x1ac]
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x138]
push eax
mov ecx, dword [ebp - 0x1a8]
push ecx
call fcn.0044be20
add esp, 8
mov dword [ebp - 0x138], eax
mov edx, 0xa02
mov eax, dword [ebp - 0xe0]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0x138]
push ecx
call fcn.00471980
add esp, 4
mov edx, dword [ebp - 0xe0]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.0044e9c0
add esp, 4
mov edx, dword [ebp - 0xe0]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0xe0]
mov byte [eax + 0xa], 1
movzx ecx, byte [ebp - 0xe9]
push ecx
mov edx, dword [ebp - 0xe0]
push edx
call fcn.0047d340
add esp, 8
jmp case.0x473d07.61
mov eax, dword [ebp - 0xdc]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x2c
push ecx
call fcn.00464050
add esp, 8
mov dword [ebp - 0xd8], eax
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + eax + 4]
mov dword [ebp - 0x638], eax
mov ecx, dword [ebp - 0x638]
push ecx
call fcn.00446db0
add esp, 4
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0x65
jne 0x47b9b4
mov dword [ebp - 0xd8], 0
jmp 0x473e03
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
cmp dword [edx + 4], 0
jne 0x47b9d6
mov eax, dword [ebp - 0xdc]
push eax
call fcn.0046d880
add esp, 4
jmp 0x47b9e5
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x58]
or edx, 8
mov eax, dword [ebp + 8]
mov dword [eax + 0x58], edx
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
mov dl, byte [ecx + 0xc]
mov byte [ebp - 0x155], dl
movzx eax, byte [ebp - 0x155]
test eax, eax
jne 0x47ba15
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x18]
and edx, 0x4000
jne 0x47ba92
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x63c], ecx
movzx edx, byte [ebp - 0x155]
push edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x63c]
shl edx, 4
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00446af0
add esp, 0xc
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xd8]
and eax, 0xff
cmp eax, 6
jne 0x47ba92
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x700], edx
mov eax, dword [ebp - 0x700]
push eax
push str.database_table_is_locked:__s
mov ecx, dword [ebp + 8]
push ecx
call fcn.00473190
add esp, 0xc
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x37c], eax
mov ecx, dword [ebp - 0x37c]
push ecx
mov edx, dword [ebp - 0xdc]
push edx
call fcn.00471300
add esp, 8
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0x37c], 0
je 0x47bae1
mov eax, dword [ebp - 0x37c]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00470880
add esp, 8
jmp case.0x473d07.61
push 0x28
push 0
lea eax, [ebp - 0x7f0]
push eax
call fcn.00643fe0
add esp, 0xc
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x7d0], ecx
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 8], 0x28
add eax, dword [ebp - 0xe8]
push eax
lea ecx, [ebp - 0x7f0]
push ecx
call fcn.0047d3f0
add esp, 8
mov dword [ebp - 0xd8], eax
lea edx, [ebp - 0x7f0]
push edx
call fcn.00441910
add esp, 4
mov dword [ebp - 0x504], eax
cmp dword [ebp - 0x504], 0
je 0x47bb76
mov eax, dword [ebp + 8]
add eax, 0x2c
push eax
mov ecx, dword [ebp - 0x504]
push ecx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.00471000
add esp, 0x10
mov dword [ebp - 0xd8], eax
lea edx, [ebp - 0x7f0]
push edx
call fcn.0047dff0
add esp, 4
jmp case.0x473d07.61
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0xa4]
add ecx, 1
mov edx, dword [ebp - 0xdc]
mov dword [edx + 0xa4], ecx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.00471220
add esp, 0xc
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0xa4]
sub eax, 1
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0xa4], eax
jmp case.0x473d07.61
mov dword [ebp - 0x380], 0
mov dword [ebp - 0x2cc], 0
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x1c0], ecx
cmp dword [ebp - 0x1c0], 0
je 0x47bc28
mov edx, dword [ebp - 0x1c0]
cmp dword [edx], 0
jne 0x47bc37
mov dword [ebp - 0xd8], 6
jmp case.0x473d07.61
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [eax]
mov dword [ebp - 0x508], ecx
lea edx, [ebp - 0x2cc]
push edx
mov eax, dword [ebp - 0x1c0]
push eax
mov ecx, dword [ebp - 0x508]
mov edx, dword [ecx + 0x18]
call edx
add esp, 8
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x1c0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00470880
add esp, 8
cmp dword [ebp - 0xd8], 0
jne 0x47bcfc
mov edx, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x1c0]
mov dword [edx], eax
push 0
push 0xffffffffffffffff
push 0
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0049cde0
add esp, 0x14
mov dword [ebp - 0x380], eax
cmp dword [ebp - 0x380], 0
je 0x47bce2
mov ecx, dword [ebp - 0x380]
mov edx, dword [ebp - 0x2cc]
mov dword [ecx + 0x24], edx
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [eax + 4]
add ecx, 1
mov edx, dword [ebp - 0x1c0]
mov dword [edx + 4], ecx
jmp 0x47bcfc
mov eax, dword [ebp - 0x2cc]
push eax
mov ecx, dword [ebp - 0x508]
mov edx, dword [ecx + 0x1c]
call edx
add esp, 4
jmp 0x47c5eb
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 0xc], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x50c], ecx
mov edx, 0x28
shl edx, 0
add edx, dword [ebp - 0x50c]
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x38]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x524], ecx
mov edx, dword [ebp - 0x524]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x384], eax
mov ecx, dword [ebp - 0x384]
mov edx, dword [ecx]
mov dword [ebp - 0x51c], edx
mov eax, dword [ebp - 0x51c]
mov ecx, dword [eax]
mov dword [ebp - 0x520], ecx
mov edx, dword [ebp - 0x510]
mov eax, dword [edx]
mov dword [ebp - 0x518], eax
mov ecx, dword [ebp - 0x50c]
mov edx, dword [ecx]
mov dword [ebp - 0x644], edx
mov dword [ebp - 0x528], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x514], ecx
mov dword [ebp - 0x264], 0
jmp 0x47bdbb
mov edx, dword [ebp - 0x264]
add edx, 1
mov dword [ebp - 0x264], edx
mov eax, dword [ebp - 0x264]
cmp eax, dword [ebp - 0x518]
jge 0x47bdec
mov ecx, dword [ebp - 0x264]
add ecx, 1
imul edx, ecx, 0x28
add edx, dword [ebp - 0x510]
mov eax, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x514]
mov dword [ecx + eax*4], edx
jmp 0x47bdac
mov edx, dword [ebp - 0x514]
push edx
mov eax, dword [ebp - 0x518]
push eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x644]
push eax
mov ecx, dword [ebp - 0x384]
push ecx
mov edx, dword [ebp - 0x520]
mov eax, dword [edx + 0x20]
call eax
add esp, 0x14
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x51c]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00470880
add esp, 8
cmp dword [ebp - 0xd8], 0
jne 0x47be5d
mov eax, dword [ebp - 0x384]
push eax
mov ecx, dword [ebp - 0x520]
mov edx, dword [ecx + 0x28]
call edx
add esp, 4
mov dword [ebp - 0x528], eax
mov eax, dword [ebp - 0x524]
mov byte [eax + 0x19], 0
cmp dword [ebp - 0x528], 0
je 0x47be75
jmp 0x473e03
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x3ac], edx
mov eax, dword [ebp - 0xd4]
imul ecx, dword [eax + 0xc], 0x28
add ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0x3ac]
movzx eax, byte [edx + 0x19]
test eax, eax
je 0x47beca
mov ecx, dword [ebp - 0x218]
push ecx
call fcn.0047d8a0
add esp, 4
jmp case.0x473d07.61
mov edx, dword [ebp - 0x3ac]
mov eax, dword [edx + 0x24]
mov ecx, dword [eax]
mov dword [ebp - 0x52c], ecx
mov edx, dword [ebp - 0x52c]
mov eax, dword [edx]
mov dword [ebp - 0x648], eax
push 0x20
push 0
lea ecx, [ebp - 0x7a0]
push ecx
call fcn.00643fe0
add esp, 0xc
mov edx, dword [ebp - 0x218]
mov dword [ebp - 0x7a0], edx
mov eax, dword [ebp - 0x218]
movzx ecx, word [eax + 8]
and ecx, 0xffffbe00
or ecx, 1
mov edx, dword [ebp - 0x218]
mov word [edx + 8], cx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 8]
push ecx
lea edx, [ebp - 0x7a0]
push edx
mov eax, dword [ebp - 0x3ac]
mov ecx, dword [eax + 0x24]
push ecx
mov edx, dword [ebp - 0x648]
mov eax, dword [edx + 0x2c]
call eax
add esp, 0xc
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x52c]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00470880
add esp, 8
cmp dword [ebp - 0x78c], 0
je 0x47bf7c
mov eax, dword [ebp - 0x78c]
mov dword [ebp - 0xd8], eax
movzx ecx, byte [ebp - 0xe9]
push ecx
mov edx, dword [ebp - 0x218]
push edx
call fcn.0047d340
add esp, 8
mov eax, dword [ebp - 0x218]
push eax
call fcn.0047d380
add esp, 4
test eax, eax
je 0x47bfab
jmp 0x47c5cb
jmp case.0x473d07.61
mov dword [ebp - 0x538], 0
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x2d0], edx
mov eax, dword [ebp - 0x2d0]
movzx ecx, byte [eax + 0x19]
test ecx, ecx
je 0x47bfe5
jmp case.0x473d07.61
mov edx, dword [ebp - 0x2d0]
mov eax, dword [edx + 0x24]
mov ecx, dword [eax]
mov dword [ebp - 0x530], ecx
mov edx, dword [ebp - 0x530]
mov eax, dword [edx]
mov dword [ebp - 0x534], eax
mov ecx, dword [ebp - 0x2d0]
mov edx, dword [ecx + 0x24]
push edx
mov eax, dword [ebp - 0x534]
mov ecx, dword [eax + 0x24]
call ecx
add esp, 4
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0x530]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00470880
add esp, 8
cmp dword [ebp - 0xd8], 0
jne 0x47c05c
mov ecx, dword [ebp - 0x2d0]
mov edx, dword [ecx + 0x24]
push edx
mov eax, dword [ebp - 0x534]
mov ecx, dword [eax + 0x28]
call ecx
add esp, 4
mov dword [ebp - 0x538], eax
cmp dword [ebp - 0x538], 0
jne 0x47c06a
jmp case.0x473d07.13
jmp 0x473d29
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x38c], ecx
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 4], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0x53c], eax
push 1
mov ecx, dword [ebp - 0x53c]
push ecx
call fcn.0047d340
add esp, 8
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
jne 0x47c100
mov edx, dword [ebp - 0x53c]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x38c]
push ecx
mov edx, dword [ebp - 0x38c]
mov eax, dword [edx]
mov ecx, dword [eax + 0x4c]
call ecx
add esp, 8
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0x38c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00470880
add esp, 8
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x58]
and edx, 0xfffffff7
mov eax, dword [ebp + 8]
mov dword [eax + 0x58], edx
jmp case.0x473d07.61
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 8]
mov dword [ebp - 0x268], eax
cmp dword [ebp - 0x268], 0
je 0x47c12b
mov ecx, dword [ebp - 0x268]
cmp dword [ecx], 0
jne 0x47c13a
mov dword [ebp - 0xd8], 6
jmp case.0x473d07.61
mov edx, dword [ebp - 0x268]
mov eax, dword [edx]
mov dword [ebp - 0x548], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x544], edx
mov eax, dword [ebp - 0x548]
cmp dword [eax + 0x34], 0
je 0x47c315
mov ecx, dword [ebp - 0xdc]
mov dl, byte [ecx + 0x45]
mov byte [ebp - 0x1f5], dl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x540], ecx
mov edx, dword [ebp - 0xd4]
imul eax, dword [edx + 0xc], 0x28
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0x390], eax
mov dword [ebp - 0x2d4], 0
jmp 0x47c1b3
mov ecx, dword [ebp - 0x2d4]
add ecx, 1
mov dword [ebp - 0x2d4], ecx
mov edx, dword [ebp - 0x2d4]
cmp edx, dword [ebp - 0x544]
jge 0x47c1e7
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x540]
mov edx, dword [ebp - 0x390]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x390]
add eax, 0x28
mov dword [ebp - 0x390], eax
jmp 0x47c1a4
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd4]
mov al, byte [edx + 3]
mov byte [ecx + 0x45], al
lea ecx, [ebp - 0x708]
push ecx
mov edx, dword [ebp - 0x540]
push edx
mov eax, dword [ebp - 0x544]
push eax
mov ecx, dword [ebp - 0x268]
push ecx
mov edx, dword [ebp - 0x548]
mov eax, dword [edx + 0x34]
call eax
add esp, 0x10
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xdc]
mov dl, byte [ebp - 0x1f5]
mov byte [ecx + 0x45], dl
mov eax, dword [ebp - 0x268]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00470880
add esp, 8
cmp dword [ebp - 0xd8], 0
jne 0x47c290
mov edx, dword [ebp - 0xd4]
cmp dword [edx + 4], 0
je 0x47c290
mov eax, dword [ebp - 0x708]
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0x704]
mov dword [ebp - 0x1a0], ecx
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x1a4]
mov dword [edx + 0x20], eax
mov ecx, dword [ebp - 0x1a0]
mov dword [edx + 0x24], ecx
mov edx, dword [ebp - 0xd8]
and edx, 0xff
cmp edx, 0x13
jne 0x47c306
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x10]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x47c306
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax + 3]
cmp ecx, 4
jne 0x47c2cd
mov dword [ebp - 0xd8], 0
jmp 0x47c304
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 3]
cmp eax, 5
jne 0x47c2e8
mov dword [ebp - 0x54c], 2
jmp 0x47c2f8
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx + 3]
mov dword [ebp - 0x54c], edx
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x54c]
mov byte [eax + 0x56], cl
jmp 0x47c315
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5c]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x5c], eax
jmp case.0x473d07.61
mov edx, dword [ebp - 0xd4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0049d0f0
add esp, 8
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
shl edx, 4
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx + 4]
push edx
call fcn.00446070
add esp, 4
xor ecx, ecx
mov edx, dword [ebp - 0xe0]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp case.0x473d07.61
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0049d0f0
add esp, 8
mov dword [ebp - 0xe0], eax
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + eax + 4]
mov dword [ebp - 0x550], eax
mov dword [ebp - 0x2d8], 0
mov ecx, dword [ebp - 0xd4]
cmp dword [ecx + 0xc], 0
je 0x47c3ea
mov edx, dword [ebp - 0x550]
push edx
call fcn.00446070
add esp, 4
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0x2d8]
cmp ecx, dword [eax + 0xc]
jae 0x47c3ea
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x2d8], eax
mov ecx, dword [ebp - 0x2d8]
push ecx
mov edx, dword [ebp - 0x550]
push edx
call fcn.00446030
add esp, 8
cdq
mov ecx, dword [ebp - 0xe0]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x473d07.61
mov edx, dword [ebp - 0xdc]
cmp dword [edx + 0xb0], 0
je 0x47c4cb
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x58]
shr ecx, 9
and ecx, 1
jne 0x47c4cb
mov edx, dword [ebp - 0xd4]
cmp dword [edx + 0x10], 0
je 0x47c453
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x554], ecx
jmp 0x47c462
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa8]
mov dword [ebp - 0x554], eax
mov ecx, dword [ebp - 0x554]
mov dword [ebp - 0x558], ecx
cmp dword [ebp - 0x558], 0
je 0x47c4cb
mov edx, dword [ebp - 0x558]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0044a310
add esp, 8
mov dword [ebp - 0x55c], eax
mov ecx, dword [ebp - 0x55c]
push ecx
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0xb4]
push eax
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0xb0]
call edx
add esp, 8
mov eax, dword [ebp - 0x55c]
push eax
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.0044f1a0
add esp, 8
mov edx, dword [ebp - 0xd4]
cmp dword [edx + 8], 0
je case.0x473d07.61
jmp 0x473e03
jmp 0x473c95
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 0x50], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xa8]
push edx
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0x104]
cdq
mov ecx, 0x14
idiv ecx
push eax
push str.statement_aborts_at__d:___s___s
mov edx, dword [ebp - 0xd8]
push edx
call fcn.00444fa0
add esp, 0x14
mov eax, dword [ebp + 8]
push eax
call fcn.0047ce50
add esp, 4
cmp dword [ebp - 0xd8], 0xc0a
jne 0x47c549
mov ecx, dword [ebp - 0xdc]
mov byte [ecx + 0x41], 1
mov dword [ebp - 0xd8], 1
movzx edx, byte [ebp - 0x121]
test edx, edx
jle 0x47c578
movzx eax, byte [ebp - 0x121]
sub eax, 1
push eax
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.00455f30
add esp, 8
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x1a4]
mov dword [edx + 0x20], eax
mov ecx, dword [ebp - 0x1a0]
mov dword [edx + 0x24], ecx
mov edx, 4
shl edx, 2
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edx + 0x6c]
add ecx, dword [ebp - 0x1f4]
mov edx, 4
shl edx, 2
mov eax, dword [ebp + 8]
mov dword [eax + edx + 0x6c], ecx
mov ecx, dword [ebp + 8]
push ecx
call fcn.0047f110
add esp, 4
mov eax, dword [ebp - 0xd8]
jmp 0x47c69b
push str.string_or_blob_too_big
mov edx, dword [ebp + 8]
push edx
call fcn.00473190
add esp, 8
mov dword [ebp - 0xd8], 0x12
jmp 0x47c4e1
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x41], 1
push str.out_of_memory
mov ecx, dword [ebp + 8]
push ecx
call fcn.00473190
add esp, 8
mov dword [ebp - 0xd8], 7
jmp 0x47c4e1
mov edx, dword [ebp - 0xdc]
movzx eax, byte [edx + 0x41]
test eax, eax
je 0x47c62d
mov dword [ebp - 0xd8], 7
cmp dword [ebp - 0xd8], 0xc0a
je 0x47c65a
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.0046bb60
add esp, 4
push eax
push 0x6e9de4
mov edx, dword [ebp + 8]
push edx
call fcn.00473190
add esp, 0xc
jmp 0x47c4e1
mov dword [ebp - 0xd8], 9
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 0x50], ecx
mov edx, dword [ebp - 0xd8]
push edx
call fcn.0046bb60
add esp, 4
push eax
push 0x6e9e00
mov eax, dword [ebp + 8]
push eax
call fcn.00473190
add esp, 0xc
jmp 0x47c4e1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00641b27
mov esp, ebp
pop ebp
ret