Function at 0x434df0
Capabilities:
Enumerate pe sections
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x100
mov eax, dword [0x4dd704]
xor eax, esp
mov dword [esp + 0xfc], eax
push ebx
mov ebx, dword [esp + 0x108]
mov ecx, dword [ebx]
xor eax, eax
push ebp
mov dword [esp + 0x10], ecx
mov ecx, dword [ecx + 8]
mov edx, dword [ecx + 0xc]
mov cl, byte [edx + 0x49]
push esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
lea eax, [ebx + 0x88]
push edi
push eax
mov byte [esp + 0x34], cl
mov dword [esp + 0x50], eax
call fcn.00422ef0
add esp, 4
cmp dword [ebx + 0x64], 7
je 0x435424
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov dword [ebx + 0x64], ecx
mov dword [ebx + 0x2c], ecx
mov edx, dword [eax + 0xd8]
test edx, edx
mov dword [eax + 0x1a0], ecx
jne 0x43978f
mov ecx, dword [ebx + 0x60]
mov dword [esp + 0x20], ecx
jmp 0x434e90
cmp byte [eax + 0x1e], 0
jne 0x435424
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x14]
lea ebp, [eax + edx*4]
mov eax, dword [esi + 0x100]
test eax, eax
je 0x434ede
mov ecx, dword [esp + 0x44]
cmp dword [esi + 0x108], ecx
jne 0x434ed7
mov ecx, dword [esi + 0x104]
push ecx
call eax
add esp, 4
test eax, eax
jne 0x43960b
xor ecx, ecx
add ecx, 1
mov dword [esp + 0x44], ecx
movzx edx, byte [ebp]
mov cl, byte [edx + 0x4c72c8]
test cl, 2
je 0x434f17
mov eax, dword [ebp + 8]
mov ecx, dword [ebx + 0x58]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov esi, edi
mov dword [esp + 0x24], edi
call fcn.00423810
mov esi, dword [esp + 0x18]
mov word [edi + 0x1c], 1
mov dword [edi + 0x18], 0
jmp 0x434f63
test cl, 4
je 0x434f7c
test cl, 8
mov eax, dword [ebp + 4]
mov edi, dword [ebx + 0x58]
lea edx, [eax + eax*4]
lea eax, [edi + edx*8]
mov dword [esp + 0x1c], eax
je 0x434f4d
mov eax, dword [ebp + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea edx, [edi + ecx*8]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], edi
jmp 0x434f63
test cl, 0x10
je 0x434f5f
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea edx, [edi + ecx*8]
mov dword [esp + 0x2c], edx
mov edi, dword [esp + 0x24]
movzx eax, byte [ebp]
add eax, 0xffffffff
cmp eax, 0x90
ja case.0x434f75.9
jmp dword [eax*4 + 0x4397a4]
test cl, 8
je 0x434f93
mov eax, dword [ebp + 8]
mov ecx, dword [ebx + 0x58]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov dword [esp + 0x28], edx
jmp 0x434f5f
test cl, 0x10
mov edi, dword [esp + 0x24]
je 0x434f63
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebx + 0x58]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov dword [esp + 0x2c], edx
jmp 0x434f63
mov eax, dword [esi + 0xd8]
test eax, eax
jne 0x43978f
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
mov eax, dword [ebp + 4]
mov edx, dword [ebx + 0x58]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x20]
lea ecx, [edx + ecx*8]
cdq
mov dword [ecx], eax
mov word [ecx + 0x1c], 4
mov dword [ecx + 4], edx
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
jmp case.0x434f75.9
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov dword [esp + 0x20], edx
jmp case.0x434f75.9
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov word [ecx + 0x1c], 4
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x20]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x20], ecx
jmp case.0x434f75.9
mov edx, dword [esp + 0x2c]
test byte [edx + 0x1c], 1
je case.0x434f75.9
cmp dword [ebp + 4], 0
jne 0x439618
mov eax, dword [ebx + 0xdc]
test eax, eax
je 0x439618
mov ecx, dword [eax + 0x3c]
add dword [ebx + 0xe0], 0xffffffff
mov dword [ebx + 0xdc], ecx
mov ecx, dword [ebx + 0x74]
add dword [esi + 0x40], ecx
mov dword [esi + 0x3c], ecx
call fcn.0042afb0
cmp dword [ebp + 8], 4
mov dword [esp + 0x20], eax
jne case.0x434f75.9
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x14]
mov ecx, dword [eax + edx*4 + 8]
sub ecx, 1
mov dword [esp + 0x20], ecx
jmp case.0x434f75.9
mov word [edi + 0x1c], 4
mov eax, dword [ebp + 4]
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp case.0x434f75.9
mov word [edi + 0x1c], 4
mov ebp, dword [ebp + 0x10]
mov edx, dword [ebp]
mov dword [edi], edx
mov eax, dword [ebp + 4]
mov dword [edi + 4], eax
jmp case.0x434f75.9
mov word [edi + 0x1c], 8
mov ecx, dword [ebp + 0x10]
fld qword [ecx]
fstp qword [edi + 8]
jmp case.0x434f75.9
mov ecx, dword [ebp + 0x10]
mov byte [ebp], 9
mov dword [esp + 0x38], ecx
call fcn.0040f940
cmp byte [esp + 0x30], 1
mov dword [ebp + 4], eax
je 0x4351f9
test ecx, ecx
jne 0x435108
push edi
call fcn.00423b90
add esp, 4
jmp 0x435199
mov eax, dword [edi + 0x10]
test eax, eax
je 0x435118
mov eax, dword [eax + 0x48]
mov dword [esp + 0x34], eax
jmp 0x435124
mov dword [esp + 0x34], 0x3b9aca00
mov eax, dword [esp + 0x34]
xor esi, esi
test eax, eax
jl 0x43513d
lea ebx, [ebx]
cmp byte [esi + ecx], 0
je 0x43513d
add esi, 1
cmp esi, eax
jle 0x435130
xor edx, edx
cmp edx, fcn.0040f470
mov dword [esp + 0x14], 0x202
push edi
jne 0x435165
call fcn.00423880
mov eax, dword [esp + 0x3c]
mov dword [edi + 0x14], eax
mov dword [edi + 0x24], eax
mov eax, dword [esp + 0x18]
jmp 0x435176
call fcn.00423880
mov eax, dword [esp + 0x3c]
mov dword [edi + 0x14], eax
mov eax, 0xa02
add esp, 4
cmp esi, dword [esp + 0x34]
mov dword [edi + 0x20], 0
mov dword [edi + 0x18], esi
mov word [edi + 0x1c], ax
mov byte [edi + 0x1f], 1
mov byte [edi + 0x1e], 3
jg 0x435a55
movzx ecx, byte [esp + 0x30]
mov eax, edi
mov dword [esp + 0x14], 0
call fcn.004234a0
test eax, eax
jne 0x435424
mov edi, dword [esp + 0x24]
mov cx, word [edi + 0x1c]
and cx, 0xfbff
or cx, 0x800
mov dword [edi + 0x24], eax
mov word [edi + 0x1c], cx
cmp byte [ebp + 1], 0xff
jne 0x4351e5
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x18]
push edx
push eax
call fcn.0040f470
add esp, 8
mov esi, dword [esp + 0x18]
mov byte [ebp + 1], 0xff
mov ecx, dword [edi + 0x14]
mov dword [ebp + 0x10], ecx
mov edx, dword [edi + 0x18]
mov dword [ebp + 4], edx
mov eax, dword [ebp + 4]
cmp eax, dword [esi + 0x48]
jg 0x435a55
mov al, byte [esp + 0x30]
mov word [edi + 0x1c], 0xa02
mov ecx, dword [ebp + 0x10]
mov dword [edi + 0x14], ecx
mov edx, dword [ebp + 4]
mov dword [edi + 0x18], edx
mov byte [edi + 0x1f], al
jmp case.0x434f75.9
mov esi, dword [ebp + 0x10]
test esi, esi
mov ebp, dword [ebp + 4]
jne 0x435242
push edi
call fcn.00423b90
mov cl, byte [esp + 0x34]
add esp, 4
mov byte [edi + 0x1f], cl
jmp case.0x434f75.9
mov eax, dword [edi + 0x10]
test eax, eax
je 0x43524e
mov eax, dword [eax + 0x48]
jmp 0x435253
mov eax, 0x3b9aca00
test ebp, ebp
mov dword [esp + 0x34], 0x10
jge 0x43527d
xor ebp, ebp
test eax, eax
jl 0x435275
mov cl, byte [esi + ebp + 1]
or cl, byte [esi + ebp]
je 0x435275
add ebp, 2
cmp ebp, eax
jle 0x435265
mov dword [esp + 0x34], 0x210
xor edx, edx
cmp edx, fcn.0040f470
push edi
jne 0x435295
call fcn.00423880
add esp, 4
mov dword [edi + 0x24], esi
jmp 0x4352a5
call fcn.00423880
add esp, 4
or dword [esp + 0x34], 0x800
mov ax, word [esp + 0x34]
mov cl, byte [esp + 0x30]
mov byte [edi + 0x1f], 1
mov dword [edi + 0x20], 0
mov dword [edi + 0x14], esi
mov dword [edi + 0x18], ebp
mov word [edi + 0x1c], ax
mov byte [edi + 0x1e], 4
mov byte [edi + 0x1f], cl
jmp case.0x434f75.9
mov eax, dword [ebp + 4]
sub eax, 1
mov dword [esp + 0x60], eax
mov edi, dword [ebp + 8]
mov dword [esp + 0x64], edi
mov ebp, dword [ebp + 0xc]
test ebp, ebp
jle 0x43535a
jmp 0x4352f8
mov edi, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
mov ecx, dword [ebx + 0x48]
lea edx, [eax + eax*4]
lea ecx, [ecx + edx*8]
add eax, 1
sub ebp, 1
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x60], eax
call fcn.00423d20
test eax, eax
jne 0x435a55
mov eax, dword [ebx + 0x58]
lea edx, [edi + edi*4]
lea esi, [eax + edx*8]
add edi, 1
mov dword [esp + 0x24], esi
mov dword [esp + 0x64], edi
call fcn.00423810
mov word [esi + 0x1c], 1
mov ecx, dword [esp + 0x6c]
push 0x800
push ecx
push esi
call fcn.00423d50
mov ebp, dword [esp + 0x74]
add esp, 0xc
test ebp, ebp
jg 0x4352f0
sub ebp, 1
mov dword [esp + 0x68], ebp
jmp case.0x434f75.9
mov eax, dword [ebp + 0xc]
test eax, eax
mov edx, dword [ebx + 0x58]
mov dword [esp + 0x64], eax
mov ecx, dword [ebp + 4]
mov dword [esp + 0x68], ecx
mov ebp, dword [ebp + 8]
lea ecx, [ecx + ecx*4]
lea edi, [edx + ecx*8]
lea ecx, [ebp + ebp*4]
lea esi, [edx + ecx*8]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x1c], edi
mov dword [esp + 0x24], esi
je 0x4353d9
xor ebp, ebp
lea esp, [esp]
sub eax, 1
mov dword [esp + 0x64], eax
mov edx, dword [esi + 0x24]
mov dword [esp + 0x60], edx
push edi
mov eax, esi
mov dword [esi + 0x24], ebp
call fcn.00423e00
mov eax, dword [esp + 0x64]
mov dword [edi + 0x24], eax
mov eax, dword [esp + 0x68]
add esp, 4
add edi, 0x28
add esi, 0x28
cmp eax, ebp
jne 0x4353a0
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], edi
sub eax, 1
mov dword [esp + 0x64], eax
jmp case.0x434f75.9
mov ebp, dword [ebp + 8]
mov edx, dword [ebx + 0x58]
mov eax, dword [esp + 0x1c]
lea ecx, [ebp + ebp*4]
push 0x1000
lea esi, [edx + ecx*8]
push eax
push esi
mov dword [esp + 0x30], esi
call fcn.00423d50
add esp, 0xc
test word [esi + 0x1c], 0x1000
je case.0x434f75.9
mov eax, esi
call fcn.004235f0
test eax, eax
je case.0x434f75.9
mov eax, dword [esp + 0x18]
push str.out_of_memory
lea esi, [ebx + 0x68]
mov byte [eax + 0x1e], 1
call fcn.0040f860
mov dword [esp + 0x18], 7
jmp 0x435a6e
mov ebp, dword [ebp + 8]
mov edx, dword [ebx + 0x58]
lea ecx, [ebp + ebp*4]
lea eax, [edx + ecx*8]
mov ecx, dword [esp + 0x1c]
push 0x1000
push ecx
push eax
mov dword [esp + 0x30], eax
call fcn.00423d50
add esp, 0xc
jmp case.0x434f75.9
push 0
mov ecx, ebx
call fcn.0042b8a0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
jne case.0x434f75.9
push 1
push ebx
call fcn.0042b7c0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
jne case.0x434f75.9
mov edx, dword [ebx + 0x5c]
mov ecx, dword [ebx + 0x58]
add edx, 2
or edx, 1
mov dword [ebx + 0x5c], edx
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebx + 0x2c], eax
mov dword [esp + 0x60], eax
xor eax, eax
mov dword [esp + 0x64], eax
cmp dword [ebp + 8], eax
jle 0x4354fa
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x60]
lea esi, [eax + edx*8]
call fcn.004236a0
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
lea ecx, [eax + eax*4]
lea ecx, [edx + ecx*8]
call fcn.00434b30
mov eax, dword [esp + 0x64]
add eax, 1
mov dword [esp + 0x64], eax
cmp eax, dword [ebp + 8]
jl 0x4354c8
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x1e], 0
jne 0x435424
mov ecx, dword [esp + 0x20]
add ecx, 1
mov dword [ebx + 0x60], ecx
mov edi, 0x64
jmp 0x435a98
mov edx, dword [esp + 0x1c]
movzx eax, word [edx + 0x1c]
mov ecx, dword [esp + 0x28]
mov dl, byte [ecx + 0x1c]
or dl, al
test dl, 1
je 0x435540
push edi
call fcn.00423b90
add esp, 4
jmp case.0x434f75.9
test eax, 0x4000
je 0x43555c
mov esi, dword [esp + 0x1c]
call fcn.00423650
test eax, eax
jne 0x435424
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
test word [esi + 0x1c], 0x4000
je 0x435579
call fcn.00423650
test eax, eax
jne 0x435424
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
test byte [eax + 0x1c], 0x12
jne 0x43559b
movzx edi, byte [esp + 0x30]
mov esi, eax
call fcn.004236f0
test eax, eax
jne 0x435424
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
test byte [ecx + 0x1c], 0x12
jne 0x4355bd
movzx edi, byte [esp + 0x30]
mov esi, ecx
call fcn.004236f0
test eax, eax
jne 0x435424
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x18]
mov ebp, dword [esp + 0x28]
add eax, dword [ebp + 0x18]
cdq
mov esi, eax
mov eax, dword [esp + 0x18]
mov ecx, edx
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], ecx
mov eax, dword [eax + 0x48]
cdq
cmp ecx, edx
jg 0x435a55
jl 0x4355f2
cmp esi, eax
ja 0x435a55
mov cx, word [edi + 0x1c]
and cx, 0xbf02
xor edx, edx
or cx, 2
cmp edi, ebp
sete dl
mov word [edi + 0x1c], cx
mov eax, dword [esp + 0x60]
add eax, 2
push edx
push edi
call fcn.004234c0
add esp, 8
test eax, eax
jne 0x435424
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
cmp esi, edi
je 0x435643
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x14]
mov edx, dword [esi + 0x14]
push eax
push ecx
push edx
call fcn.00487dd0
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
mov eax, dword [esi + 0x14]
add eax, dword [edi + 0x18]
push ecx
push edx
push eax
call fcn.00487dd0
mov edx, dword [esp + 0x6c]
mov ecx, dword [esi + 0x14]
mov byte [edx + ecx], 0
mov ecx, dword [esp + 0x6c]
mov eax, dword [esi + 0x14]
mov byte [ecx + eax + 1], 0
mov al, byte [esp + 0x3c]
add esp, 0xc
or word [esi + 0x1c], 0x200
mov edx, dword [esp + 0x60]
mov dword [esi + 0x18], edx
mov byte [esi + 0x1f], al
jmp case.0x434f75.9
mov esi, dword [esp + 0x1c]
mov edi, esi
call fcn.00434c60
mov edi, dword [esp + 0x28]
call fcn.00434c60
movzx ecx, word [edi + 0x1c]
movzx edx, word [esi + 0x1c]
or ecx, edx
test cl, 1
mov dword [esp + 0x60], ecx
jne 0x4358a4
mov al, byte [edi + 0x1c]
and al, byte [esi + 0x1c]
test al, 4
je 0x4357a1
mov ecx, dword [esi]
mov dword [esp + 0x68], ecx
mov edx, dword [esi + 4]
mov dword [esp + 0x6c], edx
mov eax, dword [edi]
mov dword [esp + 0x70], eax
mov edi, dword [edi + 4]
mov dword [esp + 0x74], edi
movzx esi, byte [ebp]
add esi, 0xffffffaa
cmp esi, 3
ja case.default.0x4356ed
jmp dword [esi*4 + 0x4399e8]
add eax, ecx
adc edi, edx
mov dword [esp + 0x74], edi
jmp 0x43577b
sub eax, ecx
sbb edi, edx
mov dword [esp + 0x74], edi
jmp 0x43577b
push edx
push ecx
push edi
push eax
call fcn.0048c410
jmp 0x435777
mov esi, ecx
or esi, edx
je 0x4358a4
mov esi, ecx
and esi, edx
cmp esi, 0xffffffff
jne 0x435741
test eax, eax
jne 0x435741
cmp edi, 0x80000000
jne 0x435741
mov ecx, 1
xor edx, edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edx
push edx
push ecx
push edi
push eax
call fcn.0048c450
jmp 0x435777
mov esi, ecx
or esi, edx
je 0x4358a4
mov esi, ecx
and esi, edx
cmp esi, 0xffffffff
jne 0x43576e
mov ecx, 1
xor edx, edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edx
push edx
push ecx
push edi
push eax
call fcn.004903a0
mov dword [esp + 0x74], edx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x70], eax
mov dword [ecx], eax
mov ax, word [ecx + 0x1c]
mov edx, dword [esp + 0x74]
and ax, 0xbf04
or ax, 4
mov dword [ecx + 4], edx
mov word [ecx + 0x1c], ax
jmp case.0x434f75.9
mov eax, esi
call fcn.004239f0
fstp qword [esp + 0x78]
mov eax, edi
call fcn.004239f0
fst qword [esp + 0x80]
movzx eax, byte [ebp]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x4357c6
jmp dword [eax*4 + 0x4399f8]
fadd qword [esp + 0x78]
jmp 0x435851
fsub qword [esp + 0x78]
jmp 0x435851
fmul qword [esp + 0x78]
jmp 0x435851
fldz
fld qword [esp + 0x78]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x4358a0
fdivp st(1)
jmp 0x435851
fld qword [esp + 0x78]
call fcn.0048c2c6
mov esi, eax
mov edi, edx
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], edi
call fcn.0048c2c6
mov ecx, esi
or ecx, edi
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
je 0x4358a4
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x43583c
mov esi, 1
xor edi, edi
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], edi
push edi
push esi
push edx
push eax
call fcn.004903a0
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
fild qword [esp + 0x50]
sub esp, 8
fst qword [esp + 0x88]
fstp qword [esp]
call fcn.0040f900
add esp, 8
test eax, eax
jne 0x4358a4
mov eax, dword [esp + 0x24]
fld qword [esp + 0x80]
mov cx, word [eax + 0x1c]
fstp qword [eax + 8]
and cx, 0xbf08
or cx, 8
mov word [eax + 0x1c], cx
test byte [esp + 0x60], 8
jne case.0x434f75.9
mov esi, eax
call fcn.00423a70
jmp case.0x434f75.9
fstp st(0)
fstp st(0)
mov edx, dword [esp + 0x24]
push edx
call fcn.00423b90
add esp, 4
jmp case.0x434f75.9
movzx ecx, byte [ebp + 3]
mov edx, dword [ebx + 0x24]
mov dword [esp + 0xa8], edx
mov edx, dword [ebx + 0x58]
mov dword [esp + 0xac], ecx
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x64], eax
xor eax, eax
test ecx, ecx
mov dword [esp + 0x60], eax
jle 0x435915
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0xa8]
mov dword [edx + eax*4], ecx
mov ecx, dword [esp + 0x64]
call fcn.00434b30
mov eax, dword [esp + 0x60]
add dword [esp + 0x64], 0x28
add eax, 1
cmp eax, dword [esp + 0xac]
mov dword [esp + 0x60], eax
jl 0x4358e5
mov eax, dword [ebp + 0x10]
xor esi, esi
cmp byte [ebp + 1], 0xfb
jne 0x43592a
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], esi
jmp 0x435934
mov dword [esp + 0x6c], eax
mov ecx, dword [eax]
mov dword [esp + 0x68], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x58]
lea edi, [eax + edx*8]
push edi
lea eax, [esp + 0x74]
mov dword [esp + 0x28], edi
mov word [esp + 0x90], 1
mov dword [esp + 0x84], ecx
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], esi
call fcn.00423e00
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x6c]
and edx, 0xbf01
or edx, 1
add esp, 4
mov word [esp + 0x8c], dx
mov dword [esp + 0x9c], esi
test byte [eax + 3], 8
je 0x4359a7
mov ecx, dword [ebp - 4]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov eax, dword [eax + 0xc]
push edx
push ecx
lea edx, [esp + 0x70]
push edx
call eax
mov ecx, dword [esp + 0x24]
add esp, 0xc
cmp byte [ecx + 0x1e], 0
jne 0x439661
mov eax, dword [esp + 0x6c]
cmp eax, esi
je 0x4359f2
mov edx, dword [ebp + 4]
push edx
push eax
call fcn.0042be00
mov eax, dword [esp + 0x74]
add esp, 8
mov dword [ebp + 0x10], eax
mov byte [ebp + 1], 0xf9
cmp dword [esp + 0x9c], esi
je 0x435a29
push 1
lea eax, [esp + 0x74]
call fcn.00424340
add esp, 4
push eax
mov eax, dword [esp + 0x1c]
push 0x4cb838
lea esi, [ebx + 0x68]
call fcn.0040f860
mov ecx, dword [esp + 0xa4]
add esp, 8
mov dword [esp + 0x14], ecx
movzx ecx, byte [esp + 0x30]
lea eax, [esp + 0x70]
call fcn.004234a0
lea edx, [esp + 0x70]
push edx
mov eax, edi
call fcn.00423e00
add esp, 4
mov ecx, edi
call fcn.00423d20
test eax, eax
je case.0x434f75.9
mov eax, dword [esp + 0x18]
push str.string_or_blob_too_big
lea esi, [ebx + 0x68]
call fcn.0040f860
mov dword [esp + 0x18], 0x12
add esp, 4
mov ecx, dword [esp + 0x14]
push ebx
mov dword [ebx + 0x64], ecx
call fcn.0042b900
add esp, 4
cmp dword [esp + 0x14], 0xc0a
jne 0x435a93
mov edx, dword [esp + 0x18]
mov byte [edx + 0x1e], 1
mov edi, 1
mov eax, dword [esp + 0x4c]
push eax
call fcn.00422f40
mov ecx, dword [esp + 0x110]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00485605
add esp, 0x100
ret
mov eax, dword [esp + 0x28]
mov cl, byte [eax + 0x1c]
mov edx, dword [esp + 0x1c]
or cl, byte [edx + 0x1c]
test cl, 1
je 0x435ae1
push edi
call fcn.00423b90
add esp, 4
jmp case.0x434f75.9
mov eax, dword [esp + 0x28]
call fcn.00423950
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x64], edx
call fcn.00423950
mov ecx, eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edx
movzx eax, byte [ebp]
sub eax, 0x52
je 0x435b48
sub eax, 1
je 0x435b3e
mov edx, dword [esp + 0x64]
sub eax, 1
mov eax, dword [esp + 0x60]
je 0x435b2f
call fcn.004b8fe0
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
jmp 0x435b50
call fcn.004b8f40
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
jmp 0x435b50
or dword [esp + 0x60], ecx
or dword [esp + 0x64], edx
jmp 0x435b50
and dword [esp + 0x60], ecx
and dword [esp + 0x64], edx
mov eax, dword [esp + 0x60]
mov dword [edi], eax
mov ecx, dword [esp + 0x64]
mov dword [edi + 4], ecx
mov dx, word [edi + 0x1c]
and dx, 0xbf04
or dx, 4
mov word [edi + 0x1c], dx
jmp case.0x434f75.9
mov esi, dword [esp + 0x1c]
call fcn.00423ad0
mov eax, dword [ebp + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.0x434f75.9
mov edi, dword [esp + 0x1c]
call fcn.00434c60
test byte [edi + 0x1c], 8
je 0x435ba0
mov esi, edi
call fcn.00423a70
movzx eax, word [edi + 0x1c]
test al, 4
jne 0x435bbf
mov ebp, dword [ebp + 8]
test ebp, ebp
je 0x439673
add ebp, 0xffffffff
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
and eax, 0xbf04
or eax, 4
mov word [edi + 0x1c], ax
jmp case.0x434f75.9
mov eax, dword [esp + 0x1c]
test byte [eax + 0x1c], 4
je case.0x434f75.9
mov esi, eax
call fcn.00423af0
jmp case.0x434f75.9
mov edx, dword [esp + 0x1c]
movzx ecx, word [edx + 0x1c]
test cl, 1
jne case.0x434f75.9
movzx eax, cl
shr al, 3
and eax, 2
or eax, ecx
test al, 2
mov word [edx + 0x1c], ax
jne 0x435c20
test al, 0xc
je 0x435c20
movzx edi, byte [esp + 0x30]
mov esi, edx
call fcn.004236f0
mov edx, esi
and word [edx + 0x1c], 0xfff3
movzx eax, word [edx + 0x1c]
test eax, 0x4000
mov esi, dword [esp + 0x1c]
je 0x435c49
call fcn.00423650
and word [esi + 0x1c], 0xbfe3
mov dword [esp + 0x14], eax
jmp case.0x434f75.9
and word [esi + 0x1c], 0xbfe3
mov dword [esp + 0x14], 0
jmp case.0x434f75.9
mov ecx, dword [esp + 0x1c]
movzx eax, word [ecx + 0x1c]
test al, 1
jne case.0x434f75.9
test al, 0x10
jne 0x435c9c
test al, 2
jne 0x435c86
test al, 0xc
je 0x435c86
movzx edi, byte [esp + 0x30]
mov esi, ecx
call fcn.004236f0
mov ecx, esi
mov dx, word [ecx + 0x1c]
and dx, 0xbf10
or dx, 0x10
mov word [ecx + 0x1c], dx
jmp case.0x434f75.9
and eax, 0xff10
mov word [ecx + 0x1c], ax
jmp case.0x434f75.9
mov eax, dword [esp + 0x1c]
test byte [eax + 0x1c], 0xd
jne case.0x434f75.9
mov esi, eax
call fcn.00423b10
jmp case.0x434f75.9
mov ecx, dword [esp + 0x1c]
test byte [ecx + 0x1c], 1
jne case.0x434f75.9
mov esi, ecx
call fcn.00423ad0
jmp case.0x434f75.9
mov edx, dword [esp + 0x1c]
test byte [edx + 0x1c], 1
jne case.0x434f75.9
mov esi, edx
call fcn.00423af0
jmp case.0x434f75.9
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
movzx ecx, word [eax + 0x1c]
movzx eax, word [edx + 0x1c]
mov dl, al
or dl, cl
test dl, 1
je 0x435d6d
mov dl, byte [ebp + 3]
test dl, dl
jns 0x435d28
and al, cl
and al, 1
neg al
sbb eax, eax
add eax, 1
jmp 0x435ddf
test dl, 0x10
je 0x435d55
mov ebp, dword [ebp + 8]
mov ecx, dword [ebx + 0x58]
lea eax, [ebp + ebp*4]
mov dx, word [ecx + eax*8 + 0x1c]
lea eax, [ecx + eax*8]
and dx, 0xbf01
or dx, 1
mov dword [esp + 0x24], eax
mov word [eax + 0x1c], dx
jmp case.0x434f75.9
test dl, 8
je case.0x434f75.9
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
mov al, byte [ebp + 3]
and al, 0x67
mov byte [esp + 0x64], al
je 0x435da4
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
push edi
call fcn.00434d10
mov al, byte [esp + 0x68]
mov ecx, dword [esp + 0x30]
add esp, 4
push edi
call fcn.00434d10
add esp, 4
cmp byte [esi + 0x1e], 0
jne 0x435424
mov eax, dword [esp + 0x1c]
mov edi, 0x4000
test word [eax + 0x1c], di
je 0x435dba
mov esi, eax
call fcn.00423650
mov ecx, dword [esp + 0x2c]
test word [ecx + 0x1c], di
je 0x435dcb
mov esi, ecx
call fcn.00423650
mov edx, dword [esp + 0x1c]
mov eax, dword [ebp + 0x10]
push edx
mov edx, dword [esp + 0x30]
call fcn.00423fc0
add esp, 4
mov dword [esp + 0x60], eax
movzx ecx, byte [ebp]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x435def
jmp dword [ecx*4 + 0x439a08]
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x435e32
xor edx, edx
test eax, eax
setne dl
jmp 0x435e30
xor ecx, ecx
test eax, eax
setl cl
mov eax, ecx
jmp 0x435e32
xor edx, edx
test eax, eax
setle dl
jmp 0x435e30
xor ecx, ecx
test eax, eax
setg cl
mov eax, ecx
jmp 0x435e32
xor edx, edx
test eax, eax
setge dl
mov eax, edx
mov dword [esp + 0x60], eax
test byte [ebp + 3], 0x10
je 0x4360e2
mov ebp, dword [ebp + 8]
mov ecx, dword [ebx + 0x58]
lea eax, [ebp + ebp*4]
mov dx, word [ecx + eax*8 + 0x1c]
lea ecx, [ecx + eax*8]
and dx, 0xbf04
or dx, 4
mov word [ecx + 0x1c], dx
mov eax, dword [esp + 0x60]
cdq
mov dword [esp + 0x24], ecx
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x434f75.9
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x40], eax
jmp case.0x434f75.9
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x60], eax
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x70], edx
mov ecx, dword [ebp + 4]
mov dword [esp + 0x68], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x6c], ecx
xor ecx, ecx
test eax, eax
mov dword [esp + 0x64], ecx
jle 0x435f29
mov edi, dword [esp + 0x40]
jmp 0x435eb4
mov edx, dword [esp + 0x70]
test edi, edi
je 0x435ebd
mov esi, dword [edi + ecx*4]
jmp 0x435ebf
mov esi, ecx
mov dword [esp + 0x74], esi
mov eax, dword [edx + ecx*4 + 0xc]
mov dword [esp + 0x78], eax
mov edx, dword [edx + 8]
movzx ecx, byte [edx + ecx]
mov edx, dword [esp + 0x6c]
add edx, esi
lea edx, [edx + edx*4]
mov dword [esp + 0x7c], ecx
mov ecx, dword [ebx + 0x58]
lea edx, [ecx + edx*8]
push edx
mov edx, dword [esp + 0x6c]
add edx, esi
lea edx, [edx + edx*4]
lea edx, [ecx + edx*8]
call fcn.00423fc0
add esp, 4
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x435f1c
mov ecx, dword [esp + 0x64]
add ecx, 1
cmp ecx, dword [esp + 0x60]
mov dword [esp + 0x64], ecx
jl 0x435eb0
mov dword [esp + 0x40], eax
jmp case.0x434f75.9
cmp dword [esp + 0x7c], 0
je 0x435f29
neg eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0
jmp case.0x434f75.9
mov eax, dword [esp + 0x3c]
test eax, eax
jge 0x435f4d
mov ebp, dword [ebp + 4]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
jne 0x435f5e
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
mov ebp, dword [ebp + 0xc]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
mov eax, dword [esp + 0x1c]
test byte [eax + 0x1c], 1
je 0x435f7e
mov ecx, 2
jmp 0x435f94
mov eax, dword [esp + 0x1c]
call fcn.00423950
or eax, edx
je 0x435f92
mov ecx, 1
jmp 0x435f94
xor ecx, ecx
mov eax, dword [esp + 0x28]
mov dword [esp + 0x60], ecx
test byte [eax + 0x1c], 1
je 0x435fa9
mov eax, 2
jmp 0x435fbf
call fcn.00423950
or eax, edx
mov ecx, dword [esp + 0x60]
je 0x435fbd
mov eax, 1
jmp 0x435fbf
xor eax, eax
mov dword [esp + 0x64], eax
cmp byte [ebp], 0x45
jne 0x435fd6
lea edx, [eax + ecx*2]
movzx eax, byte [ecx + edx + 0x4c7044]
jmp 0x435fe1
lea eax, [eax + ecx*2]
movzx eax, byte [ecx + eax + 0x4c70cc]
cmp eax, 2
mov dword [esp + 0x60], eax
jne 0x43869b
mov cx, word [edi + 0x1c]
and cx, 0xbf01
or cx, 1
mov word [edi + 0x1c], cx
jmp case.0x434f75.9
mov ebp, dword [ebp + 8]
mov ecx, dword [ebx + 0x58]
mov edx, dword [esp + 0x1c]
test byte [edx + 0x1c], 1
lea eax, [ebp + ebp*4]
lea esi, [ecx + eax*8]
mov dword [esp + 0x24], esi
je 0x43602d
push esi
call fcn.00423b90
add esp, 4
jmp case.0x434f75.9
mov eax, dword [esp + 0x1c]
call fcn.00423950
or eax, edx
jne 0x43604c
mov eax, 1
cdq
push edx
push eax
call fcn.00423be0
jmp 0x4395ef
xor eax, eax
cdq
push edx
push eax
call fcn.00423be0
jmp 0x4395ef
mov ebp, dword [ebp + 8]
mov ecx, dword [ebx + 0x58]
mov edx, dword [esp + 0x1c]
test byte [edx + 0x1c], 1
lea eax, [ebp + ebp*4]
lea esi, [ecx + eax*8]
mov dword [esp + 0x24], esi
je 0x436084
push esi
call fcn.00423b90
add esp, 4
jmp case.0x434f75.9
mov eax, dword [esp + 0x1c]
call fcn.00423950
not edx
not eax
push edx
push eax
call fcn.00423be0
jmp 0x4395ef
mov eax, dword [esp + 0x1c]
test byte [eax + 0x1c], 1
je 0x4360ac
mov eax, dword [ebp + 0xc]
jmp 0x4360de
mov eax, dword [esp + 0x1c]
call fcn.004239f0
fcomp qword [0x4cf4e0]
fnstsw ax
test ah, 0x44
jnp 0x4360c9
mov eax, 1
jmp 0x4360cb
xor eax, eax
mov dword [esp + 0x60], eax
cmp byte [ebp], 0x1b
jne 0x4360e2
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
mov dword [esp + 0x60], eax
test eax, eax
je case.0x434f75.9
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
mov edx, dword [esp + 0x1c]
test byte [edx + 0x1c], 1
je case.0x434f75.9
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
mov eax, dword [esp + 0x1c]
test byte [eax + 0x1c], 1
jne case.0x434f75.9
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
mov ecx, dword [ebp + 4]
xor eax, eax
mov dword [esp + 0x70], ecx
mov edx, dword [ebp + 8]
mov dword [esp + 0x74], edx
mov edx, dword [ebx + 0x58]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
xor ecx, ecx
mov dword [esp + 0x78], ecx
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x9c], eax
mov dx, word [eax + 0x1c]
and dx, 0xbf01
or dx, 1
mov word [eax + 0x1c], dx
mov eax, dword [ebx + 0x34]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x7c], ecx
mov edi, dword [eax + edx*4]
mov dword [esp + 0x78], edi
mov eax, dword [edi]
cmp eax, ecx
mov dword [esp + 0x80], eax
je 0x436297
call fcn.0042bff0
test eax, eax
mov dword [esp + 0x14], eax
jne 0x439735
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x14], 0
je 0x4361fe
mov dword [esp + 0x60], 0
jmp case.0x434f75.9
mov ecx, dword [eax + 0x44]
cmp ecx, dword [ebx + 0x5c]
jne 0x436216
mov edx, dword [eax + 0x48]
mov dword [esp + 0x60], edx
mov ecx, dword [eax + 0x54]
mov dword [esp + 0x7c], ecx
jmp 0x436240
cmp byte [eax + 0x17], 0
mov esi, dword [esp + 0x80]
je 0x436284
lea edx, [esp + 0x68]
push edx
call fcn.00416b00
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x6c]
add esp, 4
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x78]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x60]
test ecx, ecx
je case.0x434f75.9
cmp ecx, dword [esi + 0x48]
ja 0x435a55
mov edx, dword [eax + 0x2c]
mov dword [esp + 0x8c], edx
mov ecx, dword [eax + 0x4c]
mov dword [esp + 0x84], ecx
mov esi, dword [eax + 0x44]
cmp esi, dword [ebx + 0x5c]
jne 0x4362e8
mov edx, dword [eax + 0x50]
mov dword [esp + 0x88], edx
jmp 0x4365cd
lea ecx, [esp + 0x60]
push ecx
call fcn.00416b80
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x43623c
mov eax, dword [edi + 0x24]
cmp eax, ecx
jle 0x4362df
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x58]
lea eax, [eax + edx*8]
mov dword [esp + 0xe8], eax
mov edx, dword [eax + 0x18]
mov dword [esp + 0x60], edx
mov eax, dword [eax + 0x14]
mov dword [esp + 0x7c], eax
test byte [ebp + 3], 0x20
je 0x4362d0
xor eax, eax
mov dword [edi + 0x44], eax
mov eax, dword [esp + 0x78]
jmp 0x436244
mov eax, dword [ebx + 0x5c]
mov dword [edi + 0x44], eax
mov eax, dword [esp + 0x78]
jmp 0x436244
mov dword [esp + 0x60], ecx
jmp case.0x434f75.9
lea ecx, [ecx + edx*4]
mov dword [esp + 0x88], ecx
mov dword [esp + 0xe4], 0
mov dword [eax + 0x50], ecx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x60]
mov dword [eax + 0x48], ecx
mov edx, dword [ebx + 0x5c]
mov eax, dword [esp + 0x78]
mov dword [eax + 0x44], edx
mov ecx, dword [esp + 0x7c]
test ecx, ecx
je 0x436326
mov dword [esp + 0x98], ecx
jmp 0x436390
mov ecx, dword [esp + 0x78]
cmp byte [ecx + 0x17], 0
je 0x436346
mov esi, dword [esp + 0x80]
lea edx, [esp + 0xe4]
push edx
call fcn.004170f0
jmp 0x43635a
lea eax, [esp + 0xe4]
push eax
mov eax, dword [esp + 0x84]
call fcn.00417150
mov ecx, dword [esp + 0x64]
add esp, 4
cmp ecx, dword [esp + 0xe4]
mov dword [esp + 0x98], eax
ja 0x43637e
mov edx, dword [esp + 0x78]
mov dword [esp + 0x7c], eax
mov dword [edx + 0x54], eax
jmp 0x436389
mov eax, dword [esp + 0x78]
mov dword [eax + 0x54], 0
mov ecx, dword [esp + 0x98]
mov al, byte [ecx]
cmp al, 0x80
jae 0x4363a7
movzx esi, al
mov dword [esp + 0xd0], esi
mov eax, 1
jmp 0x4363c4
lea esi, [esp + 0xd0]
call fcn.004106f0
mov esi, dword [esp + 0xd0]
mov ecx, dword [esp + 0x98]
movzx eax, al
cmp esi, 0x18003
movzx edx, al
mov dword [esp + 0xe0], edx
jbe 0x4363e3
mov dword [esp + 0x14], 0xb
jmp case.0x434f75.9
mov edx, dword [esp + 0x8c]
lea eax, [edx + edx*4 + 3]
cmp eax, esi
mov dword [esp + 0x90], eax
jle 0x436402
mov eax, esi
mov dword [esp + 0x90], eax
cmp dword [esp + 0x7c], 0
jne 0x436473
cmp dword [esp + 0xe4], eax
jge 0x436473
mov ecx, dword [esp + 0x78]
xor esi, esi
mov word [esp + 0xbc], si
mov dword [esp + 0xb0], esi
movzx edx, byte [ecx + 0x17]
push edx
push eax
mov eax, dword [esp + 0x88]
push esi
lea edi, [esp + 0xac]
call fcn.00424260
add esp, 0xc
cmp eax, esi
mov dword [esp + 0x14], eax
jne case.0x434f75.9
mov ecx, dword [esp + 0xb4]
mov esi, dword [esp + 0xd0]
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x98], ecx
add eax, ecx
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xe0]
add eax, ecx
xor ecx, ecx
cmp edx, ecx
mov dword [esp + 0xc8], eax
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x94], ecx
jle 0x436559
xor edi, edi
mov edx, dword [esp + 0xc8]
cmp edx, dword [esp + 0xcc]
mov eax, dword [esp + 0x88]
jae 0x436538
mov edx, dword [esp + 0xd8]
mov dword [eax + ecx*4], edx
mov ecx, dword [esp + 0xc8]
mov al, byte [ecx]
cmp al, 0x80
mov edx, dword [esp + 0x84]
jae 0x4364f6
mov ecx, dword [esp + 0x94]
movzx eax, al
mov dword [edx + ecx*4], eax
mov eax, 1
jmp 0x436508
mov eax, dword [esp + 0x94]
lea esi, [edx + eax*4]
call fcn.004106f0
movzx eax, al
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x84]
movzx eax, al
add dword [esp + 0xc8], eax
mov eax, dword [edx + ecx*4]
call fcn.0042c170
add dword [esp + 0xd8], eax
adc dword [esp + 0xdc], edi
jmp 0x436542
mov dword [eax + ecx*4], edi
mov ecx, dword [esp + 0x94]
add ecx, 1
cmp ecx, dword [esp + 0x8c]
mov dword [esp + 0x94], ecx
jl 0x4364ad
lea ecx, [esp + 0xa0]
push ecx
call fcn.00423880
mov edi, dword [esp + 0xd0]
add esp, 4
cmp dword [esp + 0xc8], edi
mov word [esp + 0xbc], 1
ja 0x4363d6
mov esi, dword [esp + 0xdc]
mov eax, dword [esp + 0x60]
xor ecx, ecx
cmp esi, ecx
ja 0x4363d6
mov edx, dword [esp + 0xd8]
jb 0x4365ad
cmp edx, eax
ja 0x4363d6
cmp dword [esp + 0xc8], edi
jne 0x4365c6
cmp edx, eax
jne 0x4363d6
cmp esi, ecx
jne 0x4363d6
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x88]
cmp dword [edx + eax*4], 0
je 0x4366bb
cmp dword [esp + 0x7c], 0
je 0x436617
mov esi, dword [esp + 0x9c]
call fcn.00423810
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x84]
mov edx, dword [ecx + eax*4]
mov ecx, dword [esp + 0x88]
mov ecx, dword [ecx + eax*4]
add ecx, dword [esp + 0x7c]
push edx
jmp 0x43669c
mov eax, dword [ecx + eax*4]
call fcn.0042c170
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x90], eax
push edx
lea eax, [esp + 0xa4]
call fcn.00423e00
mov eax, dword [esp + 0x7c]
movzx ecx, byte [eax + 0x17]
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x8c]
add esp, 4
push ecx
mov ecx, dword [esp + 0x78]
push edx
mov edx, dword [eax + ecx*4]
mov eax, dword [esp + 0x88]
push edx
lea edi, [esp + 0xac]
call fcn.00424260
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
jne case.0x434f75.9
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x98], ecx
mov eax, dword [eax + edx*4]
push eax
mov esi, dword [esp + 0xa0]
call fcn.0042c250
mov ecx, dword [esp + 0xa0]
mov dl, byte [esp + 0x34]
add esp, 4
mov byte [ecx + 0x1f], dl
jmp 0x4366da
cmp byte [ebp + 1], 0xf8
jne 0x4366da
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x9c]
push 0x800
push eax
push ecx
call fcn.00423d50
add esp, 0xc
cmp dword [esp + 0xc4], 0
je 0x436720
mov eax, dword [esp + 0x9c]
and word [eax + 0x1c], 0xe7ff
mov eax, dword [esp + 0x9c]
or word [eax + 0x1c], 0x200
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0xb4]
mov dword [edx + 0x14], eax
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x9c]
mov dword [edx + 0x24], ecx
mov eax, dword [esp + 0x9c]
call fcn.004235f0
mov dword [esp + 0x14], eax
jmp case.0x434f75.9
mov eax, dword [ebp + 0x10]
mov edx, dword [ebx + 0x58]
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov dword [esp + 0x64], eax
mov ebp, dword [ebp + 8]
lea ecx, [ebp + ebp*4]
lea edx, [eax + ecx*8 - 0x28]
cmp eax, edx
mov ecx, eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
ja case.0x434f75.9
mov edi, dword [esp + 0x30]
mov ebp, 0x4000
jmp 0x436778
mov eax, dword [esp + 0x64]
test word [ecx + 0x1c], bp
je 0x43678d
mov esi, ecx
call fcn.00423650
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x64]
mov edx, ecx
sub edx, eax
mov eax, 0x66666667
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x60]
mov al, byte [eax + edx]
push edi
call fcn.00434d10
mov ecx, dword [esp + 0x70]
add ecx, 0x28
add esp, 4
cmp ecx, dword [esp + 0x68]
mov dword [esp + 0x6c], ecx
jbe 0x436774
jmp case.0x434f75.9
xor eax, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 4]
mov dword [esp + 0x94], eax
mov ecx, dword [ebp + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x58]
lea edi, [eax + edx*8]
movzx edx, byte [ebx + 0x6f]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x8c], edi
mov eax, dword [ebp + 8]
lea ecx, [eax + eax*4]
mov dword [esp + 0x94], eax
lea eax, [edi + ecx*8 - 0x28]
cmp edi, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x9c], edx
mov dword [esp + 0x64], edi
ja 0x43691e
jmp 0x436840
cmp dword [esp + 0x98], 0
je 0x436881
mov eax, dword [esp + 0x30]
push eax
mov ecx, edi
sub ecx, dword [esp + 0x90]
mov eax, 0x66666667
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x9c]
mov al, byte [ecx + edx]
mov ecx, edi
call fcn.00434d10
mov edi, dword [esp + 0x68]
add esp, 4
test word [edi + 0x1c], 0x4000
je 0x43689e
cmp dword [edi + 0x18], 0
jle 0x43689e
mov esi, edi
call fcn.00423650
mov edi, dword [esp + 0x64]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x9c]
push eax
mov ecx, edi
call fcn.0042c090
add esp, 4
mov dword [esp + 0x88], eax
call fcn.0042c170
mov ecx, dword [esp + 0x88]
mov dword [esp + 0xa4], eax
cdq
add dword [esp + 0x68], eax
push 0
push ecx
adc dword [esp + 0x74], edx
call fcn.00410770
add dword [esp + 0x78], eax
add esp, 8
test word [edi + 0x1c], 0x4000
je 0x4368f5
mov edx, dword [edi]
add dword [esp + 0x80], edx
jmp 0x43690a
cmp dword [esp + 0xa4], 0
je 0x43690a
mov dword [esp + 0x80], 0
add edi, 0x28
cmp edi, dword [esp + 0x90]
mov dword [esp + 0x64], edi
jbe 0x436840
mov edi, dword [esp + 0x70]
mov eax, edi
cdq
push edx
push eax
call fcn.00410770
add edi, eax
mov dword [esp + 0x8c], eax
mov eax, edi
cdq
push edx
push eax
mov dword [esp + 0x80], edi
call fcn.00410770
add esp, 0x10
cmp dword [esp + 0x84], eax
jge 0x436959
add edi, 1
mov dword [esp + 0x70], edi
mov eax, edi
cdq
mov edi, eax
mov eax, dword [esp + 0x80]
mov ecx, edx
cdq
sub edi, eax
sbb ecx, edx
add edi, dword [esp + 0x68]
adc ecx, dword [esp + 0x6c]
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], ecx
mov eax, dword [esi + 0x48]
cdq
cmp ecx, edx
jg 0x435a55
jl 0x436992
cmp edi, eax
ja 0x435a55
mov ebp, dword [ebp + 0xc]
mov ecx, dword [ebx + 0x58]
lea eax, [ebp + ebp*4]
lea eax, [ecx + eax*8]
push 0
mov dword [esp + 0x28], eax
push eax
mov eax, edi
call fcn.004234c0
add esp, 8
test eax, eax
jne 0x435424
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x70]
cmp eax, 0x80
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x60], ecx
jae 0x4369d9
mov dl, al
mov byte [ecx], dl
mov eax, 1
jmp 0x4369de
call fcn.00410530
mov ecx, dword [esp + 0x8c]
movzx esi, al
mov eax, dword [esp + 0x90]
cmp ecx, eax
mov dword [esp + 0xa0], esi
mov dword [esp + 0x64], ecx
ja 0x436a69
mov edi, edi
mov eax, dword [esp + 0x9c]
push eax
call fcn.0042c090
add esp, 4
cmp eax, 0x80
mov dword [esp + 0x88], eax
jae 0x436a2e
mov edx, dword [esp + 0x60]
mov cl, al
mov byte [esi + edx], cl
mov eax, 1
jmp 0x436a39
mov ecx, dword [esp + 0x60]
add ecx, esi
call fcn.00410530
mov ecx, dword [esp + 0x64]
mov esi, dword [esp + 0xa0]
movzx edx, al
mov eax, dword [esp + 0x90]
add ecx, 0x28
add esi, edx
cmp ecx, eax
mov dword [esp + 0xa0], esi
mov dword [esp + 0x64], ecx
jbe 0x436a00
mov ecx, dword [esp + 0x8c]
cmp ecx, eax
mov dword [esp + 0x64], ecx
ja 0x436ab2
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x60]
sub eax, esi
push eax
mov eax, dword [esp + 0xa0]
add esi, edx
push esi
call fcn.0042c190
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0xa8]
add ecx, 0x28
add esi, eax
add esp, 8
cmp ecx, dword [esp + 0x90]
mov dword [esp + 0xa0], esi
mov dword [esp + 0x64], ecx
jbe 0x436a71
mov eax, dword [esp + 0x78]
mov dword [edi + 0x18], eax
mov word [edi + 0x1c], 0x410
mov dword [edi + 0x20], 0
mov eax, dword [esp + 0x80]
test eax, eax
je 0x436ad9
mov dword [edi], eax
mov word [edi + 0x1c], 0x4410
mov byte [edi + 0x1f], 1
jmp case.0x434f75.9
mov ecx, dword [ebp + 4]
mov edx, dword [ebx + 0x34]
mov eax, dword [edx + ecx*4]
mov esi, dword [eax]
xor eax, eax
cmp esi, eax
mov dword [esp + 0x68], esi
je 0x436b0a
lea ecx, [esp + 0x60]
push ecx
call fcn.0041ac10
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x436b12
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov word [edi + 0x1c], 4
mov edx, dword [esp + 0x60]
mov dword [edi], edx
mov eax, dword [esp + 0x64]
mov dword [edi + 4], eax
jmp case.0x434f75.9
mov eax, dword [ebp + 4]
test eax, eax
mov dword [esp + 0x60], eax
mov ebp, dword [ebp + 0x10]
mov dword [esp + 0x64], ebp
jne 0x436bfd
cmp dword [esi + 0x90], eax
jle 0x436b69
push str.cannot_open_savepoint___SQL_statements_in_progress
mov eax, dword [esp + 0x1c]
lea esi, [ebx + 0x68]
call fcn.0040f860
add esp, 4
mov dword [esp + 0x14], 5
jmp case.0x434f75.9
mov ecx, ebp
call fcn.0040f940
mov esi, dword [esp + 0x18]
lea ecx, [eax + 0x19]
mov dword [esp + 0x68], eax
call fcn.0040f650
test eax, eax
mov dword [esp + 0x6c], eax
je case.0x434f75.9
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x6c]
add edx, 1
push edx
mov edx, dword [ecx]
push eax
push edx
call fcn.00487dd0
add esp, 0xc
cmp byte [esi + 0x1c], 0
je 0x436bc0
mov byte [esi + 0x1c], 0
mov byte [esi + 0x1d4], 1
jmp 0x436bc7
add dword [esi + 0x1cc], 1
mov eax, dword [esi + 0x1c8]
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 0x10], eax
mov edx, dword [esp + 0x6c]
mov eax, dword [esi + 0x1d8]
mov dword [esi + 0x1c8], edx
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 8], eax
mov edx, dword [esi + 0x1dc]
mov eax, dword [esp + 0x6c]
mov dword [eax + 0xc], edx
jmp case.0x434f75.9
mov dword [esp + 0x78], 0
mov edi, dword [esi + 0x1c8]
test edi, edi
mov dword [esp + 0x70], edi
je 0x436c30
mov ecx, dword [edi]
mov edx, ebp
call fcn.0040fb60
test eax, eax
je 0x436c4f
add dword [esp + 0x78], 1
mov edi, dword [edi + 0x10]
test edi, edi
mov dword [esp + 0x70], edi
jne 0x436c13
mov eax, dword [esp + 0x18]
push ebp
push str.no_such_savepoint:__s
lea esi, [ebx + 0x68]
call fcn.0040f860
mov dword [esp + 0x1c], 1
jmp 0x4395ef
cmp dword [esi + 0x90], 0
jg 0x436e1b
mov eax, dword [esp + 0x60]
cmp eax, 2
jne 0x436c72
cmp dword [esi + 0x8c], 1
jg 0x436e22
cmp dword [edi + 0x10], 0
jne 0x436d60
cmp byte [esi + 0x1d4], 0
je 0x436d60
cmp eax, 1
mov dword [esp + 0x38], 1
jne 0x436d68
push eax
mov ecx, ebx
call fcn.0042b8a0
mov edi, eax
add esp, 4
test edi, edi
jne 0x435a98
push ebx
mov byte [esi + 0x1c], 1
call fcn.0042b900
add esp, 4
cmp eax, 5
je 0x439680
mov byte [esi + 0x1d4], 0
mov ecx, dword [ebx + 0x64]
mov edi, dword [esp + 0x70]
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 0x18]
cmp dword [esi + 0x1c8], edi
je 0x436d23
or ebp, 0xffffffff
jmp 0x436cf0
mov eax, dword [esi + 0x1c8]
mov dword [esp + 0x74], eax
mov eax, dword [eax + 0x10]
mov dword [esi + 0x1c8], eax
mov ecx, dword [esp + 0x74]
push ecx
push esi
call fcn.0040f470
add dword [esi + 0x1cc], ebp
mov edi, dword [esp + 0x78]
add esp, 8
cmp dword [esi + 0x1c8], edi
jne 0x436cf0
cmp dword [esp + 0x60], 1
jne 0x436e04
mov edx, dword [edi + 0x10]
mov dword [esi + 0x1c8], edx
mov eax, dword [esp + 0x70]
push eax
push esi
call fcn.0040f470
add esp, 8
cmp dword [esp + 0x38], 0
jne case.0x434f75.9
mov eax, dword [esp + 0x18]
add dword [eax + 0x1cc], 0xffffffff
jmp case.0x434f75.9
mov dword [esp + 0x38], 0
mov ecx, dword [esi + 0x1cc]
sub ecx, dword [esp + 0x78]
xor eax, eax
sub ecx, 1
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
cmp dword [esi + 4], eax
jle 0x436dd0
mov edx, dword [esp + 0x18]
jmp 0x436d94
mov ecx, dword [esp + 0x78]
mov edx, dword [edx + 8]
push ecx
mov ecx, dword [esp + 0x64]
shl eax, 4
mov eax, dword [eax + edx + 4]
push ecx
call fcn.00416880
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
jne 0x439735
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x18]
add eax, 1
mov dword [esp + 0x7c], eax
cmp eax, dword [edx + 4]
jl 0x436d90
mov edi, dword [esp + 0x70]
cmp dword [esp + 0x60], 2
jne 0x436cd7
mov esi, dword [esp + 0x18]
test byte [esi + 0xc], 0x10
je 0x436cdb
mov eax, esi
call fcn.0042ca00
push 0
push esi
call fcn.004251e0
mov edi, dword [esp + 0x78]
add esp, 8
jmp 0x436cdb
mov ecx, dword [edi + 8]
mov dword [esi + 0x1d8], ecx
mov edx, dword [edi + 0xc]
mov dword [esi + 0x1dc], edx
jmp case.0x434f75.9
cmp dword [esp + 0x60], 2
jne 0x436e29
mov eax, str.rollback
jmp 0x436e2e
mov eax, str.release
push eax
mov eax, dword [esp + 0x1c]
push str.cannot__s_savepoint___SQL_statements_in_progress
lea esi, [ebx + 0x68]
call fcn.0040f860
mov dword [esp + 0x1c], 5
jmp 0x4395ef
mov eax, dword [ebp + 4]
test eax, eax
mov dword [esp + 0x60], eax
mov ebp, dword [ebp + 8]
mov dword [esp + 0x64], ebp
je 0x436e84
cmp byte [esi + 0x1c], 0
jne 0x436e84
test ebp, ebp
mov ecx, 1
mov dword [esp + 0x68], ecx
je 0x436ea3
cmp dword [esi + 0x8c], ecx
jle 0x436e8c
push str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x436b4d
mov dword [esp + 0x68], 0
movzx ecx, byte [esi + 0x1c]
cmp eax, ecx
jne 0x439698
test eax, eax
jne 0x436eb6
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x436ec4
cmp dword [esi + 0x90], 0
jle 0x436e8c
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x436b4d
test ebp, ebp
mov eax, str.cannot_rollback___no_transaction_is_active
jne 0x436ec4
mov eax, str.cannot_commit___no_transaction_is_active
push eax
mov eax, dword [esp + 0x1c]
lea esi, [ebx + 0x68]
call fcn.0040f860
add esp, 4
mov dword [esp + 0x14], 1
jmp case.0x434f75.9
mov edx, dword [ebp + 4]
mov eax, dword [esi + 8]
shl edx, 4
mov eax, dword [edx + eax + 4]
test eax, eax
mov dword [esp + 0x60], eax
je case.0x434f75.9
mov ecx, dword [ebp + 8]
push ecx
push eax
call fcn.004158b0
add esp, 8
cmp eax, 5
mov dword [esp + 0x14], eax
je 0x43970f
test eax, eax
jne 0x439735
cmp dword [ebp + 8], eax
je case.0x434f75.9
cmp byte [ebx + 0x71], al
je case.0x434f75.9
mov esi, dword [esp + 0x18]
cmp byte [esi + 0x1c], al
je 0x436f44
cmp dword [esi + 0x8c], 1
jle case.0x434f75.9
cmp dword [ebx + 0xd8], 0
jne 0x436f68
add dword [esi + 0x1d0], 1
mov eax, dword [esi + 0x1d0]
mov edx, dword [esi + 0x1cc]
add edx, eax
mov dword [ebx + 0xd8], edx
mov eax, dword [ebx + 0xd8]
push eax
mov eax, dword [esp + 0x64]
call fcn.00416820
mov ecx, dword [esi + 0x1d8]
mov dword [ebx + 0xd0], ecx
mov edx, dword [esi + 0x1dc]
add esp, 4
mov dword [esp + 0x14], eax
mov dword [ebx + 0xd4], edx
jmp case.0x434f75.9
mov eax, dword [ebp + 4]
mov dword [esp + 0x64], eax
mov ebp, dword [ebp + 0xc]
mov dword [esp + 0x68], ebp
mov edx, dword [esi + 8]
lea ecx, [esp + 0x60]
push ecx
shl eax, 4
mov eax, dword [eax + edx + 4]
push ebp
call fcn.0041ab20
mov eax, dword [esp + 0x68]
cdq
add esp, 8
mov dword [edi], eax
mov dword [edi + 4], edx
mov ax, word [edi + 0x1c]
and ax, 0xbf04
or ax, 4
mov word [edi + 0x1c], ax
jmp case.0x434f75.9
mov ecx, dword [ebp + 4]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x2c]
shl ecx, 4
add ecx, dword [edi + 8]
mov dword [esp + 0x60], ecx
call fcn.00423ad0
mov edx, dword [esi]
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x60]
push edx
push eax
mov eax, dword [ecx + 4]
call fcn.0041ab80
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 8]
add esp, 8
cmp eax, 1
jne 0x43702e
mov edx, dword [esp + 0x60]
mov eax, dword [edx + 0xc]
mov ecx, dword [esi]
mov dword [eax], ecx
or dword [edi + 0xc], 0x10
jmp 0x43703f
cmp eax, 2
jne 0x43703f
mov edx, dword [esp + 0x60]
mov eax, dword [edx + 0xc]
mov cl, byte [esi]
mov byte [eax + 0x48], cl
cmp dword [ebp + 4], 1
jne case.0x434f75.9
mov eax, edi
call fcn.0042ca00
mov byte [ebx + 0x6e], 0
jmp case.0x434f75.9
mov edx, dword [ebp + 4]
mov eax, dword [esi + 8]
shl edx, 4
mov eax, dword [edx + eax + 4]
test eax, eax
mov dword [esp + 0x64], eax
je 0x43707f
lea ecx, [esp + 0x60]
push ecx
push 1
call fcn.0041ab20
add esp, 8
jmp 0x437087
mov dword [esp + 0x60], 0
mov edx, dword [esp + 0x60]
cmp edx, dword [ebp + 8]
je case.0x434f75.9
mov eax, dword [ebx + 0x68]
push eax
push esi
call fcn.0040f470
push str.database_schema_has_changed
push esi
call fcn.0040f7d0
mov dword [ebx + 0x68], eax
mov ebp, dword [ebp + 4]
mov edx, dword [esi + 8]
mov ecx, ebp
shl ecx, 4
mov eax, dword [ecx + edx + 0xc]
mov ecx, dword [eax]
add esp, 0x10
cmp ecx, dword [esp + 0x60]
je 0x4370d0
push ebp
push esi
call fcn.004251e0
add esp, 8
mov eax, esi
call fcn.0042ca00
mov dword [esp + 0x14], 0x11
jmp case.0x434f75.9
cmp byte [ebx + 0x6e], 0
je 0x4370f7
mov dword [esp + 0x14], 4
jmp case.0x434f75.9
xor ecx, ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ecx
mov edi, dword [ebp + 8]
mov dword [esp + 0x68], edi
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x6c], eax
shl eax, 4
add eax, dword [esi + 8]
mov dword [esp + 0x7c], eax
mov edx, dword [eax + 4]
mov dword [esp + 0x74], edx
cmp byte [ebp], 0x27
jne 0x43713e
mov dword [esp + 0x70], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x48]
cmp al, byte [ebx + 0x6f]
jae 0x437142
mov byte [ebx + 0x6f], al
jmp 0x437142
mov dword [esp + 0x70], ecx
cmp byte [ebp + 3], 0
je 0x43716d
mov edx, dword [ebx + 0x58]
lea ecx, [edi + edi*4]
lea esi, [edx + ecx*8]
mov dword [esp + 0x28], esi
call fcn.00423ad0
mov esi, dword [esi]
cmp esi, 2
mov dword [esp + 0x68], esi
jl 0x439723
mov ecx, dword [esp + 0x60]
mov al, byte [ebp + 1]
cmp al, 0xfa
jne 0x437196
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebx]
mov dword [esp + 0x64], eax
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 0xc]
mov dl, byte [ecx + 0x49]
mov byte [eax + 4], dl
mov eax, dword [esp + 0x64]
movzx ecx, word [eax + 6]
add ecx, 1
jmp 0x43719d
cmp al, 0xf2
jne 0x4371a1
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x6c]
mov eax, dword [ebp + 4]
push 1
push edx
push ecx
push eax
mov edi, ebx
call fcn.00434b60
add esp, 0x10
test eax, eax
mov dword [esp + 0x78], eax
je 0x435424
mov byte [eax + 0x14], 1
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
push edx
mov edx, dword [esp + 0x6c]
push eax
push ecx
push edx
call fcn.00416990
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x74]
add esp, 0x10
cmp eax, 0x10
mov dword [esp + 0x14], eax
mov dword [ecx + 0x28], edx
jne 0x437212
mov eax, dword [esp + 0x78]
mov dword [eax], 0
mov dword [esp + 0x14], 0
cmp byte [ebp + 1], 0xfa
mov edx, dword [esp + 0x78]
setne cl
mov byte [edx + 0x16], cl
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x16], 0
sete cl
mov byte [eax + 0x17], cl
jmp case.0x434f75.9
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 4]
push 1
push 0xffffffffffffffff
push edx
push eax
mov edi, ebx
call fcn.00434b60
add esp, 0x10
test eax, eax
mov dword [esp + 0x60], eax
je 0x435424
mov edx, dword [esp + 0x18]
mov byte [eax + 0x14], 1
mov ecx, dword [esp + 0x60]
add ecx, 0x20
push ecx
push 0x41e
push 0x1f4
push 1
xor ecx, ecx
call fcn.0040d7d0
add esp, 0x10
test eax, eax
mov dword [esp + 0x14], eax
jne 0x437347
mov edx, dword [esp + 0x60]
mov eax, dword [edx + 0x20]
push 1
push eax
call fcn.004158b0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
jne 0x437347
cmp dword [ebp + 0x10], eax
je 0x437323
mov edx, dword [esp + 0x60]
mov eax, dword [edx + 0x20]
lea ecx, [esp + 0x48]
push 2
push ecx
call fcn.0041a620
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
jne 0x437308
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x10]
mov esi, dword [eax + 0x20]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
push 1
push ecx
call fcn.00416990
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x70]
mov dword [eax + 0x28], edx
mov ecx, dword [ebx]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx + 0x28]
mov al, byte [eax + 0x49]
add esp, 0x10
mov byte [edx + 4], al
mov ecx, dword [esp + 0x60]
mov byte [ecx + 0x16], 0
mov eax, dword [esp + 0x60]
cmp byte [eax + 0x16], 0
sete cl
mov byte [eax + 0x17], cl
jmp case.0x434f75.9
mov eax, dword [esp + 0x60]
mov edx, dword [eax]
mov esi, dword [eax + 0x20]
push edx
push 0
push 1
push 1
call fcn.00416990
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x70]
add esp, 0x10
mov byte [eax + 0x16], 1
mov eax, dword [esp + 0x60]
cmp byte [eax + 0x16], 0
sete cl
mov byte [eax + 0x17], cl
jmp case.0x434f75.9
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 4]
push 0
push 0xffffffffffffffff
push edx
push eax
mov edi, ebx
call fcn.00434b60
add esp, 0x10
test eax, eax
mov dword [esp + 0x60], eax
je 0x435424
mov byte [eax + 0x14], 1
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x60]
mov dword [edx + 0x24], ecx
mov eax, dword [esp + 0x60]
mov byte [eax + 0x16], 1
mov ecx, dword [esp + 0x60]
mov byte [ecx + 0x17], 0
jmp case.0x434f75.9
mov edx, dword [ebp + 4]
mov eax, dword [ebx + 0x34]
mov eax, dword [eax + edx*4]
push ebx
call fcn.0042af60
mov ecx, dword [ebp + 4]
mov edx, dword [ebx + 0x34]
add esp, 4
mov dword [edx + ecx*4], 0
jmp case.0x434f75.9
mov eax, dword [ebp + 4]
mov ecx, dword [ebx + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x68], eax
cmp dword [eax], 0
je 0x434fbc
movzx edx, byte [ebp]
mov dword [esp + 0x64], edx
mov byte [eax + 0x14], 0
mov ecx, dword [esp + 0x68]
cmp byte [ecx + 0x16], 0
je 0x4375a3
mov edi, dword [esp + 0x2c]
call fcn.00434c60
mov eax, edi
call fcn.00423950
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x94], edx
mov byte [eax + 0x11], 0
movzx eax, word [edi + 0x1c]
test al, 4
jne 0x43753f
test al, 8
jne 0x437438
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
xor esi, esi
cmp dword [esp + 0x90], esi
jne 0x4374ed
mov eax, SysReAllocString
cmp dword [esp + 0x94], eax
jne 0x4374ed
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], esi
fild qword [esp + 0x58]
fcomp qword [edi + 8]
fnstsw ax
test ah, 0x41
je 0x43747b
fldz
fcomp qword [edi + 8]
fnstsw ax
test ah, 5
jp 0x4374ed
fldz
mov dword [esp + 0x60], 1
fcomp qword [edi + 8]
fnstsw ax
test ah, 0x41
mov eax, dword [esp + 0x64]
jne 0x4374ae
cmp eax, 0x2e
je 0x43749d
cmp eax, 0x2d
jne 0x4374de
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx]
lea edi, [esp + 0x60]
call fcn.004175f0
jmp 0x4374c7
cmp eax, 0x2b
je 0x4374b8
cmp eax, 0x2c
jne 0x4374de
mov edx, dword [esp + 0x68]
mov eax, dword [edx]
lea edi, [esp + 0x60]
call fcn.00417620
cmp eax, esi
mov dword [esp + 0x14], eax
jne 0x439735
cmp dword [esp + 0x60], 0
je case.0x434f75.9
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
mov eax, dword [esp + 0x64]
cmp eax, 0x2b
je 0x43751f
cmp eax, 0x2d
je 0x43751f
fild qword [esp + 0x90]
fcomp qword [edi + 8]
fnstsw ax
test ah, 0x41
jne 0x43753f
or eax, 0xffffffff
add dword [esp + 0x90], eax
adc dword [esp + 0x94], eax
jmp 0x43753f
fild qword [esp + 0x90]
fcomp qword [edi + 8]
fnstsw ax
test ah, 5
jp 0x43753f
add dword [esp + 0x90], 1
adc dword [esp + 0x94], esi
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
lea eax, [esp + 0x60]
push eax
mov eax, dword [esp + 0x6c]
push 0
push ecx
mov ecx, dword [eax]
push edx
push 0
push ecx
call fcn.00417660
add esp, 0x18
test eax, eax
mov dword [esp + 0x14], eax
jne 0x439735
cmp dword [esp + 0x60], eax
jne 0x437619
mov edx, dword [esp + 0x68]
mov byte [edx + 0x11], 1
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x68]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x68]
mov dword [eax + 0xc], edx
jmp 0x437619
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x88], edx
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x64]
cmp eax, 0x2e
mov word [esp + 0x74], dx
je 0x4375ce
cmp eax, 0x2c
mov word [esp + 0x76], 0
jne 0x4375d5
mov word [esp + 0x76], 8
mov eax, dword [ebp + 0xc]
mov edx, dword [ebx + 0x58]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
lea edx, [esp + 0x60]
push edx
push 0
push 0
mov dword [esp + 0x8c], eax
mov ecx, dword [ecx]
push 0
lea eax, [esp + 0x80]
push eax
push ecx
call fcn.00417660
add esp, 0x18
test eax, eax
mov dword [esp + 0x14], eax
jne 0x439735
mov edx, dword [esp + 0x68]
mov byte [edx + 0x11], al
mov eax, dword [esp + 0x68]
mov byte [eax + 0x15], 0
mov ecx, dword [esp + 0x68]
xor esi, esi
mov dword [ecx + 0x44], esi
mov eax, dword [esp + 0x64]
cmp eax, 0x2d
je 0x43768c
cmp eax, 0x2e
je 0x43768c
mov ecx, dword [esp + 0x60]
cmp ecx, esi
jg 0x43765f
jne 0x437647
cmp eax, 0x2b
je 0x43765f
mov edx, dword [esp + 0x68]
mov eax, dword [edx]
xor ecx, ecx
cmp byte [eax + 0x43], 1
setne cl
mov dword [esp + 0x60], ecx
jmp 0x4374d3
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
lea edx, [esp + 0x60]
push edx
push ecx
call fcn.00417bd0
add esp, 8
cmp eax, esi
mov dword [esp + 0x14], eax
jne 0x439735
mov edx, dword [esp + 0x68]
mov byte [edx + 0x11], 0
jmp 0x4374d3
mov ecx, dword [esp + 0x60]
cmp ecx, esi
jl 0x4376a4
jne 0x43769b
cmp eax, 0x2e
je 0x4376a4
mov dword [esp + 0x60], esi
jmp case.0x434f75.9
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx]
lea eax, [esp + 0x60]
push eax
push edx
call fcn.00417a80
add esp, 8
cmp eax, esi
mov dword [esp + 0x14], eax
jne 0x439735
mov eax, dword [esp + 0x68]
mov byte [eax + 0x11], 0
jmp 0x4374d3
mov ecx, dword [ebp + 4]
mov edx, dword [ebx + 0x34]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x60], eax
cmp dword [eax], 0
je case.0x434f75.9
mov byte [eax + 0x14], 0
mov eax, dword [esp + 0x28]
call fcn.00423950
mov ecx, dword [esp + 0x60]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x60]
mov dword [eax + 0x1c], edx
mov ecx, dword [esp + 0x60]
mov byte [ecx + 0x11], 0
mov edx, dword [esp + 0x60]
mov byte [edx + 0x15], 1
jmp case.0x434f75.9
mov edx, dword [ebx + 0x34]
xor ecx, ecx
mov dword [esp + 0x60], ecx
mov eax, dword [ebp + 4]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x64], eax
cmp dword [eax], ecx
je 0x4377df
mov ecx, dword [esp + 0x2c]
test word [ecx + 0x1c], 0x4000
je 0x437749
mov esi, ecx
call fcn.00423650
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
push edx
mov edx, dword [eax + 0x28]
push ecx
push edx
mov edx, 0x97
lea eax, [esp + 0x7c]
call fcn.0042c450
add esp, 0xc
test eax, eax
mov dword [esp + 0x6c], eax
je 0x435424
cmp byte [ebp], 0x31
jne 0x437785
or word [eax + 6], 0x10
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
lea ecx, [esp + 0x68]
push ecx
push 0
push 0
push 0
push eax
mov eax, dword [edx]
push eax
call fcn.00417660
mov esi, dword [esp + 0x84]
add esp, 0x18
mov dword [esp + 0x14], eax
call fcn.0042c5a0
cmp dword [esp + 0x14], 0
jne case.0x434f75.9
mov edx, dword [esp + 0x64]
xor ecx, ecx
cmp dword [esp + 0x68], ecx
sete cl
mov dword [esp + 0x60], ecx
mov byte [edx + 0x15], 0
mov eax, dword [esp + 0x64]
mov dword [eax + 0x44], 0
mov ecx, dword [esp + 0x60]
cmp byte [ebp], 0x31
jne 0x4377ec
test ecx, ecx
jmp 0x4374d8
test ecx, ecx
jne case.0x434f75.9
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
mov eax, dword [ebp + 0x10]
mov edx, dword [ebx + 0x58]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov edx, dword [ebx + 0x34]
mov dword [esp + 0x70], eax
mov ecx, dword [ebp + 4]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x64], eax
xor ecx, ecx
mov dword [eax + 0x40], ecx
mov eax, dword [esp + 0x64]
mov dword [eax + 0x44], ecx
mov esi, dword [esp + 0x64]
mov edx, dword [esi]
mov edi, dword [esp + 0x70]
mov dword [esp + 0x68], edx
mov eax, dword [esi + 0x28]
mov dx, word [eax + 6]
xor ax, ax
cmp dx, cx
mov word [esp + 0x6c], dx
mov word [esp + 0x60], ax
jbe 0x437872
movzx ecx, ax
lea ecx, [ecx + ecx*4]
test byte [edi + ecx*8 + 0x1c], 1
jne 0x437921
add ax, 1
cmp ax, dx
mov word [esp + 0x60], ax
jb 0x437853
cmp dword [esp + 0x68], 0
je case.0x434f75.9
mov edx, dword [esi + 0x28]
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x78], edx
mov word [esp + 0x7c], ax
mov word [esp + 0x7e], 0x20
mov dword [esp + 0x88], edi
call fcn.00423ad0
mov eax, dword [esp + 0x64]
mov ecx, dword [esi]
add eax, 0x40
push eax
push 0
mov dword [esp + 0x98], ecx
mov edx, dword [esi + 4]
push 0
push 0
lea ecx, [esp + 0x88]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x78]
push ecx
push edx
call fcn.00417660
add esp, 0x18
test byte [esp + 0x7e], 0x20
mov dword [esp + 0x14], eax
jne 0x434fbc
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x90]
jne 0x437910
mov ecx, dword [esp + 0x84]
cmp ecx, dword [esp + 0x94]
je 0x434fbc
mov dword [esi], eax
mov edx, dword [esp + 0x84]
mov dword [esi + 4], edx
jmp case.0x434f75.9
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
mov dword [esp + 0x68], 0
jmp case.0x434f75.9
mov eax, dword [ebp + 4]
mov ecx, dword [ebx + 0x34]
mov ecx, dword [ecx + eax*4]
mov dword [esp + 0x60], ecx
mov eax, dword [ecx]
test eax, eax
mov dword [esp + 0x64], eax
je 0x4379e2
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x68], 0
mov ecx, dword [esi]
lea edi, [esp + 0x68]
push edi
push 0
mov dword [esp + 0x78], ecx
mov edx, dword [esi + 4]
push edx
push ecx
push 0
push eax
mov dword [esp + 0x8c], edx
call fcn.00417660
mov edx, dword [esi]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x78]
mov dword [eax + 8], edx
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x78]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x78]
add esp, 0x18
cmp dword [esp + 0x68], 0
sete al
mov byte [ecx + 0x11], al
mov edx, dword [esp + 0x60]
mov byte [edx + 0x14], 0
mov eax, dword [esp + 0x60]
mov dword [eax + 0x44], 0
mov ecx, dword [esp + 0x60]
mov byte [ecx + 0x15], 0
mov eax, dword [esp + 0x68]
test eax, eax
je 0x4379d6
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
mov edx, dword [esp + 0x60]
mov dword [edx + 0x40], eax
jmp case.0x434f75.9
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
mov dword [ecx + 0x40], 0
jmp case.0x434f75.9
mov ecx, dword [ebx + 0x34]
mov eax, dword [ebp + 4]
mov eax, dword [ecx + eax*4]
mov edx, dword [eax + 0x30]
mov dword [edi], edx
mov eax, dword [eax + 0x34]
mov dword [edi + 4], eax
mov ecx, dword [ebp + 4]
mov edx, dword [ebx + 0x34]
mov eax, dword [edx + ecx*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp 0x436fcc
mov edx, dword [ebx + 0x34]
xor eax, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x6c], eax
mov ecx, dword [ebp + 4]
mov esi, dword [edx + ecx*4]
mov dword [esp + 0x68], esi
cmp dword [esi], eax
je 0x437ca1
mov dword [esp + 0x70], eax
cmp byte [esi + 0x13], al
jne 0x437bc6
mov ecx, dword [esi]
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x60], eax
mov ecx, dword [ecx + 0x1c]
mov edx, eax
or edx, ecx
mov dword [esp + 0x64], ecx
jne 0x437ade
mov eax, dword [esi]
lea edi, [esp + 0x6c]
call fcn.00417620
test eax, eax
mov dword [esp + 0x14], eax
jne 0x439735
cmp dword [esp + 0x6c], eax
je 0x437a8e
mov eax, 1
xor ecx, ecx
jmp 0x437ad2
mov ecx, dword [esp + 0x68]
mov esi, dword [ecx]
lea eax, [esp + 0x60]
push eax
call fcn.00416b00
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x64]
add esp, 4
cmp eax, 0xffffffff
jne 0x437acc
cmp ecx, 0x7fffffff
jne 0x437acc
mov edx, dword [esp + 0x68]
mov byte [edx + 0x13], 1
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
jmp 0x437ada
add eax, 1
adc ecx, 0
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], eax
mov esi, dword [esp + 0x68]
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x437b91
mov ecx, dword [ebx + 0xdc]
test ecx, ecx
je 0x437b1c
mov dword [esp + 0x78], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x437b0d
mov edi, edi
mov ecx, eax
mov dword [esp + 0x78], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x437b00
mov ebp, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x10]
lea eax, [ebp + ebp*4]
lea esi, [ecx + eax*8]
jmp 0x437b25
mov eax, dword [ebx + 0x58]
lea edx, [edx + edx*4]
lea esi, [eax + edx*8]
mov dword [esp + 0x74], esi
call fcn.00423ad0
mov edx, dword [esp + 0x74]
mov eax, dword [edx]
cmp eax, 0xffffffff
mov ecx, dword [edx + 4]
jne 0x437b48
cmp ecx, 0x7fffffff
je 0x43972d
mov esi, dword [esp + 0x68]
cmp byte [esi + 0x13], 0
jne 0x43972d
mov esi, dword [esp + 0x64]
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x437b74
jl 0x437b6c
cmp dword [esp + 0x60], eax
jae 0x437b74
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x60]
mov dword [edx], ecx
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x64]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x68]
cmp ecx, 0x7fffffff
jg 0x437ba8
jl 0x437ba0
cmp eax, 0xffffffff
jae 0x437ba8
add eax, 1
adc ecx, 0
jmp 0x437bac
xor eax, eax
xor ecx, ecx
mov esi, dword [esi]
push ecx
push eax
call fcn.004169e0
mov esi, dword [esp + 0x70]
add esp, 8
cmp byte [esi + 0x13], 0
je 0x437c86
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x30]
mov dword [esp + 0x60], ecx
mov edx, dword [eax + 0x34]
xor ecx, ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x70], ecx
xor edi, edi
mov ebp, 0xffffff
mov esi, 5
cmp ecx, edi
jne 0x437c0f
mov edx, dword [esp + 0x60]
mov eax, edx
and eax, ebp
xor ecx, ecx
cmp eax, edx
jne 0x437c0f
cmp ecx, dword [esp + 0x64]
jne 0x437c0f
add edx, 1
adc dword [esp + 0x64], edi
mov dword [esp + 0x60], edx
jmp 0x437c2c
lea eax, [esp + 0x60]
push eax
push 8
call fcn.0041e4e0
add esp, 8
cmp dword [esp + 0x70], esi
jge 0x437c2c
and dword [esp + 0x60], ebp
mov dword [esp + 0x64], edi
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x6c]
push edi
push edx
mov edx, dword [ecx]
push eax
push edi
push edx
call fcn.00417660
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
add ecx, 1
add esp, 0x18
cmp ecx, 0x64
mov dword [esp + 0x14], eax
mov dword [esp + 0x70], ecx
jge 0x437c76
cmp eax, edi
jne 0x437c82
cmp edx, edi
je 0x437bea
cmp eax, edi
jne 0x437c82
cmp edx, edi
je 0x43972d
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x24]
mov byte [esi + 0x11], 0
mov eax, dword [esp + 0x68]
mov byte [eax + 0x15], 0
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x44], 0
mov dx, word [edi + 0x1c]
and dx, 0xbf04
or dx, 4
mov word [edi + 0x1c], dx
mov eax, dword [esp + 0x60]
mov dword [edi], eax
mov ecx, dword [esp + 0x64]
mov dword [edi + 4], ecx
jmp case.0x434f75.9
mov eax, dword [ebp + 8]
mov ecx, dword [ebx + 0x58]
lea edx, [eax + eax*4]
lea edi, [ecx + edx*8]
mov edx, dword [ebx + 0x34]
mov dword [esp + 0x60], edi
mov eax, dword [ebp + 4]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x70], eax
cmp byte [ebp], 0x36
mov eax, dword [ebp + 0xc]
jne 0x437d03
lea edx, [eax + eax*4]
lea ecx, [ecx + edx*8]
mov dword [esp + 0x64], ecx
mov eax, dword [ecx]
mov dword [esp + 0x68], eax
mov ecx, dword [ecx + 4]
mov dword [esp + 0x6c], ecx
jmp 0x437d0c
cdq
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
test byte [ebp + 3], 1
je 0x437d16
add dword [ebx + 0x74], 1
test byte [ebp + 3], 2
je 0x437d2a
mov dword [esi + 0x30], eax
mov edx, dword [esp + 0x6c]
mov dword [esi + 0x34], edx
mov edi, dword [esp + 0x60]
xor eax, eax
test byte [edi + 0x1c], 1
je 0x437d40
mov dword [edi + 0x14], eax
mov ecx, dword [esp + 0x60]
mov dword [ecx + 0x18], eax
mov edi, dword [esp + 0x60]
test byte [ebp + 3], 0x10
je 0x437d53
mov edx, dword [esp + 0x70]
mov ecx, dword [edx + 0x40]
mov dword [esp + 0x78], ecx
jmp 0x437d57
mov dword [esp + 0x78], eax
test word [edi + 0x1c], 0x4000
je 0x437d67
mov edx, dword [edi]
mov dword [esp + 0x74], edx
jmp 0x437d6b
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x70]
mov esi, dword [eax]
push 0
push 0
call fcn.004169e0
movzx ecx, byte [ebp + 3]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x7c]
and ecx, 8
push ecx
mov ecx, dword [eax + 0x18]
push edx
mov edx, dword [eax + 0x14]
mov eax, dword [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x7c]
push edx
mov edx, dword [esp + 0x88]
push eax
mov eax, dword [edx]
push ecx
push 0
push eax
mov eax, dword [esp + 0xa0]
call fcn.00419f30
mov ecx, dword [esp + 0x98]
mov byte [ecx + 0x11], 0
mov edx, dword [esp + 0x98]
mov byte [edx + 0x15], 0
mov ecx, dword [esp + 0x98]
add esp, 0x28
test eax, eax
mov dword [esp + 0x14], eax
mov dword [ecx + 0x44], 0
jne case.0x434f75.9
mov eax, dword [esp + 0x18]
cmp dword [eax + 0xb8], 0
je case.0x434f75.9
cmp dword [ebp + 0x10], 0
je case.0x434f75.9
mov edx, dword [esp + 0x70]
mov ecx, dword [edx + 4]
mov edx, dword [eax + 8]
shl ecx, 4
mov esi, dword [ecx + edx]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x7c], esi
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x80], edi
mov cl, byte [ebp + 3]
and cl, 4
neg cl
push edx
mov edx, dword [esp + 0x6c]
push edx
push edi
push esi
sbb ecx, ecx
and ecx, 5
add ecx, 0x12
mov dword [esp + 0x94], ecx
mov edx, dword [eax + 0xb8]
push ecx
mov ecx, dword [eax + 0xb4]
push ecx
call edx
add esp, 0x18
jmp case.0x434f75.9
mov edx, dword [ebx + 0x34]
xor eax, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov ecx, dword [ebp + 4]
mov edi, dword [edx + ecx*4]
mov dword [esp + 0x68], edi
cmp dword [esi + 0xb8], eax
je 0x437e8e
cmp dword [ebp + 0x10], eax
je 0x437e8e
mov eax, dword [edi + 8]
mov dword [esp + 0x60], eax
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x64], ecx
call fcn.0042bff0
test eax, eax
mov dword [esp + 0x14], eax
jne 0x439735
mov edx, dword [esp + 0x68]
mov esi, dword [edx]
push eax
push eax
call fcn.004169e0
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
push ecx
call fcn.0041a140
mov edx, dword [esp + 0x74]
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
mov dword [edx + 0x44], 0
jne 0x437f0d
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0xb8]
test ecx, ecx
je 0x437f0d
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x437f0d
mov esi, dword [esp + 0x64]
push esi
mov esi, dword [esp + 0x64]
push esi
mov esi, dword [edx + 8]
mov edx, dword [edx + 0xb4]
push eax
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 4]
shl eax, 4
mov eax, dword [eax + esi]
push eax
push 9
push edx
call ecx
add esp, 0x18
test byte [ebp + 8], 1
je case.0x434f75.9
add dword [ebx + 0x74], 1
jmp case.0x434f75.9
mov eax, dword [ebx + 0x74]
add dword [esi + 0x40], eax
mov dword [esi + 0x3c], eax
mov dword [ebx + 0x74], 0
jmp case.0x434f75.9
mov eax, dword [ebp + 8]
mov ecx, dword [ebx + 0x58]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp + 4]
mov ecx, dword [ebx + 0x34]
mov edi, dword [ecx + eax*4]
mov dword [esp + 0x24], edx
mov dword [esp + 0x60], edi
mov edx, dword [edi]
mov dword [esp + 0x64], edx
call fcn.0042bff0
test eax, eax
mov dword [esp + 0x14], eax
jne 0x439735
mov eax, dword [esp + 0x60]
cmp byte [eax + 0x17], 0
mov esi, dword [esp + 0x64]
je 0x437fae
lea ecx, [esp + 0x70]
push ecx
call fcn.00416b00
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x48]
mov ecx, dword [esp + 0x78]
cdq
add esp, 4
cmp ecx, edx
jg 0x435a55
mov ecx, dword [esp + 0x70]
jl 0x437fa6
cmp ecx, eax
ja 0x435a55
mov eax, ecx
mov dword [esp + 0x68], eax
jmp 0x437fcc
lea edx, [esp + 0x68]
push edx
call fcn.00416b80
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x1c]
add esp, 4
cmp eax, dword [ecx + 0x48]
ja 0x435a55
mov edx, dword [esp + 0x24]
push 0
push edx
call fcn.004234c0
add esp, 8
test eax, eax
jne 0x435424
mov esi, dword [esp + 0x24]
mov cx, word [esi + 0x1c]
mov eax, dword [esp + 0x68]
and cx, 0xbf10
or cx, 0x10
mov dword [esi + 0x18], eax
mov word [esi + 0x1c], cx
mov edx, dword [esp + 0x60]
cmp byte [edx + 0x17], 0
mov ecx, dword [esp + 0x64]
je 0x438030
mov eax, dword [esi + 0x14]
push 0
push eax
mov eax, dword [esp + 0x70]
push eax
push 0
push ecx
call fcn.00416d90
add esp, 0x14
mov dword [esp + 0x14], eax
mov byte [esi + 0x1f], 1
jmp case.0x434f75.9
mov edx, dword [esi + 0x14]
mov eax, dword [esp + 0x68]
push edx
push eax
push 0
push ecx
call fcn.004170b0
add esp, 0x10
mov dword [esp + 0x14], eax
mov byte [esi + 0x1f], 1
jmp case.0x434f75.9
mov edx, dword [ebp + 4]
mov eax, dword [ebx + 0x34]
mov edi, dword [eax + edx*4]
mov dword [esp + 0x60], edi
cmp byte [edi + 0x14], 0
jne case.0x434f75.9
cmp byte [edi + 0x15], 0
je 0x438081
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x68], ecx
mov edx, dword [edi + 0x1c]
mov dword [esp + 0x6c], edx
jmp 0x438107
mov eax, dword [edi + 0x38]
test eax, eax
je 0x4380c9
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov eax, dword [eax]
mov dword [esp + 0x74], eax
mov edx, dword [edi + 0x38]
mov eax, dword [eax + 0x30]
lea ecx, [esp + 0x68]
push ecx
push edx
call eax
mov ecx, dword [ebx + 0x68]
push ecx
push esi
mov dword [esp + 0x24], eax
call fcn.0040f470
mov eax, dword [esp + 0x80]
mov edx, dword [eax + 8]
mov dword [ebx + 0x68], edx
add esp, 0x10
mov dword [eax + 8], 0
jmp 0x438107
call fcn.0042bff0
test eax, eax
mov dword [esp + 0x14], eax
jne 0x439735
mov eax, dword [esp + 0x60]
cmp byte [eax + 0x11], 0
je 0x4380f4
mov ecx, dword [eax + 8]
mov dword [esp + 0x68], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x6c], edx
jmp 0x438107
mov esi, dword [eax]
lea ecx, [esp + 0x68]
push ecx
call fcn.00416b00
add esp, 4
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x68]
mov dword [eax], edx
mov dx, word [eax + 0x1c]
mov ecx, dword [esp + 0x6c]
and dx, 0xbf04
or dx, 4
mov dword [eax + 4], ecx
mov word [eax + 0x1c], dx
jmp case.0x434f75.9
mov eax, dword [ebp + 4]
mov ecx, dword [ebx + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x60], eax
mov byte [eax + 0x14], 1
mov edx, dword [esp + 0x60]
mov byte [edx + 0x11], 0
mov eax, dword [esp + 0x60]
mov esi, dword [eax]
test esi, esi
je case.0x434f75.9
call fcn.00413c60
jmp case.0x434f75.9
mov ecx, dword [ebp + 4]
mov edx, dword [ebx + 0x34]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x60], ecx
mov eax, dword [ecx]
test eax, eax
mov dword [esp + 0x64], eax
jne 0x438180
mov dword [esp + 0x68], 1
jmp 0x438191
lea edi, [esp + 0x68]
call fcn.00417620
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x14], eax
mov al, byte [esp + 0x68]
mov byte [ecx + 0x14], al
mov ecx, dword [esp + 0x60]
mov byte [ecx + 0x15], 0
mov edx, dword [esp + 0x60]
mov byte [edx + 0x11], 0
mov eax, dword [esp + 0x60]
mov dword [eax + 0x44], 0
mov ebp, dword [ebp + 8]
test ebp, ebp
jle case.0x434f75.9
cmp dword [esp + 0x68], 0
je case.0x434f75.9
add ebp, 0xffffffff
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
add dword [ebx + 0xbc], 1
mov ecx, dword [ebp + 4]
mov edx, dword [ebx + 0x34]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x60], ecx
mov eax, dword [ecx]
test eax, eax
mov dword [esp + 0x64], eax
je 0x438230
lea edi, [esp + 0x68]
call fcn.004175f0
cmp dword [esp + 0x68], 0
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x14], eax
sete al
mov byte [ecx + 0x12], al
mov edx, dword [esp + 0x60]
mov byte [edx + 0x15], 0
mov eax, dword [esp + 0x60]
mov dword [eax + 0x44], 0
mov ecx, dword [esp + 0x60]
mov byte [ecx + 0x11], 0
mov ecx, dword [esp + 0x60]
jmp 0x438238
mov dword [esp + 0x68], 1
mov dl, byte [esp + 0x68]
mov byte [ecx + 0x14], dl
cmp dword [esp + 0x68], 0
je case.0x434f75.9
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
mov eax, dword [esi + 0xd8]
test eax, eax
jne 0x43978f
mov ecx, dword [ebp + 4]
mov edx, dword [ebx + 0x34]
mov eax, dword [edx + ecx*4]
test eax, eax
mov dword [esp + 0x60], eax
je case.0x434f75.9
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp + 0x64], ecx
jne 0x43828f
mov byte [eax + 0x14], 1
jmp case.0x434f75.9
mov dword [esp + 0x68], 1
cmp byte [ebp], 0x42
jne 0x4382aa
lea eax, [esp + 0x68]
push eax
push ecx
call fcn.00417a80
jmp 0x4382b5
lea edx, [esp + 0x68]
push edx
push ecx
call fcn.00417bd0
mov cl, byte [esp + 0x70]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x68]
mov byte [eax + 0x14], cl
mov edx, dword [esp + 0x68]
add esp, 8
mov dword [edx + 0x44], 0
cmp dword [esp + 0x68], 0
jne 0x4382fc
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [esp + 0x20], eax
mov al, byte [ebp + 3]
test al, al
je 0x4382fc
movzx eax, al
add dword [ebx + eax*4 + 0xb4], 1
lea eax, [ebx + eax*4 + 0xb4]
mov ecx, dword [esp + 0x60]
mov byte [ecx + 0x11], 0
jmp case.0x434f75.9
mov edx, dword [ebp + 4]
mov eax, dword [ebx + 0x34]
mov edx, dword [eax + edx*4]
mov dword [esp + 0x60], edx
mov ecx, dword [edx]
test ecx, ecx
mov dword [esp + 0x64], ecx
je case.0x434f75.9
mov eax, dword [esp + 0x28]
test word [eax + 0x1c], 0x4000
mov esi, eax
je 0x43834b
call fcn.00423650
test eax, eax
mov dword [esp + 0x14], eax
jne case.0x434f75.9
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
mov eax, dword [esi + 0x18]
mov dword [esp + 0x68], eax
mov edi, dword [esi + 0x14]
mov dword [esp + 0x6c], edi
test byte [ebp + 3], 0x10
je 0x438364
mov esi, dword [edx + 0x40]
jmp 0x438366
xor esi, esi
mov edx, dword [ebp + 0xc]
push edx
push 0
push 0
cdq
push 0x4ca308
push edx
push eax
push edi
push ecx
mov eax, esi
call fcn.00419f30
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x80]
add esp, 0x20
mov dword [eax + 0x44], 0
jmp case.0x434f75.9
mov ecx, dword [ebp + 4]
mov edx, dword [ebx + 0x34]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x60], eax
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp + 0x64], ecx
je case.0x434f75.9
mov eax, dword [eax + 0x28]
mov dword [esp + 0x70], eax
mov dx, word [ebp + 0xc]
xor esi, esi
mov word [esp + 0x74], dx
mov edx, dword [ebx + 0x58]
mov word [esp + 0x76], si
mov ebp, dword [ebp + 8]
lea eax, [ebp + ebp*4]
lea eax, [edx + eax*8]
lea edx, [esp + 0x68]
push edx
push esi
push esi
mov dword [esp + 0x8c], eax
push esi
lea eax, [esp + 0x80]
push eax
push ecx
call fcn.00417660
add esp, 0x18
cmp eax, esi
mov dword [esp + 0x14], eax
jne 0x438417
cmp dword [esp + 0x68], esi
jne 0x438417
mov ecx, dword [esp + 0x64]
push ecx
call fcn.0041a140
add esp, 4
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x60]
mov dword [edx + 0x44], esi
jmp case.0x434f75.9
mov eax, dword [ebp + 4]
mov ecx, dword [ebx + 0x34]
mov edi, dword [ecx + eax*4]
mov dword [esp + 0x64], edi
mov eax, dword [edi]
test eax, eax
mov dword [esp + 0x60], eax
je case.0x434f75.9
call fcn.0042bff0
test eax, eax
mov dword [esp + 0x14], eax
jne 0x439735
mov edx, dword [esp + 0x64]
cmp byte [edx + 0x14], al
jne case.0x434f75.9
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x64]
call fcn.0042c800
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
jne 0x439735
mov eax, dword [esp + 0x24]
mov cx, word [eax + 0x1c]
and cx, 0xbf04
or cx, 4
mov word [eax + 0x1c], cx
mov edx, dword [esp + 0x68]
mov dword [eax], edx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 4], ecx
jmp case.0x434f75.9
mov edx, dword [ebp + 4]
mov eax, dword [ebx + 0x34]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x60], eax
cmp dword [eax], 0
je case.0x434f75.9
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x68], ecx
mov dx, word [ebp + 0x10]
xor ecx, ecx
mov word [esp + 0x6c], dx
cmp byte [ebp + 3], cl
setne cl
lea ecx, [ecx*8 + 4]
mov word [esp + 0x6e], cx
mov ecx, dword [ebp + 0xc]
lea edx, [ecx + ecx*4]
mov ecx, dword [ebx + 0x58]
lea edx, [ecx + edx*8]
lea ecx, [esp + 0x64]
mov dword [esp + 0x78], edx
push ecx
lea edx, [esp + 0x6c]
push edx
push eax
call fcn.0042c930
add esp, 0xc
cmp byte [ebp], 0x48
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x64]
jne 0x43850f
neg eax
jmp 0x438512
add eax, 1
test eax, eax
mov dword [esp + 0x64], eax
jle case.0x434f75.9
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
xor ecx, ecx
mov dword [esp + 0x64], ecx
mov eax, dword [esi + 0x88]
test eax, eax
mov dword [esp + 0x68], eax
je 0x43857f
mov edx, 0xbdf20da3
cmp dword [eax + 0x50], edx
jne 0x43855e
cmp byte [eax + 0x70], 2
jae 0x43855e
cmp dword [eax + 0x60], 0
jl 0x43855e
add ecx, 1
mov dword [esp + 0x64], ecx
mov eax, dword [eax + 8]
test eax, eax
mov dword [esp + 0x68], eax
jne 0x438546
cmp ecx, 1
jle 0x43857f
mov dword [esp + 0x14], 6
mov byte [ebx + 0x38], 2
jmp case.0x434f75.9
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x6c], eax
mov edx, dword [ebp + 4]
lea ecx, [esp + 0x60]
push ecx
mov ecx, dword [esi + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
push edx
call fcn.0041aad0
mov dx, word [edi + 0x1c]
and dx, 0xbf04
or dx, 4
mov ecx, eax
mov word [edi + 0x1c], dx
mov eax, dword [esp + 0x68]
cdq
add esp, 8
test ecx, ecx
mov dword [esp + 0x14], ecx
mov dword [edi], eax
mov dword [edi + 4], edx
jne case.0x434f75.9
mov edx, dword [esp + 0x60]
test edx, edx
je case.0x434f75.9
mov esi, dword [esp + 0x6c]
mov eax, dword [esp + 0x18]
mov edi, dword [ebp + 4]
shl esi, 4
add esi, dword [eax + 8]
call fcn.00427270
jmp case.0x434f75.9
mov dword [esp + 0x60], 0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 4]
neg ecx
sbb ecx, ecx
lea edx, [esp + 0x60]
and ecx, edx
mov edx, dword [esp + 0x18]
push ecx
mov ecx, dword [ebp + 8]
push eax
mov eax, dword [edx + 8]
shl ecx, 4
mov esi, dword [ecx + eax + 4]
call fcn.0041a800
add esp, 8
cmp dword [ebp + 0xc], 0
mov dword [esp + 0x14], eax
je case.0x434f75.9
mov eax, dword [esp + 0x60]
add dword [ebx + 0x74], eax
mov ebp, dword [ebp + 0xc]
test ebp, ebp
jle case.0x434f75.9
mov edx, dword [ebx + 0x58]
lea ecx, [ebp + ebp*4]
lea ecx, [edx + ecx*8]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x434f75.9
mov dword [esp + 0x60], 0
mov eax, dword [ebp + 4]
shl eax, 4
add eax, dword [esi + 8]
mov dword [esp + 0x68], eax
mov cl, byte [ebp]
sub cl, 0x61
neg cl
sbb ecx, ecx
and ecx, 0xfffffffd
add ecx, 5
mov dword [esp + 0x64], ecx
mov eax, dword [eax + 4]
push ecx
lea ecx, [esp + 0x64]
push ecx
call fcn.0041a620
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x68]
add esp, 8
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x435b5d
mov eax, dword [ebp + 4]
push esi
mov dword [esp + 0x64], eax
call fcn.00422d50
mov eax, dword [esp + 0x64]
add esp, 4
cmp dword [ebp + 8], 0
jne 0x4386d6
mov edx, dword [esi + 8]
mov ecx, eax
shl ecx, 4
mov ecx, dword [ecx + edx + 0xc]
test byte [ecx + 0x4a], 1
je 0x438778
cmp eax, 1
mov ecx, str.sqlite_temp_master
je 0x4386e5
mov ecx, str.sqlite_master
mov edi, dword [esp + 0x18]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], edi
mov edx, dword [ebp + 4]
mov dword [esp + 0x70], edx
lea edx, [ebx + 0x68]
mov dword [esp + 0x74], edx
mov edx, dword [ebp + 0x10]
push edx
push ecx
mov ecx, dword [edi + 8]
shl eax, 4
mov edx, dword [eax + ecx]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
call fcn.004119c0
add esp, 0x10
test eax, eax
mov dword [esp + 0x68], eax
jne 0x43872d
mov dword [esp + 0x14], 7
jmp 0x438778
push 0
lea eax, [esp + 0x70]
push eax
mov byte [edi + 0x7c], 1
mov ecx, dword [esp + 0x70]
push fcn.00431bc0
push ecx
push edi
mov dword [esp + 0x8c], 0
call fcn.0040e710
add esp, 0x14
test eax, eax
mov dword [esp + 0x14], eax
jne 0x438766
mov edx, dword [esp + 0x78]
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x68]
push eax
push edi
call fcn.0040f470
add esp, 8
mov byte [edi + 0x7c], 0
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00422e30
add esp, 4
cmp dword [esp + 0x14], 7
je 0x435424
jmp case.0x434f75.9
mov eax, dword [ebp + 4]
mov ecx, esi
call fcn.004553f0
mov dword [esp + 0x14], eax
jmp case.0x434f75.9
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push esi
call fcn.00425730
add esp, 4
jmp case.0x434f75.9
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push esi
call fcn.00425110
add esp, 4
jmp case.0x434f75.9
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push esi
call fcn.00434130
add esp, 4
jmp case.0x434f75.9
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x18]
lea ecx, [eax*4 + 4]
mov dword [esp + 0x60], eax
call fcn.0040f650
test eax, eax
mov dword [esp + 0x64], eax
je 0x435424
mov ecx, dword [ebp + 0xc]
lea edx, [ecx + ecx*4]
mov ecx, dword [ebx + 0x58]
lea edx, [ecx + edx*8]
mov dword [esp + 0x74], edx
mov ecx, dword [ebp + 4]
mov edx, dword [ebx + 0x58]
lea ecx, [ecx + ecx*4]
lea esi, [edx + ecx*8]
xor ecx, ecx
cmp dword [esp + 0x60], ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x68], ecx
jle 0x43885e
lea eax, [ecx + ecx*4]
lea eax, [esi + eax*8]
call fcn.00423950
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + 0x68]
add ecx, 1
cmp ecx, dword [esp + 0x60]
mov dword [esp + 0x68], ecx
jl 0x438833
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x18]
mov dword [eax + ecx*4], 0
mov ecx, dword [esp + 0x74]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x64]
lea eax, [esp + 0x6c]
push eax
mov eax, dword [esp + 0x64]
push edx
movzx edx, byte [ebp + 3]
push eax
mov eax, dword [edi + 8]
shl edx, 4
push ecx
mov ecx, dword [edx + eax + 4]
call fcn.0041b780
mov ecx, dword [esp + 0x74]
push ecx
push edi
mov dword [esp + 0x88], eax
call fcn.0040f470
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x8c]
cdq
sub dword [ecx], eax
mov eax, dword [esp + 0x8c]
push esi
sbb dword [eax + 4], edx
call fcn.00423b90
add esp, 0x1c
cmp dword [esp + 0x6c], 0
je 0x4388f4
mov eax, dword [esp + 0x70]
test eax, eax
je 0x435424
mov esi, dword [esp + 0x1c]
push fcn.0040f3f0
push 1
push eax
or eax, 0xffffffff
mov ecx, esi
call fcn.00423e30
add esp, 0xc
movzx ecx, byte [esp + 0x30]
mov eax, esi
call fcn.004234a0
jmp case.0x434f75.9
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x58]
lea edx, [ecx + ecx*4]
lea edi, [eax + edx*8]
mov dword [esp + 0x60], edi
mov ebp, dword [ebp + 8]
lea ecx, [ebp + ebp*4]
lea eax, [eax + ecx*8]
mov dword [esp + 0x64], eax
test byte [edi + 0x1c], 0x20
jne 0x438940
call fcn.00423c90
mov edi, dword [esp + 0x60]
test byte [edi + 0x1c], 0x20
je 0x435424
mov eax, dword [esp + 0x64]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov edi, dword [edi]
push edx
push eax
call fcn.00446030
jmp 0x4395ef
mov ecx, dword [esi + 0xd8]
test ecx, ecx
jne 0x43978f
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x58]
lea edx, [ecx + ecx*4]
lea edx, [eax + edx*8]
mov dword [esp + 0x60], edx
test byte [edx + 0x1c], 0x20
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + ecx*4]
lea edi, [eax + ecx*8]
mov dword [esp + 0x24], edi
je 0x4389ad
mov eax, dword [edx]
lea esi, [esp + 0x68]
call fcn.004463a0
test eax, eax
je 0x4389a9
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
push edx
push eax
mov esi, edi
call fcn.00423be0
jmp 0x4395ef
mov edx, dword [esp + 0x60]
push edx
call fcn.00423b90
mov ebp, dword [ebp + 8]
add esp, 4
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x60], eax
test byte [ecx + 0x1c], 0x20
jne 0x4389eb
mov edi, ecx
call fcn.00423c90
test byte [edi + 0x1c], 0x20
je 0x435424
mov eax, dword [esp + 0x60]
test eax, eax
je 0x438a38
jl 0x4389f6
and eax, 0xf
jmp 0x4389fb
mov eax, 0xff
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
push edx
mov edx, dword [esp + 0x20]
push ecx
push eax
mov eax, dword [edx]
call fcn.00446420
add esp, 0xc
test eax, eax
mov dword [esp + 0x64], eax
je 0x438a2c
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
mov eax, dword [esp + 0x60]
test eax, eax
jl case.0x434f75.9
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x1c]
mov edi, dword [eax]
push ecx
push edx
call fcn.00446030
jmp 0x4395ef
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x78], ecx
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x58]
lea edi, [eax + edx*8]
mov dword [esp + 0x68], edi
cmp byte [ebp + 3], 0
je 0x438a99
mov eax, dword [ebx + 0xdc]
test eax, eax
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x74], eax
je 0x438a99
cmp dword [eax + 0x20], edx
je case.0x434f75.9
mov eax, dword [eax + 0x3c]
test eax, eax
mov dword [esp + 0x74], eax
jne 0x438a85
mov edx, dword [ebx + 0xe0]
cmp edx, dword [esi + 0x70]
jl 0x438ac5
mov eax, dword [esp + 0x18]
push str.too_many_levels_of_trigger_recursion
lea esi, [ebx + 0x68]
mov dword [esp + 0x18], 1
call fcn.0040f860
add esp, 4
jmp case.0x434f75.9
test byte [edi + 0x1c], 0x40
jne 0x438be4
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
mov dword [esp + 0x60], eax
mov ecx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*2]
mov eax, dword [esp + 0x18]
lea edi, [edi*4 + 0x40]
mov dword [esp + 0x64], edi
call fcn.0040f630
test eax, eax
mov dword [esp + 0x74], eax
je 0x435424
mov edx, dword [esp + 0x68]
push edx
call fcn.00423880
mov eax, dword [esp + 0x6c]
mov word [eax + 0x1c], 0x40
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x6c]
mov dword [edx], ecx
mov eax, dword [esp + 0x78]
mov dword [eax], ebx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x64]
mov dword [ecx + 0x24], edx
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x78]
mov dword [edx + 0x28], ecx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x24]
mov dword [eax + 4], ecx
mov edx, dword [ebx + 0x58]
mov eax, dword [esp + 0x78]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x78]
mov ecx, dword [ebx + 0x54]
mov dword [edx + 0x14], ecx
mov eax, dword [ebx + 0x34]
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x18], eax
mov dx, word [ebx + 0x32]
mov eax, dword [esp + 0x78]
mov word [eax + 0x1c], dx
mov ecx, dword [ebx + 0x14]
mov edx, dword [esp + 0x78]
mov dword [edx + 8], ecx
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0xc], eax
mov edx, dword [esp + 0x7c]
mov eax, dword [edx + 0x14]
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x20], eax
mov ecx, dword [esp + 0x78]
mov eax, dword [ecx + 0x24]
lea edx, [eax + eax*4]
lea edx, [ecx + edx*8 + 0x40]
lea eax, [ecx + 0x40]
add esp, 4
mov dword [esp + 0x70], edx
cmp eax, edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x6c], eax
je 0x438bee
lea ebx, [ebx]
mov word [eax + 0x1c], 1
mov eax, dword [esp + 0x6c]
mov dword [eax + 0x10], edx
mov eax, dword [esp + 0x6c]
add eax, 0x28
cmp eax, dword [esp + 0x70]
mov dword [esp + 0x6c], eax
jne 0x438bc0
mov ecx, dword [esp + 0x74]
jmp 0x438bee
mov ecx, dword [edi]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x74], ecx
add dword [ebx + 0xe0], 1
mov eax, dword [ebx + 0xdc]
mov dword [ecx + 0x3c], eax
mov ecx, dword [edx + 0x30]
mov eax, dword [esp + 0x74]
mov dword [eax + 0x30], ecx
mov ecx, dword [edx + 0x34]
mov edx, dword [esp + 0x74]
mov dword [edx + 0x34], ecx
mov eax, dword [ebx + 0x74]
mov ecx, dword [esp + 0x74]
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x74]
lea ecx, [eax + 0x18]
mov dword [ebx + 0xdc], eax
mov dword [ebx + 0x74], 0
mov dword [ebx + 0x58], ecx
mov edx, dword [eax + 0x24]
mov dword [ebx + 0x54], edx
mov ax, word [eax + 0x28]
mov word [ebx + 0x32], ax
mov eax, edx
add eax, 1
lea edx, [eax + eax*4]
lea eax, [ecx + edx*8]
mov dword [ebx + 0x34], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [eax]
mov dword [ebx + 0x14], ecx
mov edx, dword [eax + 4]
mov dword [ebx + 0xc], edx
mov dword [esp + 0x20], 0xffffffff
jmp case.0x434f75.9
mov ecx, dword [ebx + 0xdc]
mov dword [esp + 0x60], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 4]
add eax, dword [ebp + 4]
push 0x1000
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
push edi
mov dword [esp + 0x70], eax
call fcn.00423d50
add esp, 0xc
jmp case.0x434f75.9
cmp dword [ebp + 4], 0
mov eax, dword [ebp + 8]
cdq
je 0x438cc1
add dword [esi + 0x1d8], eax
adc dword [esi + 0x1dc], edx
jmp case.0x434f75.9
add dword [ebx + 0xc8], eax
adc dword [ebx + 0xcc], edx
jmp case.0x434f75.9
cmp dword [ebp + 4], 0
je 0x438cf9
mov edx, dword [esi + 0x1d8]
or edx, dword [esi + 0x1dc]
jne case.0x434f75.9
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
mov eax, dword [ebx + 0xc8]
or eax, dword [ebx + 0xcc]
jne case.0x434f75.9
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
mov ecx, dword [ebx + 0xdc]
test ecx, ecx
je 0x438d4c
mov dword [esp + 0x64], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x438d3d
nop
mov ecx, eax
mov dword [esp + 0x64], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x438d30
mov ebp, dword [ebp + 4]
mov eax, dword [ecx + 0x10]
lea edx, [ebp + ebp*4]
lea esi, [eax + edx*8]
jmp 0x438d59
mov ebp, dword [ebp + 4]
mov edx, dword [ebx + 0x58]
lea ecx, [ebp + ebp*4]
lea esi, [edx + ecx*8]
mov dword [esp + 0x60], esi
call fcn.00423ad0
mov esi, dword [esp + 0x28]
call fcn.00423ad0
mov ecx, dword [esp + 0x60]
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov edx, dword [ecx + 4]
cmp edx, esi
jg case.0x434f75.9
jl 0x438d8b
mov edx, dword [ecx]
cmp edx, eax
jae case.0x434f75.9
mov dword [ecx], eax
mov eax, dword [esp + 0x60]
mov dword [eax + 4], esi
jmp case.0x434f75.9
mov eax, dword [esp + 0x1c]
cmp dword [eax + 4], 0
jl case.0x434f75.9
jg 0x438db2
cmp dword [eax], 0
jbe case.0x434f75.9
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
mov eax, dword [esp + 0x1c]
cmp dword [eax + 4], 0
jg case.0x434f75.9
jl 0x438dda
cmp dword [eax], 0
jae case.0x434f75.9
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
or ecx, dword [eax + 4]
jne case.0x434f75.9
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
movzx ecx, byte [ebp + 3]
mov dword [esp + 0x60], ecx
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x58]
lea edx, [eax + edx*8]
mov eax, dword [ebx + 0x24]
mov dword [esp + 0xb0], eax
xor eax, eax
test ecx, ecx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], eax
jle 0x438e60
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0xb0]
mov dword [edx + eax*4], ecx
mov ecx, dword [esp + 0x6c]
call fcn.00434b30
mov eax, dword [esp + 0x64]
add dword [esp + 0x6c], 0x28
add eax, 1
cmp eax, dword [esp + 0x60]
mov dword [esp + 0x64], eax
jl 0x438e33
mov eax, dword [ebp + 0x10]
mov edx, dword [ebx + 0x58]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
xor esi, esi
mov dword [esp + 0x68], eax
mov dword [esp + 0xa0], eax
mov ecx, 1
add dword [eax + 0x18], ecx
mov eax, dword [esp + 0x70]
mov word [esp + 0x94], cx
mov dword [esp + 0x8c], esi
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], esi
mov dword [esp + 0x88], edi
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], esi
test byte [eax + 3], 8
je 0x438ed2
mov ecx, dword [ebp - 4]
mov dword [esp + 0xa8], ecx
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x60]
mov eax, dword [eax + 0x10]
push edx
push ecx
lea edx, [esp + 0x78]
push edx
call eax
add esp, 0xc
cmp dword [esp + 0xa4], esi
je 0x438f21
push 1
lea eax, [esp + 0x7c]
call fcn.00424340
add esp, 4
push eax
push 0x4cb838
lea esi, [ebx + 0x68]
mov eax, edi
call fcn.0040f860
mov ecx, dword [esp + 0xac]
add esp, 8
mov dword [esp + 0x14], ecx
lea edx, [esp + 0x78]
push edx
call fcn.00423880
add esp, 4
jmp case.0x434f75.9
mov eax, dword [ebp + 4]
mov ecx, dword [ebx + 0x58]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x60], ecx
mov eax, dword [ebp + 0x10]
call fcn.004237a0
test eax, eax
mov dword [esp + 0x14], eax
je 0x438f76
mov eax, dword [esp + 0x60]
push 1
call fcn.00424340
add esp, 4
push eax
mov eax, dword [esp + 0x1c]
push 0x4cb838
lea esi, [ebx + 0x68]
call fcn.0040f860
add esp, 8
movzx ecx, byte [esp + 0x30]
mov eax, dword [esp + 0x60]
call fcn.004234a0
mov ecx, dword [esp + 0x60]
call fcn.00423d20
test eax, eax
jne 0x435a55
jmp case.0x434f75.9
cmp byte [esi + 0x1c], 0
jne 0x438faa
push str.cannot_VACUUM_from_within_a_transaction
jmp 0x436ec5
mov esi, dword [esp + 0x18]
call fcn.004589b0
mov dword [esp + 0x14], eax
jmp case.0x434f75.9
mov edx, dword [ebp + 4]
mov eax, dword [esi + 8]
shl edx, 4
mov eax, dword [edx + eax + 4]
mov dword [esp + 0x60], eax
call fcn.00416240
cmp eax, 0x65
mov dword [esp + 0x14], eax
jne case.0x434f75.9
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], 0
jmp case.0x434f75.9
cmp dword [ebp + 4], 0
jne 0x439008
mov eax, esi
call fcn.0042ca00
jmp case.0x434f75.9
mov byte [ebx + 0x6e], 1
jmp case.0x434f75.9
mov cl, byte [ebp + 0xc]
test cl, cl
jne 0x439025
test dword [esi + 0xc], 0x4000
jne case.0x434f75.9
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x18]
push edx
mov edx, dword [edi + 8]
shl eax, 4
mov esi, dword [eax + edx + 4]
call fcn.0041bdc0
add esp, 4
cmp al, 6
mov dword [esp + 0x14], eax
jne case.0x434f75.9
mov eax, dword [ebp + 0x10]
push eax
push str.database_table_is_locked:__s
lea esi, [ebx + 0x68]
mov eax, edi
call fcn.0040f860
jmp 0x4395ef
mov ebp, dword [ebp + 0x10]
mov eax, ebp
mov ecx, esi
mov dword [esp + 0x60], ebp
call fcn.0041fda0
cmp dword [esp + 0x60], 0
mov dword [esp + 0x14], eax
je case.0x434f75.9
mov ecx, dword [ebx + 0x68]
push ecx
push esi
call fcn.0040f470
mov eax, dword [esp + 0x68]
mov edx, dword [eax + 8]
mov ecx, dword [edx + 8]
mov dword [ebx + 0x68], ecx
mov edx, dword [eax + 8]
mov dword [edx + 8], 0
jmp 0x4395ef
mov ecx, dword [ebp + 0x10]
lea eax, [ebx + 0x68]
push eax
mov eax, dword [ebp + 4]
push ecx
mov ecx, esi
call fcn.0041f910
mov dword [esp + 0x1c], eax
jmp 0x4395ef
mov byte [ebx + 0x70], 2
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push edx
mov ecx, esi
call fcn.0041fb90
add esp, 4
mov dword [esp + 0x14], eax
mov byte [ebx + 0x70], 0
jmp case.0x434f75.9
xor edi, edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], edi
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x68], eax
mov ecx, dword [eax]
lea edx, [esp + 0x64]
push edx
mov dword [esp + 0x70], ecx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov ecx, dword [ebx + 0x68]
push ecx
push esi
mov dword [esp + 0x24], eax
call fcn.0040f470
mov eax, dword [esp + 0x78]
mov edx, dword [eax + 8]
add esp, 0x10
cmp dword [esp + 0x14], edi
mov dword [ebx + 0x68], edx
mov dword [eax + 8], edi
jne case.0x434f75.9
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
push edi
push 0xffffffffffffffff
mov dword [ecx], eax
mov edx, dword [ebp + 4]
push edi
push edx
mov edi, ebx
call fcn.00434b60
add esp, 0x10
test eax, eax
mov dword [esp + 0x60], eax
je 0x439174
mov ecx, dword [esp + 0x64]
mov dword [eax + 0x38], ecx
mov edx, dword [esp + 0x64]
mov eax, dword [edx]
mov ecx, dword [eax]
mov edx, dword [esp + 0x60]
mov dword [edx + 0x3c], ecx
jmp case.0x434f75.9
mov eax, dword [esp + 0x18]
mov byte [eax + 0x1e], 1
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
mov eax, dword [edx + 0x1c]
push ecx
call eax
add esp, 4
jmp case.0x434f75.9
mov eax, dword [ebp + 0xc]
mov edx, dword [ebx + 0x58]
mov edi, dword [ebx + 0x24]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov edx, dword [ebx + 0x34]
mov dword [esp + 0x6c], eax
lea esi, [eax + 0x28]
mov dword [esp + 0x70], esi
mov ecx, dword [ebp + 4]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x7c], ecx
mov edx, dword [ecx + 0x38]
mov dword [esp + 0x74], edx
mov ecx, dword [edx]
mov dword [esp + 0x78], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x68], ecx
mov ecx, dword [esi]
mov dword [esp + 0x60], ecx
mov eax, dword [eax]
mov dword [esp + 0x64], eax
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x88], edi
mov dword [esp + 0x84], eax
jle 0x43923d
jmp 0x4391f9
mov esi, dword [esp + 0x70]
lea ecx, [eax + eax*4 + 5]
lea edx, [esi + ecx*8]
mov ecx, dword [esp + 0x88]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + edx*4]
call fcn.00434b30
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x60]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x84], eax
jl 0x4391f5
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x88]
push eax
mov eax, dword [esp + 0x68]
push ecx
mov byte [ebx + 0x70], 1
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [esp + 0x74]
push eax
push edx
mov edx, dword [ecx + 0x20]
call edx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0x68]
add esp, 0x14
push eax
push ecx
mov byte [ebx + 0x70], 0
call fcn.0040f470
mov eax, dword [esp + 0x80]
mov edx, dword [eax + 8]
add esp, 8
cmp dword [esp + 0x14], 0
mov dword [ebx + 0x68], edx
mov dword [eax + 8], 0
jne 0x4392ac
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [esp + 0x80], eax
cmp dword [esp + 0x80], 0
je 0x4392c0
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
mov eax, dword [esp + 0x7c]
mov byte [eax + 0x14], 0
jmp case.0x434f75.9
mov ecx, dword [ebp + 4]
mov edx, dword [ebx + 0x34]
mov edi, dword [edx + ecx*4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebx + 0x58]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x68], eax
cmp byte [edi + 0x14], 0
je 0x4392fa
push eax
call fcn.00423b90
add esp, 4
jmp case.0x434f75.9
mov edx, dword [edi + 0x38]
mov eax, dword [edx]
push 0x40
mov dword [esp + 0x64], eax
mov eax, dword [eax]
lea ecx, [esp + 0x74]
push 0
push ecx
mov dword [esp + 0x70], eax
call fcn.004858f0
mov edx, dword [esp + 0x74]
add esp, 0xc
push edx
lea eax, [esp + 0x7c]
call fcn.00423e00
mov eax, dword [esp + 0x98]
and eax, 0xbf01
or eax, 1
mov word [esp + 0x98], ax
mov ecx, dword [ebp + 8]
mov eax, dword [edi + 0x38]
add esp, 4
push ecx
mov ecx, dword [esp + 0x68]
lea edx, [esp + 0x74]
push edx
mov edx, dword [ecx + 0x2c]
push eax
call edx
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x68]
add esp, 0xc
push eax
push esi
call fcn.0040f470
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 8]
mov dword [ebx + 0x68], ecx
mov dword [eax + 8], 0
mov eax, dword [esp + 0xac]
add esp, 8
test eax, eax
je 0x43938c
mov dword [esp + 0x14], eax
movzx ecx, byte [esp + 0x30]
lea eax, [esp + 0x78]
call fcn.004234a0
mov eax, dword [esp + 0x68]
lea edx, [esp + 0x78]
push edx
call fcn.00423e00
mov ecx, dword [esp + 0x6c]
add esp, 4
call fcn.00423d20
test eax, eax
jne 0x435a55
jmp case.0x434f75.9
mov ecx, dword [ebx + 0x34]
mov dword [esp + 0x68], 0
mov eax, dword [ebp + 4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x6c], eax
cmp byte [eax + 0x14], 0
jne case.0x434f75.9
mov edx, dword [eax + 0x38]
mov ecx, dword [edx]
mov dword [esp + 0x60], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x64], ecx
mov byte [ebx + 0x70], 1
mov eax, dword [eax + 0x38]
mov ecx, dword [ecx + 0x24]
push eax
call ecx
mov edx, dword [ebx + 0x68]
add esp, 4
push edx
push esi
mov dword [esp + 0x1c], eax
mov byte [ebx + 0x70], 0
call fcn.0040f470
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 8]
add esp, 8
cmp dword [esp + 0x14], 0
mov dword [ebx + 0x68], ecx
mov dword [eax + 8], 0
jne 0x439444
mov edx, dword [esp + 0x6c]
mov eax, dword [edx + 0x38]
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [esp + 0x68], eax
cmp dword [esp + 0x68], 0
jne case.0x434f75.9
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.0x434f75.9
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
mov edx, dword [ebx + 0x58]
mov dword [esp + 0x60], eax
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x64], ecx
mov ecx, dword [ecx + 0x14]
mov edx, dword [eax]
mov edx, dword [edx + 0x4c]
push ecx
push eax
call edx
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x68]
push eax
push esi
call fcn.0040f470
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 8]
mov dword [ebx + 0x68], ecx
add esp, 0x10
mov dword [eax + 8], 0
jmp case.0x434f75.9
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 8]
mov dword [esp + 0x60], eax
mov edx, dword [eax]
mov dword [esp + 0x64], edx
mov eax, dword [ebp + 8]
mov dword [esp + 0x68], eax
cmp dword [edx + 0x34], 0
je case.0x434f75.9
test eax, eax
mov ecx, dword [ebx + 0x24]
mov edi, dword [ebx + 0x58]
mov dword [esp + 0x78], ecx
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edi + ecx*8]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x6c], 0
jle 0x439526
call fcn.00434b30
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x78]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x68]
add edx, 1
add ecx, 0x28
cmp edx, eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x6c], edx
jl 0x4394f0
mov edx, dword [esp + 0x64]
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
push ecx
mov ecx, dword [edx + 0x34]
push eax
mov eax, dword [esp + 0x6c]
push eax
call ecx
mov edx, dword [ebx + 0x68]
push edx
push esi
mov dword [esp + 0x2c], eax
call fcn.0040f470
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 8]
add esp, 0x18
cmp dword [esp + 0x14], 0
mov dword [ebx + 0x68], ecx
mov dword [eax + 8], 0
jne 0x439578
cmp dword [ebp + 4], 0
je 0x439578
mov edx, dword [esp + 0x70]
mov dword [esi + 0x30], edx
mov eax, dword [esp + 0x74]
mov dword [esi + 0x34], eax
add dword [ebx + 0x74], 1
jmp case.0x434f75.9
mov ebp, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov edx, dword [ecx + 8]
shl ebp, 4
mov eax, dword [edx + ebp + 4]
mov ecx, dword [eax + 4]
mov esi, dword [ecx]
lea edx, [esp + 0x64]
push edx
mov dword [esp + 0x6c], esi
call fcn.0042e630
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
jne case.0x434f75.9
mov word [edi + 0x1c], 4
mov eax, dword [esp + 0x64]
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp case.0x434f75.9
mov ebp, dword [ebp + 0x10]
test ebp, ebp
jne 0x4395d3
mov ebp, dword [ebx + 0xc0]
test ebp, ebp
mov dword [esp + 0x60], ebp
je case.0x434f75.9
mov eax, dword [esi + 0x94]
test eax, eax
je case.0x434f75.9
mov ecx, dword [esi + 0x98]
push ebp
push ecx
call eax
add esp, 8
add dword [esp + 0x20], 1
cmp dword [esp + 0x14], 0
jne 0x435a71
mov eax, dword [esp + 0x18]
jmp 0x434e90
mov dword [esp + 0x14], 9
jmp 0x435a71
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0x64], edx
mov al, byte [ebp + 8]
mov byte [ebx + 0x38], al
mov dword [ebx + 0x60], ecx
mov ebp, dword [ebp + 0x10]
test ebp, ebp
je 0x439647
mov eax, dword [esp + 0x18]
push ebp
push 0x4cb838
lea esi, [ebx + 0x68]
call fcn.0040f860
add esp, 8
push ebx
call fcn.0042b900
mov edi, 5
add esp, 4
cmp eax, edi
jne 0x4396b2
mov dword [ebx + 0x64], edi
jmp 0x435a98
lea edx, [esp + 0x70]
push edx
call fcn.00423880
add esp, 4
jmp 0x435424
mov dword [esp + 0x14], 0x14
jmp 0x439735
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x60], eax
mov edi, 5
mov byte [esi + 0x1c], 0
mov dword [ebx + 0x64], edi
jmp 0x435a98
test ebp, ebp
je 0x4396c4
mov esi, dword [esp + 0x18]
call fcn.0040d060
mov byte [esi + 0x1c], 1
mov esi, dword [esp + 0x18]
call fcn.0040c7b0
mov edi, dword [ebx + 0x64]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x435a98
push 1
mov ecx, ebx
call fcn.0042b8a0
mov edi, eax
add esp, 4
test edi, edi
jne 0x435a98
mov cl, byte [esp + 0x60]
push ebx
mov byte [esi + 0x1c], cl
call fcn.0042b900
mov edi, 5
add esp, 4
cmp eax, edi
jne 0x4396a9
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov al, 1
sub al, byte [esp + 0x60]
mov dword [ebx + 0x60], edx
mov byte [ecx + 0x1c], al
mov dword [ebx + 0x64], edi
jmp 0x435a98
mov edx, dword [esp + 0x20]
mov edi, 5
mov dword [ebx + 0x60], edx
mov dword [ebx + 0x64], edi
jmp 0x435a98
mov dword [esp + 0x14], 0xb
jmp 0x439735
mov dword [esp + 0x14], 0xd
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x1e], 0
je 0x439749
mov dword [esp + 0x14], 7
jmp 0x439757
cmp dword [esp + 0x14], 0xc0a
je 0x435a71
mov eax, dword [esp + 0x14]
and eax, 0xff
cmp eax, 0x1a
ja 0x439770
mov eax, dword [eax*4 + 0x4c7b48]
test eax, eax
jne 0x439775
mov eax, str.unknown_error
push eax
mov eax, dword [esp + 0x1c]
push 0x4cb838
lea esi, [ebx + 0x68]
call fcn.0040f860
add esp, 8
jmp 0x435a71
mov eax, 9
mov dword [esp + 0x14], eax
mov dword [ebx + 0x64], eax
mov eax, dword [str.interrupted]
jmp 0x43976c