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

Disassembly:
sub esp, 0xf0
mov eax, dword [esp + 0xf4]
mov ecx, dword [eax + 4]
mov dword [esp + 0xe0], ecx
mov ecx, dword [eax]
mov dword [esp + 4], ecx
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov cl, byte [ecx + 0x49]
push ebx
xor edx, edx
cmp dword [eax + 0x5c], 7
push ebp
mov byte [esp + 0xdf], cl
mov ecx, dword [eax + 8]
push esi
push edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0xec], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0xf8], edx
mov dword [esp + 0xf4], edx
je 0x433e44
mov ecx, eax
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x5c], edx
mov dword [ecx + 0x14], edx
mov dword [eax + 0x1a0], edx
mov edx, dword [eax + 0xe0]
test edx, edx
jne 0x437ebe
mov ecx, dword [ecx + 0x58]
mov dword [esp + 0x18], ecx
jmp 0x433b50
cmp byte [eax + 0x1e], 0
jne 0x433e44
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0xec]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0xf0]
test byte [eax + edx*4 + 2], 2
lea ebp, [eax + edx*4]
je 0x433b98
mov eax, dword [ebp + 8]
lea ecx, [eax + eax*4]
lea esi, [edi + ecx*8]
mov eax, esi
mov dword [esp + 0x1c], esi
call fcn.00412b40
mov ebx, 4
mov word [esi + 0x1c], bx
jmp 0x433ba1
mov esi, dword [esp + 0x1c]
mov ebx, 4
movzx eax, byte [ebp]
add eax, 0xffffffff
cmp eax, 0x8f
ja case.0x433bba.16
movzx edx, byte [eax + 0x43808c]
jmp dword [edx*4 + 0x437ef0]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xe0]
test ecx, ecx
jne 0x437ebe
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea edi, [edi + edx*8]
cdq
mov dword [edi + 0x10], eax
mov word [edi + 0x1c], bx
mov dword [edi + 0x14], edx
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [esp + 0x18], eax
jmp case.0x433bba.16
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
mov edx, dword [edi + ecx*8 + 0x10]
mov dword [esp + 0x18], edx
jmp case.0x433bba.16
mov ebp, dword [ebp + 4]
lea eax, [ebp + ebp*4]
mov ecx, dword [edi + eax*8 + 0x10]
lea edi, [edi + eax*8]
mov eax, dword [esp + 0x18]
cdq
mov word [edi + 0x1c], bx
mov dword [esp + 0x20], ecx
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
jmp case.0x433bba.16
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
je case.0x433bba.16
cmp dword [ebp + 4], 0
mov esi, dword [esp + 0x104]
jne 0x437cd5
mov edx, dword [esi + 0xd0]
test edx, edx
je 0x437cd5
mov ecx, dword [edx + 0x3c]
mov eax, dword [esp + 0x14]
add dword [esi + 0xd8], 0xffffffff
mov dword [esi + 0xd0], ecx
mov ecx, dword [esi + 0x6c]
call fcn.0040a500
mov eax, edx
call fcn.0040a840
cmp dword [ebp + 8], ebx
mov dword [esp + 0x18], eax
jne 0x433cb8
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
mov ecx, dword [eax + edx*4 + 8]
sub ecx, 1
mov dword [esp + 0x18], ecx
mov edx, dword [esi + 4]
mov eax, dword [esi + 8]
mov dword [esp + 0xf0], edx
mov dword [esp + 0xec], eax
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
cdq
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
jmp case.0x433bba.16
mov ebp, dword [ebp + 0x10]
mov ecx, dword [ebp]
mov dword [esi + 0x10], ecx
mov edx, dword [ebp + 4]
mov dword [esi + 0x14], edx
jmp case.0x433bba.16
mov ecx, dword [ebp + 0x10]
mov byte [ebp], 9
call fcn.0040c510
mov ecx, dword [esp + 0x14]
mov dword [ebp + 4], eax
cmp eax, dword [ecx + 0x48]
jg 0x43448d
mov esi, dword [esp + 0x1c]
mov cl, byte [esp + 0xe7]
mov word [esi + 0x1c], 0xa02
mov edx, dword [ebp + 0x10]
mov dword [esi + 4], edx
mov eax, dword [ebp + 4]
mov dword [esi + 0x18], eax
mov byte [esi + 0x1f], cl
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
mov ebx, dword [ebp + 0x10]
push 0
push 0
mov ecx, esi
call fcn.00419710
mov dl, byte [esp + 0xef]
add esp, 8
mov byte [esi + 0x1f], dl
jmp case.0x433bba.16
mov ebp, dword [ebp + 4]
mov ecx, dword [esp + 0x104]
mov edx, dword [ecx + 0x48]
lea eax, [ebp + ebp*4]
lea esi, [edx + eax*8 - 0x28]
mov ecx, esi
mov dword [esp + 0x20], esi
call fcn.0040aa30
test eax, eax
jne 0x43448d
mov ebx, dword [esp + 0x1c]
push 0x800
push esi
call fcn.004143d0
add esp, 8
jmp case.0x433bba.16
mov eax, dword [ebp + 0xc]
test eax, eax
mov dword [esp + 0x24], eax
mov ecx, dword [ebp + 4]
mov dword [esp + 0x28], ecx
mov ebp, dword [ebp + 8]
lea ecx, [ecx + ecx*4]
lea edx, [ebp + ebp*4]
lea ebx, [edi + ecx*8]
lea ecx, [edi + edx*8]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x1c], ecx
je 0x433df8
mov esi, ecx
sub eax, 1
mov dword [esp + 0x24], eax
mov edx, dword [esi + 0x24]
mov dword [esp + 0x20], edx
mov eax, esi
mov dword [esi + 0x24], 0
call fcn.00415a70
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x24]
add ebx, 0x28
add esi, 0x28
test eax, eax
jne 0x433dc3
mov dword [esp + 0x1c], esi
sub eax, 1
mov dword [esp + 0x24], eax
jmp case.0x433bba.16
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea edx, [ebp + ebp*4]
lea eax, [edi + edx*8]
lea ebx, [edi + ecx*8]
push 0x1000
push eax
mov dword [esp + 0x24], ebx
call fcn.004143d0
add esp, 8
test word [ebx + 0x1c], 0x1000
je case.0x433bba.16
mov eax, ebx
call fcn.00419930
test eax, eax
je case.0x433bba.16
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x104]
push str.out_of_memory
add edi, 0x38
mov byte [eax + 0x1e], 1
call fcn.00419d00
mov dword [esp + 0x14], 7
jmp 0x4344ad
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea edx, [ebp + ebp*4]
lea eax, [edi + edx*8]
lea ebx, [edi + ecx*8]
push 0x1000
push eax
mov dword [esp + 0x24], ebx
call fcn.004143d0
add esp, 8
jmp case.0x433bba.16
mov esi, dword [esp + 0x104]
push 0
mov ecx, esi
call fcn.0041adb0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x433bba.16
push 1
push esi
call fcn.0042d520
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x433bba.16
mov edx, dword [esi + 0x54]
add edx, 2
or edx, 1
mov dword [esi + 0x54], edx
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
xor ecx, ecx
mov dword [esi + 0x14], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ecx
cmp dword [ebp + 8], ecx
jle 0x433f4a
mov eax, dword [esp + 0x20]
lea edx, [ecx + ecx*4]
test word [eax + edx*8 + 0x1c], 0x1000
lea eax, [eax + edx*8]
je 0x433f18
call fcn.00419930
test eax, eax
jne 0x433e44
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
lea ecx, [ecx + ecx*4]
lea esi, [edx + ecx*8]
call fcn.00419880
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0040a400
mov ecx, dword [esp + 0x24]
add ecx, 1
mov dword [esp + 0x24], ecx
cmp ecx, dword [ebp + 8]
jl 0x433ef4
mov edx, dword [esp + 0x14]
cmp byte [edx + 0x1e], 0
jne 0x433e44
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x104]
add eax, 1
mov dword [ecx + 0x58], eax
mov eax, 0x64
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf0
ret
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 0xc]
lea ecx, [edi + ecx*8]
lea edx, [eax + eax*4]
lea eax, [ebp + ebp*4]
lea ebx, [edi + edx*8]
lea edi, [edi + eax*8]
movzx eax, word [ecx + 0x1c]
mov dword [esp + 0xe8], ecx
mov cl, byte [ebx + 0x1c]
or cl, al
test cl, 1
mov dword [esp + 0x1c], edi
je 0x433fba
mov esi, edi
call fcn.00412b00
jmp case.0x433bba.16
test eax, 0x4000
mov edi, dword [esp + 0xe8]
je 0x433fd7
mov esi, edi
call fcn.004198d0
test eax, eax
jne 0x433e44
test word [ebx + 0x1c], 0x4000
je 0x433fee
mov esi, ebx
call fcn.004198d0
test eax, eax
jne 0x433e44
test byte [edi + 0x1c], 0x12
jne 0x434003
mov esi, edi
call fcn.0041dfe0
test eax, eax
jne 0x433e44
test byte [ebx + 0x1c], 0x12
jne 0x434018
mov esi, ebx
call fcn.0041dfe0
test eax, eax
jne 0x433e44
mov eax, dword [edi + 0x18]
add eax, dword [ebx + 0x18]
cdq
mov ecx, edx
mov edx, dword [esp + 0x14]
mov esi, eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ecx
mov eax, dword [edx + 0x48]
cdq
cmp ecx, edx
jg 0x43448d
jl 0x434045
cmp esi, eax
ja 0x43448d
mov esi, dword [esp + 0x1c]
mov ax, word [esi + 0x1c]
and ax, 0xbf02
or ax, 2
mov word [esi + 0x1c], ax
mov ecx, dword [esp + 0x20]
xor eax, eax
cmp esi, ebx
sete al
add ecx, 2
push esi
call fcn.00418430
add esp, 4
test eax, eax
jne 0x433e44
cmp esi, ebx
je 0x434090
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx + 4]
mov eax, dword [esi + 4]
push ecx
push edx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xe8]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 4]
mov eax, dword [esi + 4]
add eax, dword [ebx + 0x18]
push ecx
push edx
push eax
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x2c]
mov ecx, dword [esi + 4]
mov byte [edx + ecx], 0
mov ecx, dword [esp + 0x2c]
mov eax, dword [esi + 4]
mov byte [eax + ecx + 1], 0
mov al, byte [esp + 0xf3]
add esp, 0xc
or word [esi + 0x1c], 0x200
mov edx, dword [esp + 0x20]
mov dword [esi + 0x18], edx
mov byte [esi + 0x1f], al
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea ebx, [edi + ecx*8]
mov esi, ebx
call fcn.004100c0
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
lea esi, [edi + edx*8]
call fcn.004100c0
movzx ecx, word [esi + 0x1c]
movzx edx, word [ebx + 0x1c]
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
or ecx, edx
test cl, 1
lea edi, [edi + eax*8]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ecx
jne 0x4342ab
mov al, byte [esi + 0x1c]
and al, byte [ebx + 0x1c]
test al, 4
je 0x43420b
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x28], ecx
mov ebx, dword [ebx + 0x14]
mov dword [esp + 0x2c], ebx
mov eax, dword [esi + 0x10]
mov dword [esp + 0x30], eax
mov esi, dword [esi + 0x14]
mov dword [esp + 0x34], esi
movzx edx, byte [ebp]
add edx, 0xffffffaa
cmp edx, 3
ja case.default.0x434159
jmp dword [edx*4 + 0x43811c]
add eax, ecx
adc esi, ebx
mov dword [esp + 0x34], esi
jmp 0x4341e7
sub eax, ecx
sbb esi, ebx
mov dword [esp + 0x34], esi
jmp 0x4341e7
push ebx
push ecx
push esi
push eax
call fcn.0045e040
jmp 0x4341e3
mov edx, ecx
or edx, ebx
je 0x4342ab
mov edx, ecx
and edx, ebx
cmp edx, 0xffffffff
jne 0x4341ad
test eax, eax
jne 0x4341ad
cmp esi, 0x80000000
jne 0x4341ad
mov ecx, 1
xor ebx, ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ebx
push ebx
push ecx
push esi
push eax
call fcn.0045e140
jmp 0x4341e3
mov edx, ecx
or edx, ebx
je 0x4342ab
mov edx, ecx
and edx, ebx
cmp edx, 0xffffffff
jne 0x4341da
mov ecx, 1
xor ebx, ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ebx
push ebx
push ecx
push esi
push eax
call fcn.0045e080
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], eax
mov cx, word [edi + 0x1c]
and cx, 0xbf04
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x34]
or cx, 4
mov dword [edi + 0x14], eax
mov word [edi + 0x1c], cx
jmp case.0x433bba.16
mov ecx, ebx
call fcn.00410140
mov ecx, esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
call fcn.00410140
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
movzx ecx, byte [ebp]
add ecx, 0xffffffaa
cmp ecx, 3
ja case.default.0x434235
jmp dword [ecx*4 + 0x43812c]
mov ecx, dword [esp + 0x38]
add eax, ecx
mov ecx, dword [esp + 0x3c]
adc edx, ecx
jmp 0x4342da
mov ecx, dword [esp + 0x38]
sub eax, ecx
mov ecx, dword [esp + 0x3c]
sbb edx, ecx
jmp 0x4342da
mov ecx, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x3c]
push ecx
push edx
push eax
call fcn.0045e040
jmp 0x4342da
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
mov ebx, ecx
or ebx, esi
je 0x4342ab
push esi
push ecx
push edx
push eax
call fcn.0045e140
jmp 0x4342da
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
mov edi, ecx
or edi, esi
mov ebx, ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
jne 0x4342b7
mov edi, dword [esp + 0x1c]
mov esi, edi
call fcn.00412b00
jmp case.0x433bba.16
and ecx, esi
cmp ecx, 0xffffffff
jne 0x4342cd
mov ebx, 1
xor esi, esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], esi
push esi
push ebx
push edx
push eax
call fcn.0045e080
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], eax
mov dword [edi + 0x10], eax
mov edx, dword [esp + 0x44]
mov dword [edi + 0x14], edx
mov ax, word [edi + 0x1c]
and ax, 0xbf04
or ax, 4
mov word [edi + 0x1c], ax
jmp case.0x433bba.16
movzx ecx, byte [ebp + 3]
mov edx, dword [esp + 0x104]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea eax, [edi + edx*8]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
xor eax, eax
test ecx, ecx
lea edi, [edi + edx*8]
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], eax
jle 0x434382
mov ecx, dword [esp + 0x68]
mov dword [ecx + eax*4], edi
mov eax, dword [esp + 0x24]
test word [eax + 0x1c], 0x1000
je 0x43435f
call fcn.00419930
test eax, eax
jne 0x433e44
mov eax, dword [esp + 0x24]
mov ecx, eax
call fcn.0040a400
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
add eax, 1
add edi, 0x28
cmp eax, dword [esp + 0x6c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edi
jl 0x43433b
cmp byte [ebp + 1], 0xfb
jne 0x434399
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], 0
jmp 0x4343a6
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x2c], eax
mov eax, dword [eax]
mov dword [esp + 0x28], eax
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
xor eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov ebx, edi
lea eax, [esp + 0x30]
mov word [esp + 0x4c], 1
mov dword [esp + 0x30], esi
call fcn.00415a70
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x28]
and ecx, 0xbf01
or ecx, 1
mov word [esp + 0x4c], cx
mov dword [esp + 0x5c], 0
test byte [eax + 3], 8
je 0x4343f9
mov edx, dword [ebp - 4]
mov dword [esp + 0x60], edx
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
push ecx
push edx
mov edx, dword [eax + 0xc]
lea ecx, [esp + 0x30]
push ecx
call edx
add esp, 0xc
cmp byte [esi + 0x1e], 0
jne 0x437d80
mov ebx, dword [esp + 0x2c]
test ebx, ebx
je 0x434439
mov eax, dword [ebp + 4]
push eax
call fcn.0040a7e0
mov ecx, dword [esp + 0x30]
add esp, 4
mov dword [ebp + 0x10], ecx
mov byte [ebp + 1], 0xf9
cmp dword [esp + 0x5c], 0
je 0x434473
lea edx, [esp + 0x30]
push edx
call fcn.00423b10
mov edi, dword [esp + 0x108]
add esp, 4
push eax
push 0x465de8
add edi, 0x38
mov eax, esi
call fcn.00419d00
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x24]
add esp, 8
mov dword [esp + 0x10], eax
lea ebx, [esp + 0x30]
mov eax, edi
call fcn.00415a70
mov ecx, edi
call fcn.0040aa30
test eax, eax
je case.0x433bba.16
mov edi, dword [esp + 0x104]
mov eax, dword [esp + 0x14]
push str.string_or_blob_too_big
add edi, 0x38
call fcn.00419d00
mov dword [esp + 0x14], 0x12
add esp, 4
mov esi, dword [esp + 0x104]
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0xc8]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
push ecx
push edx
push eax
push str.statement_aborts_at__d:___s___s
mov edx, edi
mov dword [esi + 0x5c], edi
call fcn.0041b030
push esi
call fcn.0042f680
add esp, 0x14
cmp edi, 0xc0a
jne 0x4344f3
mov ecx, dword [esp + 0x14]
mov byte [ecx + 0x1e], 1
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf0
ret
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea esi, [edi + ecx*8]
lea ecx, [edi + edx*8]
mov dl, byte [ecx + 0x1c]
or dl, byte [esi + 0x1c]
lea eax, [eax + eax*4]
test dl, 1
lea edi, [edi + eax*8]
mov dword [esp + 0x1c], edi
je 0x434539
mov esi, edi
call fcn.00412b00
jmp case.0x433bba.16
call fcn.004101a0
mov ecx, esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
call fcn.004101a0
mov ecx, eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
movzx eax, byte [ebp]
sub eax, 0x52
je 0x43459a
sub eax, 1
je 0x434590
mov edx, dword [esp + 0x24]
sub eax, 1
mov eax, dword [esp + 0x20]
je 0x434581
call fcn.0045e4a0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jmp 0x4345a2
call fcn.0045e020
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jmp 0x4345a2
or dword [esp + 0x20], ecx
or dword [esp + 0x24], edx
jmp 0x4345a2
and dword [esp + 0x20], ecx
and dword [esp + 0x24], edx
mov eax, dword [esp + 0x20]
mov dx, word [edi + 0x1c]
and dx, 0xbf04
mov dword [edi + 0x10], eax
mov ecx, dword [esp + 0x24]
or dx, bx
mov dword [edi + 0x14], ecx
mov word [edi + 0x1c], dx
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov esi, edi
call fcn.00411ae0
mov eax, dword [ebp + 8]
cdq
add dword [edi + 0x10], eax
adc dword [edi + 0x14], edx
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea edi, [edi + ecx*8]
mov al, 0x63
mov ecx, edi
call fcn.00420d00
movzx eax, word [edi + 0x1c]
test al, 4
jne 0x434615
mov ebp, dword [ebp + 8]
test ebp, ebp
je 0x437d92
add ebp, 0xffffffff
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
and eax, 0xbf04
or eax, ebx
mov word [edi + 0x1c], ax
jmp case.0x433bba.16
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
test byte [edi + edx*8 + 0x1c], 1
lea edi, [edi + edx*8]
jne case.0x433bba.16
mov esi, edi
call fcn.00411ae0
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
mov dx, word [edi + eax*8 + 0x1c]
lea ebx, [edi + eax*8]
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edi + ecx*8]
mov word [esp + 0x26], dx
mov cx, word [eax + 0x1c]
mov word [esp + 0x28], cx
movzx ecx, word [ebx + 0x1c]
mov dword [esp + 0xe8], eax
movzx eax, word [eax + 0x1c]
mov dl, al
or dl, cl
test dl, 1
je 0x4346dc
mov dl, byte [ebp + 3]
test dl, dl
jns 0x43469a
and al, cl
and al, 1
neg al
sbb eax, eax
add eax, 1
jmp 0x434749
test dl, 0x10
je 0x4346c4
mov ebp, dword [ebp + 8]
lea eax, [ebp + ebp*4]
mov cx, word [edi + eax*8 + 0x1c]
lea edi, [edi + eax*8]
and cx, 0xbf01
or cx, 1
mov dword [esp + 0x1c], edi
mov word [edi + 0x1c], cx
jmp case.0x433bba.16
test dl, 8
je case.0x433bba.16
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
mov al, byte [ebp + 3]
and al, 0x67
mov byte [esp + 0x24], al
je 0x434713
mov ecx, ebx
call fcn.00420d00
mov al, byte [esp + 0x24]
mov ecx, dword [esp + 0xe8]
call fcn.00420d00
mov edx, dword [esp + 0x14]
cmp byte [edx + 0x1e], 0
jne 0x433e44
mov edi, dword [esp + 0xec]
test word [ebx + 0x1c], 0x4000
je 0x434722
mov esi, ebx
call fcn.004198d0
mov eax, dword [esp + 0xe8]
test word [eax + 0x1c], 0x4000
je 0x434738
mov esi, eax
call fcn.004198d0
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0xe8]
mov edx, ebx
call fcn.00420e70
mov dword [esp + 0x20], eax
movzx ecx, byte [ebp]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x434759
jmp dword [ecx*4 + 0x43813c]
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x43479c
xor edx, edx
test eax, eax
setne dl
jmp 0x43479a
xor ecx, ecx
test eax, eax
setl cl
mov eax, ecx
jmp 0x43479c
xor edx, edx
test eax, eax
setle dl
jmp 0x43479a
xor ecx, ecx
test eax, eax
setg cl
mov eax, ecx
jmp 0x43479c
xor edx, edx
test eax, eax
setge dl
mov eax, edx
mov dword [esp + 0x20], eax
test byte [ebp + 3], 0x10
je 0x4347d3
mov ebp, dword [ebp + 8]
lea eax, [ebp + ebp*4]
mov cx, word [edi + eax*8 + 0x1c]
lea edi, [edi + eax*8]
and cx, 0xbf04
or cx, 4
mov word [edi + 0x1c], cx
mov eax, dword [esp + 0x20]
cdq
mov dword [esp + 0x1c], edi
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
jmp 0x4347e1
test eax, eax
je 0x4347e1
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
mov dl, byte [esp + 0x26]
mov ecx, dword [esp + 0xe8]
mov byte [ebx + 0x1c], dl
mov al, byte [esp + 0x28]
mov byte [ecx + 0x1c], al
jmp case.0x433bba.16
mov edx, dword [ebp + 0x10]
mov dword [esp + 0xf4], edx
jmp case.0x433bba.16
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x20], eax
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x30], edx
mov ecx, dword [ebp + 4]
mov dword [esp + 0x28], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x2c], ecx
xor ecx, ecx
test eax, eax
mov dword [esp + 0x24], ecx
jle 0x4348c0
mov ebx, dword [esp + 0xf4]
mov edi, dword [esp + 0xec]
jmp 0x434848
mov edx, dword [esp + 0x30]
test ebx, ebx
je 0x434851
mov esi, dword [ebx + ecx*4]
jmp 0x434853
mov esi, ecx
mov dword [esp + 0x34], esi
mov eax, dword [edx + ecx*4 + 0xc]
mov dword [esp + 0x38], eax
mov edx, dword [edx + 8]
movzx ecx, byte [edx + ecx]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x3c], ecx
lea ecx, [esi + edx]
lea ecx, [ecx + ecx*4]
lea edx, [edi + ecx*8]
mov ecx, dword [esp + 0x28]
add ecx, esi
lea ecx, [ecx + ecx*4]
lea ecx, [edi + ecx*8]
call fcn.00420e70
test eax, eax
mov dword [esp + 0xf8], eax
jne 0x4348b0
mov ecx, dword [esp + 0x24]
add ecx, 1
cmp ecx, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
jl 0x434844
mov dword [esp + 0xf4], eax
jmp case.0x433bba.16
cmp dword [esp + 0x3c], 0
je 0x4348c0
neg eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0xf4], 0
jmp case.0x433bba.16
mov eax, dword [esp + 0xf8]
test eax, eax
jge 0x4348ea
mov ebp, dword [ebp + 4]
sub ebp, 1
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
jne 0x4348fb
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
mov ebp, dword [ebp + 0xc]
sub ebp, 1
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea ecx, [edi + edx*8]
mov ebx, 1
test byte [ecx + 0x1c], bl
je 0x434922
lea edx, [ebx + 1]
jmp 0x434931
call fcn.004101a0
or eax, edx
je 0x43492f
mov edx, ebx
jmp 0x434931
xor edx, edx
mov dword [esp + 0x20], edx
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], bl
lea ecx, [edi + eax*8]
je 0x43494b
mov eax, 2
jmp 0x43495e
call fcn.004101a0
or eax, edx
mov edx, dword [esp + 0x20]
je 0x43495c
mov eax, ebx
jmp 0x43495e
xor eax, eax
mov dword [esp + 0x24], eax
cmp byte [ebp], 0x45
jne 0x434975
lea ecx, [eax + edx*2]
movzx eax, byte [edx + ecx + 0x460070]
jmp 0x434980
lea eax, [eax + edx*2]
movzx eax, byte [edx + eax + 0x46007c]
cmp eax, 2
mov dword [esp + 0x20], eax
mov ebp, dword [ebp + 0xc]
lea ecx, [ebp + ebp*4]
lea edi, [edi + ecx*8]
mov dword [esp + 0x1c], edi
jne 0x4349ac
mov dx, word [edi + 0x1c]
and dx, 0xbf01
or dx, bx
mov word [edi + 0x1c], dx
jmp case.0x433bba.16
cdq
mov dword [edi + 0x10], eax
jmp 0x4342e9
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea ecx, [eax + eax*4]
test byte [edi + ecx*8 + 0x1c], 1
lea ecx, [edi + ecx*8]
lea edx, [ebp + ebp*4]
lea edi, [edi + edx*8]
mov dword [esp + 0x1c], edi
je 0x4349df
mov esi, edi
call fcn.00412b00
jmp case.0x433bba.16
call fcn.004101a0
or eax, edx
jne 0x4349ff
mov eax, 1
cdq
push edx
push eax
mov esi, edi
call fcn.00415af0
add esp, 8
jmp case.0x433bba.16
xor eax, eax
cdq
push edx
push eax
mov esi, edi
call fcn.00415af0
add esp, 8
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
lea edx, [ebp + ebp*4]
lea edi, [edi + edx*8]
mov dword [esp + 0x1c], edi
je 0x434a3d
mov esi, edi
call fcn.00412b00
jmp case.0x433bba.16
call fcn.004101a0
not edx
not eax
push edx
push eax
mov esi, edi
call fcn.00415af0
add esp, 8
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea edi, [edi + eax*8]
je 0x434a6c
mov eax, dword [ebp + 0xc]
jmp 0x434a93
mov ecx, edi
call fcn.004101a0
or eax, edx
je 0x434a7e
mov eax, 1
jmp 0x434a80
xor eax, eax
mov dword [esp + 0x20], eax
cmp byte [ebp], 0x1b
jne 0x434a97
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
mov dword [esp + 0x20], eax
test eax, eax
je case.0x433bba.16
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [edi + edx*8 + 0x1c], 1
je case.0x433bba.16
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
jne case.0x433bba.16
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
mov ecx, dword [ebp + 4]
xor eax, eax
mov dword [esp + 0x30], ecx
mov edx, dword [ebp + 8]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x104]
xor esi, esi
mov dword [esp + 0x38], esi
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [esp + 0x5c], eax
mov cx, word [eax + 0x1c]
and cx, 0xbf01
or cx, 1
mov word [eax + 0x1c], cx
mov ecx, dword [esp + 0x30]
mov eax, dword [edx + 0x44]
mov dword [esp + 0x3c], esi
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x38], eax
mov ecx, dword [eax]
cmp ecx, esi
mov dword [esp + 0x40], ecx
je 0x434bf0
mov edi, eax
call fcn.0042e520
cmp eax, esi
mov dword [esp + 0x10], eax
jne 0x437e76
mov eax, dword [esp + 0x38]
cmp byte [eax + 0x1c], 0
je 0x434b99
mov dword [esp + 0x20], esi
jmp case.0x433bba.16
mov edx, dword [eax + 0x4c]
mov ecx, dword [esp + 0x104]
cmp edx, dword [ecx + 0x54]
jne 0x434bb8
mov edx, dword [eax + 0x50]
mov dword [esp + 0x20], edx
mov ecx, dword [eax + 0x5c]
mov dword [esp + 0x3c], ecx
jmp 0x434c2a
cmp byte [eax + 0x1f], 0
je 0x434bd9
mov eax, dword [esp + 0x40]
lea edi, [esp + 0x28]
call fcn.004144e0
mov edx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], edx
jmp 0x434c26
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x44]
call fcn.004144c0
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x434c26
mov ecx, dword [eax + 0x10]
cmp ecx, esi
jle 0x435ecb
lea ecx, [ecx + ecx*4]
lea edi, [edi + ecx*8]
mov dword [esp + 0xa0], edi
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x20], ecx
mov ecx, dword [edi + 4]
mov dword [esp + 0x3c], ecx
test byte [ebp + 3], 0x20
je 0x434c20
xor ecx, ecx
jmp 0x434c23
mov ecx, dword [edx + 0x54]
mov dword [eax + 0x4c], ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
test ecx, ecx
je case.0x433bba.16
mov edx, dword [esp + 0x14]
cmp ecx, dword [edx + 0x48]
ja 0x43448d
mov edx, dword [eax + 0x14]
mov esi, dword [esp + 0x104]
mov dword [esp + 0x4c], edx
mov ecx, dword [eax + 0x54]
mov dword [esp + 0x44], ecx
mov edi, dword [eax + 0x4c]
cmp edi, dword [esi + 0x54]
jne 0x434c6c
mov eax, dword [eax + 0x58]
mov dword [esp + 0x48], eax
jmp 0x434ec4
lea ecx, [ecx + edx*4]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x9c], 0
mov dword [eax + 0x58], ecx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
mov dword [ecx + 0x50], edx
mov ecx, dword [esp + 0x38]
mov eax, dword [esi + 0x54]
mov dword [ecx + 0x4c], eax
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x434ca4
mov dword [esp + 0x58], ecx
jmp 0x434cf2
mov edx, dword [esp + 0x38]
cmp byte [edx + 0x1f], 0
mov eax, dword [esp + 0x40]
lea ebx, [esp + 0x9c]
je 0x434cc0
call fcn.004144a0
jmp 0x434cc5
call fcn.00414480
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0x9c]
mov dword [esp + 0x58], eax
ja 0x434ce3
mov edx, dword [esp + 0x38]
mov dword [esp + 0x3c], eax
mov dword [edx + 0x5c], eax
jmp 0x434cee
mov eax, dword [esp + 0x38]
mov dword [eax + 0x5c], 0
mov ecx, dword [esp + 0x58]
mov al, byte [ecx]
cmp al, 0x80
jae 0x434d09
movzx edx, al
mov dword [esp + 0x90], edx
mov eax, 1
jmp 0x434d23
lea esi, [esp + 0x90]
call fcn.0040f000
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x58]
movzx eax, al
cmp edx, 0x18003
movzx eax, al
mov dword [esp + 0x98], eax
jbe 0x434d4b
push 0xf58b
call fcn.0041b210
add esp, 4
mov dword [esp + 0x10], eax
jmp case.0x433bba.16
mov eax, dword [esp + 0x4c]
lea edi, [eax + eax*4 + 3]
cmp edi, edx
mov dword [esp + 0x50], edi
jle 0x434d61
mov edi, edx
mov dword [esp + 0x50], edi
xor ebx, ebx
cmp dword [esp + 0x3c], ebx
jne 0x434db9
cmp dword [esp + 0x9c], edi
jge 0x434db9
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
mov word [esp + 0x7c], bx
mov dword [esp + 0x60], ebx
movzx edx, byte [ecx + 0x1f]
push edx
push ebx
push eax
lea esi, [esp + 0x6c]
call fcn.0042e670
add esp, 0xc
cmp eax, ebx
mov dword [esp + 0x10], eax
jne case.0x433bba.16
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x58], ecx
lea esi, [ecx + edi]
mov dword [esp + 0x8c], esi
mov esi, dword [esp + 0x98]
add esi, ecx
xor ecx, ecx
cmp eax, ebx
mov dword [esp + 0x88], esi
mov dword [esp + 0x54], ecx
jle 0x434e77
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x8c]
mov eax, dword [esp + 0x48]
jae 0x434f01
mov dword [eax + ecx*4], edx
mov ecx, dword [esp + 0x88]
mov al, byte [ecx]
cmp al, 0x80
mov edx, dword [esp + 0x54]
jae 0x434e1e
movzx ecx, al
mov eax, dword [esp + 0x44]
mov dword [eax + edx*4], ecx
mov eax, 1
jmp 0x434e2d
mov eax, dword [esp + 0x44]
lea esi, [eax + edx*4]
call fcn.0040f000
movzx eax, al
mov edx, dword [esp + 0x44]
movzx ecx, al
add dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x54]
mov eax, dword [edx + ecx*4]
call fcn.0040a6e0
mov edx, dword [esp + 0x90]
add edx, eax
cmp edx, eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x90], edx
jae 0x434f13
mov ecx, dword [esp + 0x8c]
add ecx, 1
mov dword [esp + 0x88], ecx
lea edx, [esp + 0x60]
push edx
call fcn.00414410
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
add esp, 4
cmp eax, ecx
mov word [esp + 0x7c], 1
ja 0x435008
mov edx, dword [esp + 0x90]
mov esi, dword [esp + 0x20]
cmp edx, esi
ja 0x435008
cmp eax, ecx
jne 0x434ec0
cmp edx, esi
jne 0x435008
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x48]
cmp dword [edx + eax*4], 0
je 0x434fa4
cmp dword [esp + 0x3c], 0
je 0x434f29
mov eax, dword [esp + 0x5c]
call fcn.00412b40
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx + eax*4]
mov edx, dword [esp + 0x44]
add ecx, dword [esp + 0x3c]
mov eax, dword [edx + eax*4]
jmp 0x434f8b
mov dword [eax + ecx*4], 0
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x54]
add ecx, 1
cmp ecx, dword [esp + 0x4c]
mov dword [esp + 0x54], ecx
jl 0x434de1
jmp 0x434e77
mov eax, dword [ecx + eax*4]
call fcn.0040a6e0
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x60]
call fcn.00415a70
mov eax, dword [esp + 0x38]
movzx ecx, byte [eax + 0x1f]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x50]
push ecx
mov ecx, dword [edx + eax*4]
mov edx, dword [esp + 0x44]
push ecx
push edx
lea esi, [esp + 0x6c]
call fcn.0042e670
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x433bba.16
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x58], ecx
mov eax, dword [eax + edx*4]
mov esi, dword [esp + 0x5c]
call fcn.0040a510
mov eax, dword [esp + 0x5c]
mov cl, byte [esp + 0xe7]
mov byte [eax + 0x1f], cl
jmp 0x434fbf
cmp byte [ebp + 1], 0xf8
jne 0x434fbf
mov edx, dword [ebp + 0x10]
mov ebx, dword [esp + 0x5c]
push 0x800
push edx
call fcn.004143d0
add esp, 8
cmp dword [esp + 0x84], 0
je 0x434ff6
mov eax, dword [esp + 0x5c]
and word [eax + 0x1c], 0xe7ff
mov eax, dword [esp + 0x5c]
or word [eax + 0x1c], 0x200
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x64]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x5c]
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0x5c]
call fcn.00419930
mov dword [esp + 0x10], eax
jmp case.0x433bba.16
push 0xf5d5
call fcn.0041b210
add esp, 4
mov dword [esp + 0x10], eax
jmp case.0x433bba.16
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x20], ecx
mov ebp, dword [ebp + 4]
mov al, byte [ecx]
test al, al
lea edx, [ebp + ebp*4]
lea edi, [edi + edx*8]
mov byte [esp + 0x24], al
je 0x435070
mov ebx, 0x4000
mov edi, edi
add ecx, 1
mov dword [esp + 0x20], ecx
test word [edi + 0x1c], bx
je 0x435058
mov esi, edi
call fcn.004198d0
mov al, byte [esp + 0x24]
mov ecx, edi
call fcn.00420d00
mov ecx, dword [esp + 0x20]
mov al, byte [ecx]
add edi, 0x28
test al, al
mov byte [esp + 0x24], al
jne 0x435040
add ecx, 1
mov dword [esp + 0x20], ecx
jmp case.0x433bba.16
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 4]
mov dword [esp + 0x54], eax
mov ecx, dword [ebp + 0x10]
lea edx, [eax + eax*4]
lea ebx, [edi + edx*8]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x104]
movzx edx, byte [ecx + 0x66]
mov dword [esp + 0x4c], ebx
mov eax, dword [ebp + 8]
mov dword [esp + 0x54], eax
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8 - 0x28]
cmp ebx, eax
mov dword [esp + 0x5c], edx
mov dword [esp + 0x50], eax
mov ebp, dword [ebp + 0xc]
lea ecx, [ebp + ebp*4]
lea edx, [edi + ecx*8]
mov esi, ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], esi
ja 0x4351a4
mov ebp, 0x4000
cmp dword [esp + 0x58], 0
je 0x435122
mov ecx, esi
sub ecx, ebx
mov eax, 0x66666667
imul ecx
mov ecx, dword [esp + 0x58]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov al, byte [eax + ecx]
mov ecx, esi
call fcn.00420d00
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x24]
test word [esi + 0x1c], bp
je 0x43513b
cmp dword [esi + 0x18], 0
jle 0x43513b
call fcn.004198d0
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x5c]
push edx
mov ecx, esi
call fcn.0040a700
mov ecx, eax
add esp, 4
mov dword [esp + 0x48], ecx
call fcn.0040a6e0
mov edi, eax
cdq
add dword [esp + 0x28], eax
push 0
push ecx
adc dword [esp + 0x34], edx
mov dword [esp + 0x6c], edi
call fcn.0040bfe0
add dword [esp + 0x38], eax
mov ebp, 0x4000
add esp, 8
test word [esi + 0x1c], bp
je 0x435187
mov eax, dword [esi + 0x10]
add dword [esp + 0x40], eax
jmp 0x435193
test edi, edi
je 0x435193
mov dword [esp + 0x40], 0
add esi, 0x28
cmp esi, dword [esp + 0x50]
mov dword [esp + 0x24], esi
jbe 0x4350f0
mov esi, dword [esp + 0x30]
mov eax, esi
cdq
push edx
push eax
call fcn.0040bfe0
mov edi, eax
add esi, edi
mov eax, esi
cdq
push edx
push eax
mov dword [esp + 0x54], edi
mov dword [esp + 0x40], esi
call fcn.0040bfe0
add esp, 0x10
cmp edi, eax
jge 0x4351d6
add esi, 1
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x40]
cdq
mov edi, eax
mov eax, esi
mov ebx, edx
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [esp + 0x14]
sub ecx, edi
sbb esi, ebx
add ecx, dword [esp + 0x28]
adc esi, dword [esp + 0x2c]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], esi
mov eax, dword [edx + 0x48]
cdq
cmp esi, edx
jg 0x43448d
jl 0x435214
cmp ecx, eax
ja 0x43448d
mov eax, dword [esp + 0x1c]
push eax
xor eax, eax
call fcn.00418430
add esp, 4
test eax, eax
jne 0x433e44
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
cmp eax, 0x80
mov ecx, dword [edi + 4]
mov dword [esp + 0x20], ecx
jae 0x43524c
mov dl, al
mov byte [ecx], dl
mov eax, 1
jmp 0x435251
call fcn.0040f080
mov ecx, dword [esp + 0x4c]
movzx esi, al
mov eax, dword [esp + 0x50]
cmp ecx, eax
mov dword [esp + 0x60], esi
mov dword [esp + 0x24], ecx
ja 0x4352c7
jmp 0x435270
mov eax, dword [esp + 0x5c]
push eax
call fcn.0040a700
add esp, 4
cmp eax, 0x80
mov dword [esp + 0x48], eax
jae 0x435298
mov edx, dword [esp + 0x20]
mov cl, al
mov byte [esi + edx], cl
mov eax, 1
jmp 0x4352a3
mov ecx, dword [esp + 0x20]
add ecx, esi
call fcn.0040f080
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x60]
movzx edx, al
mov eax, dword [esp + 0x50]
add ecx, 0x28
add esi, edx
cmp ecx, eax
mov dword [esp + 0x60], esi
mov dword [esp + 0x24], ecx
jbe 0x435270
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
mov dword [esp + 0x24], ecx
ja 0x435305
nop
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
sub eax, esi
push eax
mov eax, dword [esp + 0x60]
lea ebx, [esi + edx]
call fcn.0040dd20
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x64]
add ecx, 0x28
add esi, eax
add esp, 4
cmp ecx, dword [esp + 0x50]
mov dword [esp + 0x60], esi
mov dword [esp + 0x24], ecx
jbe 0x4352d0
mov eax, dword [esp + 0x38]
mov dword [edi + 0x18], eax
mov word [edi + 0x1c], 0x410
mov dword [edi + 0x20], 0
mov eax, dword [esp + 0x40]
test eax, eax
je 0x43532a
mov dword [edi + 0x10], eax
mov word [edi + 0x1c], 0x4410
mov byte [edi + 0x1f], 1
jmp case.0x433bba.16
mov edx, dword [esp + 0x104]
mov ecx, dword [ebp + 4]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx]
xor ecx, ecx
cmp eax, ecx
mov dword [esp + 0x28], eax
je 0x435373
lea edx, [esp + 0x20]
push edx
call fcn.0042b590
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0x10], eax
mov ecx, dword [esp + 0x28]
add esp, 4
mov dword [esi + 0x14], ecx
jmp case.0x433bba.16
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov eax, ecx
mov dword [esi + 0x10], eax
mov ecx, dword [esp + 0x24]
mov dword [esi + 0x14], ecx
jmp case.0x433bba.16
mov ebx, dword [ebp + 4]
test ebx, ebx
mov esi, dword [esp + 0x14]
mov dword [esp + 0x20], ebx
mov ebp, dword [ebp + 0x10]
mov dword [esp + 0x24], ebp
jne 0x435464
cmp dword [esi + 0x90], ebx
jle 0x4353d4
push str.cannot_open_savepoint___SQL_statements_in_progress
mov edi, dword [esp + 0x108]
add edi, 0x38
mov eax, esi
call fcn.00419d00
add esp, 4
mov dword [esp + 0x10], 5
jmp case.0x433bba.16
mov ecx, ebp
call fcn.0040c510
lea ecx, [eax + 0x19]
mov dword [esp + 0x28], eax
call fcn.00413540
test eax, eax
mov dword [esp + 0x2c], eax
je case.0x433bba.16
lea edx, [eax + 0x18]
mov dword [eax], edx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
add eax, 1
push eax
mov eax, dword [edx]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp byte [esi + 0x1c], 0
je 0x435427
mov byte [esi + 0x1c], 0
mov byte [esi + 0x1d4], 1
jmp 0x43542e
add dword [esi + 0x1cc], 1
mov ecx, dword [esi + 0x1c8]
mov edx, dword [esp + 0x2c]
mov dword [edx + 0x10], ecx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 0x1d8]
mov dword [esi + 0x1c8], eax
mov edx, dword [esp + 0x2c]
mov dword [edx + 8], ecx
mov eax, dword [esi + 0x1dc]
mov ecx, dword [esp + 0x2c]
mov dword [ecx + 0xc], eax
jmp case.0x433bba.16
mov dword [esp + 0x38], 0
mov edi, dword [esi + 0x1c8]
test edi, edi
mov dword [esp + 0x30], edi
je 0x43549d
lea ebx, [ebx]
mov ecx, dword [edi]
mov edx, ebp
call fcn.0040c400
test eax, eax
je 0x4354c4
add dword [esp + 0x38], 1
mov edi, dword [edi + 0x10]
test edi, edi
mov dword [esp + 0x30], edi
jne 0x435480
mov edi, dword [esp + 0x104]
push ebp
push str.no_such_savepoint:__s
add edi, 0x38
mov eax, esi
call fcn.00419d00
add esp, 8
mov dword [esp + 0x10], 1
jmp case.0x433bba.16
cmp dword [esi + 0x90], 0
jg 0x435678
cmp ebx, 2
jne 0x4354e3
cmp dword [esi + 0x8c], 1
jg 0x43567d
cmp dword [edi + 0x10], 0
jne 0x435544
cmp byte [esi + 0x1d4], 0
je 0x435544
cmp ebx, 1
mov dword [esp + 0xe8], 1
jne 0x43554f
mov edi, dword [esp + 0x104]
push ebx
mov ecx, edi
call fcn.0041adb0
add esp, 4
test eax, eax
jne 0x4344f8
push edi
mov byte [esi + 0x1c], bl
call fcn.0042f680
add esp, 4
cmp eax, 5
je 0x437d9f
mov byte [esi + 0x1d4], 0
mov edx, dword [edi + 0x5c]
mov dword [esp + 0x10], edx
jmp 0x4355d6
mov dword [esp + 0xe8], 0
mov ecx, dword [esi + 0x1cc]
sub ecx, dword [esp + 0x38]
xor eax, eax
sub ecx, 1
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
cmp dword [esi + 4], eax
jle 0x4355ad
jmp 0x435574
mov ecx, dword [esp + 0x38]
mov edx, dword [esi + 8]
push ebx
shl eax, 4
mov ebx, ecx
mov ecx, dword [eax + edx + 4]
call fcn.0042c610
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x437e76
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x20]
add eax, 1
mov dword [esp + 0x3c], eax
cmp eax, dword [esi + 4]
jl 0x435570
mov edi, dword [esp + 0x30]
cmp ebx, 2
mov esi, dword [esp + 0x14]
jne 0x4355de
mov ebp, 0x200
test dword [esi + 0xc], ebp
je 0x4355de
mov eax, esi
call fcn.0040a4d0
push 0
mov ebx, esi
call fcn.00417c90
add esp, 4
or dword [esi + 0xc], ebp
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x30]
cmp dword [esi + 0x1c8], edi
je 0x435627
or ebx, 0xffffffff
lea esp, [esp]
mov eax, dword [esi + 0x1c8]
mov dword [esp + 0x34], eax
mov eax, dword [eax + 0x10]
mov dword [esi + 0x1c8], eax
mov ecx, dword [esp + 0x34]
push ecx
push esi
call fcn.00411130
add dword [esi + 0x1cc], ebx
mov edi, dword [esp + 0x38]
add esp, 8
cmp dword [esi + 0x1c8], edi
jne 0x4355f0
mov ebx, dword [esp + 0x20]
cmp ebx, 1
jne 0x435661
mov edx, dword [edi + 0x10]
mov dword [esi + 0x1c8], edx
mov eax, dword [esp + 0x30]
push eax
push esi
call fcn.00411130
add esp, 8
cmp dword [esp + 0xe8], 0
jne case.0x433bba.16
mov eax, dword [esp + 0x14]
add dword [eax + 0x1cc], 0xffffffff
jmp case.0x433bba.16
mov ecx, dword [edi + 8]
mov dword [esi + 0x1d8], ecx
mov edx, dword [edi + 0xc]
mov dword [esi + 0x1dc], edx
jmp case.0x433bba.16
cmp ebx, 2
jne 0x435684
mov eax, str.rollback
jmp 0x435689
mov eax, str.release
mov edi, dword [esp + 0x104]
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
add edi, 0x38
mov eax, esi
call fcn.00419d00
add esp, 8
mov dword [esp + 0x10], 5
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
test eax, eax
mov esi, dword [esp + 0x14]
mov dword [esp + 0x20], eax
mov ebp, dword [ebp + 8]
mov dword [esp + 0x24], ebp
je 0x4356eb
cmp byte [esi + 0x1c], 0
jne 0x4356eb
test ebp, ebp
mov ebx, 1
mov dword [esp + 0x28], ebx
je 0x43570f
cmp dword [esi + 0x8c], ebx
jle 0x4356f8
push str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x4353b3
mov dword [esp + 0x28], 0
mov ebx, 1
movzx ecx, byte [esi + 0x1c]
cmp eax, ecx
jne 0x437dbd
test eax, eax
jne 0x435722
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x435730
cmp dword [esi + 0x90], 0
jle 0x4356f8
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x4353b3
test ebp, ebp
mov eax, str.cannot_rollback___no_transaction_is_active
jne 0x435730
mov eax, str.cannot_commit___no_transaction_is_active
mov edi, dword [esp + 0x104]
push eax
mov eax, dword [esp + 0x18]
add edi, 0x38
call fcn.00419d00
add esp, 4
mov dword [esp + 0x10], ebx
jmp case.0x433bba.16
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 8]
shl edx, 4
mov eax, dword [edx + ecx + 4]
test eax, eax
mov dword [esp + 0x20], eax
je case.0x433bba.16
mov edx, dword [ebp + 8]
push edx
push eax
call fcn.0042dee0
add esp, 8
cmp eax, 5
mov dword [esp + 0x10], eax
je 0x437e3a
test eax, eax
jne 0x437e76
cmp dword [ebp + 8], eax
je case.0x433bba.16
mov edi, dword [esp + 0x104]
cmp byte [edi + 0x68], al
je case.0x433bba.16
mov esi, dword [esp + 0x14]
cmp byte [esi + 0x1c], al
je 0x4357be
cmp dword [esi + 0x8c], 1
jle case.0x433bba.16
cmp dword [edi + 0x74], 0
jne 0x4357dc
add dword [esi + 0x1d0], 1
mov eax, dword [esi + 0x1d0]
mov ecx, dword [esi + 0x1cc]
add ecx, eax
mov dword [edi + 0x74], ecx
mov ecx, dword [edi + 0x74]
mov eax, dword [esp + 0x20]
call fcn.004172b0
mov edx, dword [esi + 0x1d8]
mov dword [esp + 0x10], eax
mov dword [edi + 0xc0], edx
mov eax, dword [esi + 0x1dc]
mov dword [edi + 0xc4], eax
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], eax
mov ebp, dword [ebp + 0xc]
lea ecx, [esp + 0x20]
mov dword [esp + 0x28], ebp
push ecx
mov ecx, dword [edx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov edi, ebp
call fcn.0040deb0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
cdq
add esp, 4
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x433bba.16
mov edx, dword [ebp + 4]
mov ebx, dword [esp + 0x14]
shl edx, 4
add edx, dword [ebx + 8]
mov dword [esp + 0x20], edx
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov esi, edi
call fcn.00411ae0
mov ecx, dword [edi + 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
push ecx
push edx
call fcn.00425e10
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 8]
add esp, 8
cmp eax, 1
jne 0x4358a1
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0xc]
mov eax, dword [edi + 0x10]
mov dword [edx], eax
or dword [ebx + 0xc], 0x200
jmp 0x4358b3
cmp eax, 2
jne 0x4358b3
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0xc]
mov al, byte [edi + 0x10]
mov byte [edx + 0x48], al
cmp dword [ebp + 4], 1
jne case.0x433bba.16
mov eax, ebx
call fcn.0040a4d0
mov ecx, dword [esp + 0x104]
mov byte [ecx + 0x64], 0
jmp case.0x433bba.16
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 8]
shl edx, 4
mov eax, dword [edx + ecx + 4]
test eax, eax
mov dword [esp + 0x24], eax
je 0x435901
lea edx, [esp + 0x20]
push edx
mov edi, 1
call fcn.0040deb0
add esp, 4
jmp 0x435909
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
cmp eax, dword [ebp + 8]
je case.0x433bba.16
mov edi, dword [esp + 0x104]
mov ecx, dword [edi + 0x38]
mov esi, dword [esp + 0x14]
push ecx
push esi
call fcn.00411130
add esp, 8
mov ebx, str.database_schema_has_changed
mov edx, esi
call fcn.00414e30
mov dword [edi + 0x38], eax
mov ebp, dword [ebp + 4]
mov eax, dword [esi + 8]
mov edx, ebp
shl edx, 4
mov ecx, dword [edx + eax + 0xc]
mov edx, dword [ecx]
cmp edx, dword [esp + 0x20]
je 0x43595f
push ebp
mov ebx, esi
call fcn.00417c90
add esp, 4
mov eax, esi
call fcn.0040a4d0
mov dword [esp + 0x10], 0x11
jmp case.0x433bba.16
mov ebx, dword [esp + 0x104]
cmp byte [ebx + 0x64], 0
je 0x43598d
mov dword [esp + 0x10], 4
jmp case.0x433bba.16
mov esi, dword [esp + 0x14]
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov edx, dword [ebp + 8]
mov dword [esp + 0x28], edx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x2c], eax
shl eax, 4
add eax, dword [esi + 8]
mov dword [esp + 0x3c], eax
mov esi, dword [eax + 4]
mov dword [esp + 0x34], esi
cmp byte [ebp], 0x27
jne 0x4359d8
mov dword [esp + 0x30], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x48]
cmp al, byte [ebx + 0x66]
jae 0x4359e0
mov byte [ebx + 0x66], al
jmp 0x4359e0
mov dword [esp + 0x30], 0
cmp byte [ebp + 3], 0
je 0x435a07
lea ecx, [edx + edx*4]
lea edi, [edi + ecx*8]
mov esi, edi
call fcn.00411ae0
mov edi, dword [edi + 0x10]
cmp edi, 2
mov dword [esp + 0x28], edi
jl 0x437e5b
mov ecx, dword [esp + 0x20]
mov al, byte [ebp + 1]
cmp al, 0xfa
jne 0x435a30
mov eax, dword [ebp + 0x10]
mov edx, dword [ebx]
mov dword [esp + 0x24], eax
mov ecx, dword [edx + 8]
mov edx, dword [ecx + 0xc]
mov cl, byte [edx + 0x49]
mov byte [eax + 4], cl
mov edx, dword [esp + 0x24]
movzx ecx, word [edx + 6]
add ecx, 1
jmp 0x435a37
cmp al, 0xf2
jne 0x435a3b
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x2c]
mov edi, dword [ebp + 4]
push 1
push eax
push ecx
mov eax, ebx
call fcn.0042e460
add esp, 0xc
test eax, eax
mov dword [esp + 0x38], eax
je 0x433e44
mov cl, 1
mov byte [eax + 0x1c], cl
mov edx, dword [esp + 0x38]
mov byte [edx + 0x20], cl
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx]
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x28]
call fcn.00410200
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
add esp, 4
cmp eax, 0x10
mov dword [esp + 0x10], eax
mov dword [edx + 8], ecx
jne 0x435aad
mov edx, dword [esp + 0x38]
mov dword [edx], 0
mov dword [esp + 0x10], 0
cmp byte [ebp + 1], 0xfa
mov ecx, dword [esp + 0x38]
setne al
mov byte [ecx + 0x1e], al
mov eax, dword [esp + 0x38]
cmp byte [eax + 0x1e], 0
sete dl
mov byte [eax + 0x1f], dl
jmp case.0x433bba.16
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 4]
push 1
push 0xffffffffffffffff
push eax
mov eax, dword [esp + 0x110]
call fcn.0042e460
add esp, 0xc
test eax, eax
mov dword [esp + 0x20], eax
je 0x433e44
mov ebx, 1
mov byte [eax + 0x1c], bl
movzx ecx, byte [ebp + 3]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
push 0x41e
or ecx, 9
push ecx
add edx, 4
push edx
push eax
push 0
call fcn.0042e020
add esp, 0x14
test eax, eax
mov dword [esp + 0x10], eax
jne 0x435bda
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 4]
push ebx
push edx
call fcn.0042dee0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x435bda
cmp dword [ebp + 0x10], 0
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
push ecx
je 0x435bc1
lea ecx, [ebx + 1]
lea eax, [esp + 0x100]
call fcn.00429ba0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x435bb7
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [ebp + 0x10]
mov edi, dword [esp + 0xfc]
push edx
call fcn.00410200
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x108]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x10]
mov dword [ecx + 8], eax
mov eax, dword [edx]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 8]
mov dl, byte [edx + 0x49]
add esp, 4
mov byte [ecx + 4], dl
mov eax, dword [esp + 0x20]
mov byte [eax + 0x1e], 0
jmp 0x435bda
mov ecx, dword [eax]
xor eax, eax
mov edi, ebx
call fcn.00410200
mov edx, dword [esp + 0x24]
add esp, 4
mov dword [esp + 0x10], eax
mov byte [edx + 0x1e], bl
cmp byte [ebp + 3], 0x10
mov ecx, dword [esp + 0x20]
setne al
mov byte [ecx + 0x20], al
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x1e], 0
sete dl
mov byte [eax + 0x1f], dl
jmp case.0x433bba.16
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 4]
push 0
push 0xffffffffffffffff
push eax
mov eax, dword [esp + 0x110]
call fcn.0042e460
add esp, 0xc
test eax, eax
mov dword [esp + 0x20], eax
je 0x433e44
mov cl, 1
mov byte [eax + 0x1c], cl
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x20]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x20]
mov byte [edx + 0x1e], cl
mov eax, dword [esp + 0x20]
mov byte [eax + 0x1f], 0
jmp case.0x433bba.16
mov ebx, dword [esp + 0x104]
mov ecx, dword [ebp + 4]
mov edx, dword [ebx + 0x44]
mov eax, dword [edx + ecx*4]
call fcn.0042d9d0
mov eax, dword [ebp + 4]
mov ecx, dword [ebx + 0x44]
mov dword [ecx + eax*4], 0
jmp case.0x433bba.16
mov eax, dword [esp + 0x104]
mov edx, dword [ebp + 4]
mov ecx, dword [eax + 0x44]
mov eax, dword [ecx + edx*4]
mov dword [esp + 0x28], eax
cmp dword [eax], 0
je 0x433bd3
movzx edx, byte [ebp]
mov dword [esp + 0x24], edx
mov byte [eax + 0x1c], 0
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0x1e], 0
je 0x435e2e
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov esi, edi
call fcn.004100c0
mov ecx, edi
call fcn.004101a0
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
mov byte [ecx + 0x19], 0
movzx eax, word [edi + 0x1c]
test al, 4
jne 0x435dd6
test al, 8
jne 0x435ce8
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
mov edx, dword [esp + 0x50]
test edx, edx
mov ecx, dword [esp + 0x54]
jne 0x435d88
cmp ecx, 0x80000000
jne 0x435d88
mov eax, dword [edi + 0xc]
cmp eax, ecx
mov esi, dword [edi + 8]
jl 0x435d1e
jg 0x435d14
test esi, esi
jb 0x435d1e
test eax, eax
jl 0x435d88
jg 0x435d1e
test esi, esi
jbe 0x435d88
mov dword [esp + 0x20], 1
cmp dword [edi + 0xc], 0
jg 0x435d4c
jl 0x435d34
cmp dword [edi + 8], 0
jae 0x435d4c
cmp dword [esp + 0x24], 0x2e
jl 0x435d79
mov edx, dword [esp + 0x28]
mov esi, dword [edx]
lea edi, [esp + 0x20]
call fcn.0042bb50
jmp 0x435d62
cmp dword [esp + 0x24], 0x2d
jg 0x435d79
mov eax, dword [esp + 0x28]
mov esi, dword [eax]
lea edi, [esp + 0x20]
call fcn.0042bb10
test eax, eax
mov dword [esp + 0x10], eax
jne 0x437e76
cmp dword [esp + 0x20], 0
je case.0x433bba.16
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
mov eax, dword [esp + 0x24]
cmp eax, 0x2c
je 0x435db6
cmp eax, 0x2e
je 0x435db6
mov eax, dword [edi + 0xc]
cmp eax, ecx
jg 0x435dde
jl 0x435da6
mov eax, dword [edi + 8]
cmp eax, edx
jae 0x435dde
add edx, 0xffffffff
adc ecx, 0xffffffff
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ecx
jmp 0x435dde
mov eax, dword [edi + 0xc]
cmp eax, ecx
jl 0x435dde
jg 0x435dc6
mov eax, dword [edi + 8]
cmp eax, edx
jbe 0x435dde
add edx, 1
adc ecx, 0
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ecx
jmp 0x435dde
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x20]
push eax
push 0
push ecx
mov ecx, dword [esp + 0x34]
push edx
mov edx, dword [ecx]
push 0
push edx
call fcn.0042b790
add esp, 0x18
test eax, eax
mov dword [esp + 0x10], eax
jne 0x437e76
cmp dword [esp + 0x20], eax
jne 0x435ea2
mov eax, dword [esp + 0x28]
mov byte [eax + 0x19], 1
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x28]
mov dword [edx + 0x40], ecx
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x28]
mov dword [ecx + 0x44], eax
jmp 0x435ea2
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x48], edx
mov eax, dword [ecx + 8]
mov dword [esp + 0x30], eax
movzx eax, byte [esp + 0x24]
and eax, 1
add eax, eax
add eax, eax
add eax, eax
mov word [esp + 0x34], dx
mov word [esp + 0x36], ax
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea edi, [edi + edx*8]
mov dword [esp + 0x40], edi
test word [edi + 0x1c], 0x4000
je 0x435e74
mov esi, edi
call fcn.004198d0
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x20]
push eax
mov eax, dword [ecx]
push 0
push 0
push 0
lea edx, [esp + 0x40]
push edx
push eax
call fcn.0042b790
add esp, 0x18
test eax, eax
mov dword [esp + 0x10], eax
jne 0x437e76
mov ecx, dword [esp + 0x28]
mov byte [ecx + 0x19], al
mov edx, dword [esp + 0x28]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x28]
xor esi, esi
mov dword [eax + 0x4c], esi
mov ecx, dword [esp + 0x24]
cmp ecx, 0x2e
mov eax, dword [esp + 0x20]
jl 0x435f01
cmp eax, esi
jl 0x435ed4
jne 0x435ecb
cmp ecx, 0x2f
je 0x435ed4
mov dword [esp + 0x20], esi
jmp case.0x433bba.16
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
lea ecx, [esp + 0x20]
push ecx
push eax
call fcn.0042dd60
add esp, 8
cmp eax, esi
mov dword [esp + 0x10], eax
jne 0x437e76
mov ecx, dword [esp + 0x28]
mov byte [ecx + 0x19], 0
jmp 0x435d6e
cmp eax, esi
jg 0x435f20
jne 0x435f0c
cmp ecx, 0x2c
je 0x435f20
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
call fcn.0040abe0
mov dword [esp + 0x20], eax
jmp 0x435d6e
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
lea eax, [esp + 0x20]
push eax
push edx
call fcn.0042dc30
add esp, 8
cmp eax, esi
mov dword [esp + 0x10], eax
jne 0x437e76
mov eax, dword [esp + 0x28]
mov byte [eax + 0x19], 0
jmp 0x435d6e
mov edx, dword [esp + 0x104]
mov ecx, dword [ebp + 4]
mov eax, dword [edx + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x20], eax
cmp dword [eax], 0
je case.0x433bba.16
mov byte [eax + 0x1c], 0
mov ebp, dword [ebp + 8]
lea ecx, [ebp + ebp*4]
lea edi, [edi + ecx*8]
mov ecx, edi
call fcn.004101a0
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x20]
mov dword [eax + 0x3c], edx
mov ecx, dword [esp + 0x20]
mov byte [ecx + 0x19], 0
mov edx, dword [esp + 0x20]
mov byte [edx + 0x1d], 1
jmp case.0x433bba.16
mov ecx, dword [esp + 0x104]
mov ecx, dword [ecx + 0x44]
xor edx, edx
mov dword [esp + 0x20], edx
mov eax, dword [ebp + 4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x24], eax
cmp dword [eax], edx
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + ecx*4]
lea edi, [edi + ecx*8]
je 0x436081
cmp dword [ebp + 0x10], edx
jle 0x435ff7
mov edx, dword [eax + 8]
mov dword [esp + 0x30], edx
mov cx, word [ebp + 0x10]
lea edx, [esp + 0x30]
mov word [esp + 0x34], cx
mov dword [esp + 0x40], edi
mov word [esp + 0x36], 0x10
mov dword [esp + 0x2c], edx
jmp 0x436029
mov ecx, dword [edi + 4]
mov edx, dword [edi + 0x18]
mov eax, dword [eax + 8]
push ecx
push edx
push eax
mov edx, 0x97
lea eax, [esp + 0x54]
call fcn.00414000
add esp, 0xc
test eax, eax
mov dword [esp + 0x2c], eax
je 0x433e44
or word [eax + 6], 0x10
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov eax, dword [eax]
lea ecx, [esp + 0x28]
push ecx
push 0
push 0
push 0
push edx
push eax
call fcn.0042b790
add esp, 0x18
cmp dword [ebp + 0x10], 0
mov esi, eax
mov dword [esp + 0x10], esi
jne 0x436059
mov ebx, dword [esp + 0x2c]
call fcn.00415940
test esi, esi
jne case.0x433bba.16
mov edx, dword [esp + 0x24]
xor ecx, ecx
cmp dword [esp + 0x28], ecx
sete cl
mov dword [esp + 0x20], ecx
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x24]
mov dword [eax + 0x4c], esi
mov edx, dword [esp + 0x20]
cmp byte [ebp], 0x32
jne 0x43608e
test edx, edx
jmp 0x435d73
test edx, edx
jne case.0x433bba.16
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0x10]
lea edx, [eax + eax*4]
lea eax, [edi + edx*8]
mov edx, dword [esp + 0x104]
mov dword [esp + 0x30], eax
mov eax, dword [edx + 0x44]
lea esi, [edi + ecx*8]
mov ecx, dword [ebp + 4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x24], eax
xor edi, edi
mov dword [eax + 0x48], edi
mov ecx, dword [esp + 0x24]
mov dword [ecx + 0x4c], edi
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x28], eax
mov ecx, dword [edx + 8]
mov cx, word [ecx + 6]
xor ax, ax
cmp cx, di
mov word [esp + 0x2c], cx
mov word [esp + 0x20], ax
jbe 0x436121
movzx edi, ax
lea edi, [edi + edi*4]
test byte [ebx + edi*8 + 0x1c], 1
jne 0x4361b3
add ax, 1
cmp ax, cx
mov word [esp + 0x20], ax
jb 0x436102
cmp dword [esp + 0x28], 0
je case.0x433bba.16
mov edx, dword [edx + 8]
mov eax, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x38], edx
mov word [esp + 0x3c], ax
mov word [esp + 0x3e], 0x20
mov dword [esp + 0x48], ebx
call fcn.00411ae0
mov eax, dword [esp + 0x24]
mov ecx, dword [esi + 0x10]
add eax, 0x48
push eax
push 0
mov dword [esp + 0x58], ecx
mov edx, dword [esi + 0x14]
push 0
push 0
lea ecx, [esp + 0x48]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x38]
push ecx
push edx
call fcn.0042b790
add esp, 0x18
test byte [esp + 0x3e], 0x20
mov dword [esp + 0x10], eax
jne 0x433bd3
mov eax, dword [esp + 0x40]
cmp eax, dword [esp + 0x50]
jne 0x4361a4
mov ecx, dword [esp + 0x44]
cmp ecx, dword [esp + 0x54]
je 0x433bd3
mov dword [esi + 0x10], eax
mov edx, dword [esp + 0x44]
mov dword [esi + 0x14], edx
jmp case.0x433bba.16
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
mov dword [esp + 0x28], 0
jmp case.0x433bba.16
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x104]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x20], ecx
mov eax, dword [ecx]
test eax, eax
mov dword [esp + 0x24], eax
je 0x436276
xor esi, esi
mov dword [esp + 0x28], esi
mov ecx, dword [edi + 0x10]
lea ebx, [esp + 0x28]
push ebx
push esi
mov dword [esp + 0x38], ecx
mov edx, dword [edi + 0x14]
push edx
push ecx
push esi
push eax
mov dword [esp + 0x4c], edx
call fcn.0042b790
mov edx, dword [esp + 0x38]
mov ecx, dword [edi + 0x10]
mov dword [edx + 0x40], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x14]
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x38]
add esp, 0x18
cmp dword [esp + 0x28], esi
sete dl
mov byte [eax + 0x19], dl
mov ecx, dword [esp + 0x20]
mov byte [ecx + 0x1c], 0
mov edx, dword [esp + 0x20]
mov dword [edx + 0x4c], esi
mov eax, dword [esp + 0x20]
mov byte [eax + 0x1d], 0
mov eax, dword [esp + 0x28]
cmp eax, esi
je 0x43626a
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x48], eax
jmp case.0x433bba.16
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
mov dword [ecx + 0x48], 0
jmp case.0x433bba.16
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x104]
mov eax, dword [ecx + 0x44]
mov eax, dword [eax + edx*4]
mov edx, dword [eax + 0x30]
mov dword [esi + 0x10], edx
mov eax, dword [eax + 0x34]
mov dword [esi + 0x14], eax
mov edx, dword [ebp + 4]
mov eax, dword [ecx + 0x44]
mov eax, dword [eax + edx*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.0x433bba.16
mov edx, dword [esp + 0x104]
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], eax
mov ecx, dword [ebp + 4]
mov eax, dword [edx + 0x44]
mov ebx, dword [eax + ecx*4]
mov dword [esp + 0x28], ebx
cmp dword [ebx], 0
je 0x4364b8
mov dword [esp + 0x30], 0
cmp byte [ebx + 0x1b], 0
jne 0x4363cf
mov ecx, dword [ebx]
call fcn.0040abf0
mov ecx, eax
or ecx, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jne 0x436396
mov esi, dword [ebx]
lea edi, [esp + 0x2c]
call fcn.0042bb10
test eax, eax
mov dword [esp + 0x10], eax
jne 0x437e76
cmp dword [esp + 0x2c], eax
je 0x43634a
mov ebx, dword [esp + 0x28]
mov eax, 1
xor edx, edx
mov dword [esp + 0x20], eax
add eax, eax
mov dword [esp + 0x24], edx
adc edx, edx
jmp 0x4363b1
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
lea edi, [esp + 0x20]
call fcn.004144e0
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
cmp eax, 0xffffffff
jne 0x436384
cmp edx, 0x7fffffff
jne 0x436384
mov eax, dword [esp + 0x28]
mov byte [eax + 0x1b], 1
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
jmp 0x436392
add eax, 1
adc edx, 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov ebx, dword [esp + 0x28]
cmp edx, 0x7fffffff
jg 0x4363ad
jl 0x4363a5
cmp eax, 0xffffffff
jae 0x4363ad
add eax, 1
adc edx, 0
jmp 0x4363b1
xor eax, eax
xor edx, edx
mov esi, dword [ebx]
push edx
push eax
call fcn.0040ac00
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x24]
add esp, 8
cmp byte [ebx + 0x1b], 0
je 0x4364a1
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
and eax, 0x3fffffff
add ecx, 1
lea edx, [esp + 0x2c]
push edx
adc eax, 0
push 0
push eax
push ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x40], 0
mov eax, dword [ebx]
push 0
push eax
call fcn.0042b790
add esp, 0x18
test eax, eax
mov dword [esp + 0x10], eax
jne 0x43649d
lea edi, [eax + 5]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x43648e
mov eax, dword [esp + 0x30]
add eax, 1
cmp eax, 0x64
mov dword [esp + 0x30], eax
jge 0x43648e
lea ecx, [esp + 0x20]
mov eax, 8
call fcn.004110f0
cmp dword [esp + 0x30], edi
mov eax, dword [esp + 0x20]
jge 0x436452
and eax, 0xffffff
xor ecx, ecx
jmp 0x43645c
mov ecx, dword [esp + 0x24]
and ecx, 0x3fffffff
add eax, 1
lea edx, [esp + 0x2c]
push edx
adc ecx, 0
push 0
push ecx
push eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x34], ecx
mov ecx, dword [eax]
push 0
push ecx
call fcn.0042b790
add esp, 0x18
test eax, eax
mov dword [esp + 0x10], eax
je 0x436419
jmp 0x43649d
cmp dword [esp + 0x10], 0
jne 0x43649d
test ecx, ecx
je 0x437e6e
mov ebx, dword [esp + 0x28]
mov byte [ebx + 0x19], 0
mov edx, dword [esp + 0x28]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x28]
mov dword [eax + 0x4c], 0
mov ecx, dword [esp + 0x20]
mov dword [esi + 0x10], ecx
mov edx, dword [esp + 0x24]
mov dword [esi + 0x14], edx
jmp case.0x433bba.16
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x104]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [esi + 0x44]
mov dword [esp + 0x20], ecx
mov edx, dword [ebp + 4]
mov edx, dword [eax + edx*4]
mov dword [esp + 0x30], edx
cmp byte [ebp], 0x37
mov eax, dword [ebp + 0xc]
jne 0x43650b
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov dword [esp + 0x24], edi
mov eax, dword [edi + 0x10]
mov dword [esp + 0x28], eax
mov edx, dword [edi + 0x14]
jmp 0x436510
cdq
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov edx, 1
test byte [ebp + 3], dl
je 0x436521
add dword [esi + 0x6c], edx
test byte [ebp + 3], 2
mov edi, dword [esp + 0x14]
je 0x436539
mov dword [edi + 0x30], eax
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x34], eax
mov ecx, dword [esp + 0x20]
xor ebx, ebx
test byte [ecx + 0x1c], dl
je 0x43654e
mov dword [ecx + 4], ebx
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x18], ebx
mov ecx, dword [esp + 0x20]
test byte [ebp + 3], 0x10
je 0x436561
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0x48]
mov dword [esp + 0x38], eax
jmp 0x436565
mov dword [esp + 0x38], ebx
test word [ecx + 0x1c], 0x4000
je 0x436576
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x34], ecx
jmp 0x43657a
mov dword [esp + 0x34], ebx
mov edx, dword [esp + 0x30]
mov esi, dword [edx]
push ebx
push ebx
call fcn.0040ac00
movzx eax, byte [ebp + 3]
mov ecx, dword [esp + 0x3c]
and eax, 8
push eax
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [eax]
mov eax, dword [esp + 0x54]
push edx
push ebx
push ecx
call fcn.0042c410
mov edx, dword [esp + 0x58]
mov byte [edx + 0x19], 0
mov ecx, dword [esp + 0x58]
mov byte [ecx + 0x1d], 0
mov edx, dword [esp + 0x58]
add esp, 0x28
cmp eax, ebx
mov dword [esp + 0x10], eax
mov dword [edx + 0x4c], ebx
jne case.0x433bba.16
cmp dword [edi + 0xbc], ebx
je case.0x433bba.16
cmp dword [ebp + 0x10], ebx
je case.0x433bba.16
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0xc]
mov edx, dword [edi + 8]
mov esi, dword [esp + 0x2c]
shl ecx, 4
mov eax, dword [ecx + edx]
mov dword [esp + 0x3c], eax
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x40], ecx
mov dl, byte [ebp + 3]
and dl, 4
neg dl
push esi
mov esi, dword [esp + 0x2c]
push esi
push ecx
push eax
sbb edx, edx
and edx, 5
add edx, 0x12
mov dword [esp + 0x54], edx
mov eax, dword [edi + 0xb8]
mov ecx, dword [edi + 0xbc]
push edx
push eax
call ecx
add esp, 0x18
jmp case.0x433bba.16
mov ecx, dword [esp + 0x104]
mov ecx, dword [ecx + 0x44]
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov edx, dword [ebp + 4]
mov edi, dword [ecx + edx*4]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x28], edi
cmp dword [edx + 0xbc], eax
je 0x436686
cmp dword [ebp + 0x10], eax
je 0x436686
mov eax, dword [edi + 0x40]
mov dword [esp + 0x20], eax
mov ecx, dword [edi + 0x44]
mov dword [esp + 0x24], ecx
call fcn.0042e520
test eax, eax
mov dword [esp + 0x10], eax
jne 0x437e76
mov edx, dword [esp + 0x28]
mov esi, dword [edx]
push eax
push eax
call fcn.0040ac00
mov eax, dword [esp + 0x30]
mov ebx, dword [eax]
add esp, 8
call fcn.0042ebb0
test eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov dword [ecx + 0x4c], 0
jne 0x436704
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0xbc]
test ecx, ecx
je 0x436704
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x436704
mov esi, dword [esp + 0x24]
push esi
mov esi, dword [esp + 0x24]
push esi
mov esi, dword [edx + 8]
mov edx, dword [edx + 0xb8]
push eax
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0xc]
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.0x433bba.16
mov eax, dword [esp + 0x104]
add dword [eax + 0x6c], 1
jmp case.0x433bba.16
mov edx, dword [esp + 0x104]
mov ecx, dword [edx + 0x6c]
mov eax, dword [esp + 0x14]
call fcn.0040a500
mov dword [edx + 0x6c], 0
jmp case.0x433bba.16
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0xec]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x104]
mov dword [esp + 0x1c], edx
mov edx, dword [ecx + 0x44]
mov edi, dword [edx + eax*4]
mov dword [esp + 0x20], edi
mov eax, dword [edi]
mov dword [esp + 0x24], eax
call fcn.0042e520
test eax, eax
mov dword [esp + 0x10], eax
jne 0x437e76
mov ecx, dword [esp + 0x20]
cmp byte [ecx + 0x1f], 0
mov eax, dword [esp + 0x24]
je 0x4367bb
lea edi, [esp + 0x30]
call fcn.004144e0
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x48]
mov ecx, dword [esp + 0x34]
cdq
cmp ecx, edx
jg 0x43448d
mov ecx, dword [esp + 0x30]
jl 0x4367b5
cmp ecx, eax
ja 0x43448d
mov dword [esp + 0x28], ecx
jmp 0x4367d9
lea edx, [esp + 0x28]
push edx
call fcn.004144c0
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
add esp, 4
cmp ecx, dword [eax + 0x48]
ja 0x43448d
mov edx, dword [esp + 0x1c]
push edx
xor eax, eax
call fcn.00418430
add esp, 4
test eax, eax
jne 0x433e44
mov esi, dword [esp + 0x1c]
mov cx, word [esi + 0x1c]
mov eax, dword [esp + 0x28]
and cx, 0xbf10
or cx, 0x10
mov dword [esi + 0x18], eax
mov word [esi + 0x1c], cx
mov edx, dword [esp + 0x20]
cmp byte [edx + 0x1f], 0
mov eax, dword [esp + 0x24]
je 0x436839
mov ecx, dword [esp + 0x28]
push eax
mov eax, dword [esi + 4]
xor edx, edx
call fcn.0042a660
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esi + 0x1f], 1
jmp case.0x433bba.16
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x28]
push ecx
push edx
push 0
push eax
call fcn.0042de80
add esp, 0x10
mov dword [esp + 0x10], eax
mov byte [esi + 0x1f], 1
jmp case.0x433bba.16
mov edx, dword [esp + 0x104]
mov ecx, dword [ebp + 4]
mov eax, dword [edx + 0x44]
mov edi, dword [eax + ecx*4]
mov dword [esp + 0x20], edi
cmp byte [edi + 0x1c], 0
je 0x43687f
mov word [esi + 0x1c], 1
jmp case.0x433bba.16
cmp byte [edi + 0x1d], 0
je 0x436895
mov ecx, dword [edi + 0x38]
mov dword [esp + 0x28], ecx
mov edx, dword [edi + 0x3c]
mov dword [esp + 0x2c], edx
jmp 0x43690b
cmp dword [edi + 0x24], 0
je 0x4368d1
mov eax, dword [edi + 0x24]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
mov eax, dword [eax]
mov dword [esp + 0x34], eax
mov edx, dword [edi + 0x24]
mov eax, dword [eax + 0x30]
lea ecx, [esp + 0x28]
push ecx
push edx
call eax
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x10c]
add esp, 8
mov dword [esp + 0x10], eax
call fcn.00415900
jmp 0x43690b
call fcn.0042e520
test eax, eax
mov dword [esp + 0x10], eax
jne 0x437e76
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x19], 0
je 0x4368fc
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 0x44]
mov dword [esp + 0x2c], edx
jmp 0x43690b
mov eax, dword [eax]
lea edi, [esp + 0x28]
call fcn.004144e0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x2c]
mov dword [eax + 0x14], edx
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x104]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x20], eax
mov byte [eax + 0x1c], 1
mov eax, dword [esp + 0x20]
mov byte [eax + 0x19], 0
mov ecx, dword [esp + 0x20]
mov esi, dword [ecx]
test esi, esi
je case.0x433bba.16
call fcn.00410470
jmp case.0x433bba.16
mov eax, dword [esp + 0x104]
mov edx, dword [ebp + 4]
mov ecx, dword [eax + 0x44]
mov eax, dword [ecx + edx*4]
mov dword [esp + 0x20], eax
mov esi, dword [eax]
test esi, esi
mov dword [esp + 0x24], esi
jne 0x436982
mov dword [esp + 0x28], 1
jmp 0x436993
lea edi, [esp + 0x28]
call fcn.0042bb10
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov dl, byte [esp + 0x28]
mov byte [eax + 0x1c], dl
mov eax, dword [esp + 0x20]
mov byte [eax + 0x1d], 0
mov ecx, dword [esp + 0x20]
mov byte [ecx + 0x19], 0
mov edx, dword [esp + 0x20]
mov dword [edx + 0x4c], 0
mov ebp, dword [ebp + 8]
test ebp, ebp
jle case.0x433bba.16
cmp dword [esp + 0x28], 0
je case.0x433bba.16
add ebp, 0xffffffff
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
mov eax, dword [esp + 0x104]
add dword [eax + 0x7c], 1
jmp 0x4369eb
mov eax, dword [esp + 0x104]
mov ecx, dword [ebp + 4]
mov edx, dword [eax + 0x44]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], 1
mov esi, dword [eax]
test esi, esi
mov dword [esp + 0x24], esi
je 0x436a45
lea edi, [esp + 0x28]
call fcn.0042bb50
cmp dword [esp + 0x28], 0
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x10], eax
sete al
mov byte [ecx + 0x1a], al
mov edx, dword [esp + 0x20]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x20]
mov dword [eax + 0x4c], 0
mov ecx, dword [esp + 0x20]
mov byte [ecx + 0x19], 0
mov eax, dword [esp + 0x20]
mov dl, byte [esp + 0x28]
mov byte [eax + 0x1c], dl
cmp dword [esp + 0x28], 0
je case.0x433bba.16
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xe0]
test ecx, ecx
jne 0x437ebe
mov esi, dword [esp + 0x104]
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x44]
mov eax, dword [eax + edx*4]
test eax, eax
mov dword [esp + 0x20], eax
je case.0x433bba.16
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp + 0x24], ecx
jne 0x436aa7
mov byte [eax + 0x1c], 1
jmp case.0x433bba.16
mov dword [esp + 0x28], 1
cmp byte [ebp], 0x43
jne 0x436ac2
lea edx, [esp + 0x28]
push edx
push ecx
call fcn.0042dd60
jmp 0x436acd
lea eax, [esp + 0x28]
push eax
push ecx
call fcn.0042dc30
mov ecx, dword [esp + 0x28]
mov dl, byte [esp + 0x30]
mov byte [ecx + 0x1c], dl
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
add esp, 8
mov dword [eax + 0x4c], 0
cmp dword [esp + 0x28], 0
jne 0x436b0e
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [esp + 0x18], eax
mov al, byte [ebp + 3]
test al, al
je 0x436b0e
movzx ecx, al
add dword [esi + ecx*4 + 0x74], 1
lea eax, [esi + ecx*4 + 0x74]
mov edx, dword [esp + 0x20]
mov byte [edx + 0x19], 0
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x104]
mov edx, dword [ecx + 0x44]
mov edx, dword [edx + eax*4]
mov dword [esp + 0x20], edx
mov eax, dword [ebp + 8]
mov ecx, dword [edx]
test ecx, ecx
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov dword [esp + 0x24], ecx
je case.0x433bba.16
test word [edi + 0x1c], 0x4000
je 0x436b69
mov esi, edi
call fcn.004198d0
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x433bba.16
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov eax, dword [edi + 0x18]
mov dword [esp + 0x28], eax
mov edi, dword [edi + 4]
mov dword [esp + 0x2c], edi
test byte [ebp + 3], 0x10
je 0x436b82
mov esi, dword [edx + 0x48]
jmp 0x436b84
xor esi, esi
mov edx, dword [ebp + 0xc]
push edx
push 0
push 0
cdq
push 0x45f4d0
push edx
push eax
push edi
push ecx
mov eax, esi
call fcn.0042c410
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x40]
add esp, 0x20
mov dword [eax + 0x4c], 0
jmp case.0x433bba.16
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x104]
mov eax, dword [edx + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x20], eax
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp + 0x24], ecx
je case.0x433bba.16
mov edx, dword [eax + 8]
mov dword [esp + 0x30], edx
mov ax, word [ebp + 0xc]
mov word [esp + 0x34], ax
mov word [esp + 0x36], 0
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
lea eax, [edi + edx*8]
lea edx, [esp + 0x28]
push edx
push 0
push 0
mov dword [esp + 0x4c], eax
push 0
lea eax, [esp + 0x40]
push eax
push ecx
call fcn.0042b790
add esp, 0x18
test eax, eax
mov dword [esp + 0x10], eax
jne 0x436c2f
cmp dword [esp + 0x28], eax
jne 0x436c2f
mov ebx, dword [esp + 0x24]
call fcn.0042ebb0
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x4c], 0
jmp case.0x433bba.16
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x104]
mov ecx, dword [eax + 0x44]
mov eax, dword [ecx + edx*4]
mov dword [esp + 0x24], eax
mov edx, dword [eax]
mov dword [esp + 0x20], edx
mov word [esi + 0x1c], 1
cmp dword [esp + 0x20], 0
je case.0x433bba.16
mov edi, dword [esp + 0x24]
call fcn.0042e520
test eax, eax
mov dword [esp + 0x10], eax
jne 0x437e76
mov eax, dword [esp + 0x24]
cmp byte [eax + 0x1c], 0
jne case.0x433bba.16
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x28]
push ecx
call fcn.0042f550
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x437e76
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 0x14], ecx
mov word [eax + 0x1c], bx
jmp case.0x433bba.16
mov eax, dword [esp + 0x104]
mov edx, dword [ebp + 4]
mov ecx, dword [eax + 0x44]
mov eax, dword [ecx + edx*4]
mov dword [esp + 0x20], eax
cmp dword [eax], 0
je case.0x433bba.16
mov edx, dword [eax + 8]
mov dword [esp + 0x28], edx
mov cx, word [ebp + 0x10]
xor edx, edx
mov word [esp + 0x2c], cx
cmp byte [ebp + 3], dl
setne dl
lea edx, [edx*8 + 4]
mov word [esp + 0x2e], dx
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + ecx*4]
lea edx, [edi + ecx*8]
lea ecx, [esp + 0x24]
mov dword [esp + 0x38], edx
push ecx
lea edx, [esp + 0x2c]
push edx
call fcn.0042f480
add esp, 8
cmp byte [ebp], 0x51
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
jne 0x436d37
neg eax
jmp 0x436d3a
add eax, 1
test eax, eax
mov dword [esp + 0x24], eax
jle case.0x433bba.16
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], 0
mov eax, dword [edx + 0x88]
test eax, eax
mov dword [esp + 0x28], eax
je 0x436d95
mov ecx, 0xbdf20da3
cmp dword [eax + 0x34], ecx
jne 0x436d8a
cmp byte [eax + 0x67], 2
jae 0x436d8a
cmp dword [eax + 0x58], 0
jl 0x436d8a
add dword [esp + 0x24], 1
mov eax, dword [eax + 0x40]
test eax, eax
mov dword [esp + 0x28], eax
jne 0x436d74
mov eax, 1
mov word [esi + 0x1c], ax
cmp dword [esp + 0x24], eax
jle 0x436dbc
mov eax, dword [esp + 0x104]
mov dword [esp + 0x10], 6
mov byte [eax + 0x60], 2
jmp case.0x433bba.16
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x2c], ecx
mov eax, dword [ebp + 4]
mov edx, dword [edx + 8]
shl ecx, 4
mov ecx, dword [ecx + edx + 4]
push eax
lea eax, [esp + 0x24]
call fcn.0042eba0
mov dword [esp + 0x14], eax
mov word [esi + 0x1c], bx
mov eax, dword [esp + 0x24]
cdq
add esp, 4
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
jmp case.0x433bba.16
mov dword [esp + 0x20], 0
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov ebx, dword [ebp + 4]
neg eax
sbb eax, eax
lea ecx, [esp + 0x20]
and eax, ecx
push eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 8]
shl edx, 4
mov eax, dword [edx + ecx + 4]
call fcn.0042c3d0
add esp, 4
cmp dword [ebp + 0xc], 0
mov dword [esp + 0x10], eax
je case.0x433bba.16
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x104]
add dword [ecx + 0x6c], eax
mov ebp, dword [ebp + 0xc]
test ebp, ebp
jle case.0x433bba.16
lea edx, [ebp + ebp*4]
lea edi, [edi + edx*8 + 0x10]
cdq
add dword [edi], eax
adc dword [edi + 4], edx
jmp case.0x433bba.16
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x20], 0
mov eax, dword [ebp + 4]
shl eax, 4
add eax, dword [ecx + 8]
xor ecx, ecx
mov dword [esp + 0x28], eax
cmp byte [ebp], 0x62
setne cl
add ecx, 1
mov dword [esp + 0x24], ecx
mov edx, dword [eax + 4]
push edx
lea eax, [esp + 0x24]
call fcn.00429ba0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
cdq
add esp, 4
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x20], eax
cmp dword [ebp + 8], 0
jne 0x436ed5
mov edx, dword [esi + 8]
mov ecx, eax
shl ecx, 4
mov ecx, dword [ecx + edx + 0xc]
test byte [ecx + 0x4a], 1
je case.0x433bba.16
mov ecx, dword [esp + 0x104]
mov dword [esp + 0x24], str.sqlite_master
mov dword [esp + 0x2c], esi
mov edx, dword [ebp + 4]
add ecx, 0x38
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ecx
mov edx, dword [ebp + 0x10]
mov ecx, dword [esi + 8]
push edx
shl eax, 4
mov edx, dword [eax + ecx]
push str.sqlite_master
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.0041b0a0
add esp, 0x10
test eax, eax
mov dword [esp + 0x28], eax
je 0x433e44
mov esi, dword [esp + 0x14]
push 0
lea eax, [esp + 0x30]
push eax
mov byte [esi + 0x7c], 1
mov ecx, dword [esp + 0x30]
push fcn.00431fc0
push ecx
push esi
mov dword [esp + 0x4c], 0
call fcn.00438370
mov edi, eax
add esp, 0x14
test edi, edi
mov dword [esp + 0x10], eax
jne 0x436f5e
mov edi, dword [esp + 0x38]
mov dword [esp + 0x10], edi
mov edx, dword [esp + 0x28]
push edx
push esi
call fcn.00411130
add esp, 8
cmp edi, 7
mov byte [esi + 0x7c], 0
je 0x433e44
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
call fcn.0041d8c0
mov dword [esp + 0x10], eax
jmp case.0x433bba.16
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
mov esi, dword [esp + 0x14]
call fcn.00417c60
jmp case.0x433bba.16
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x14]
call fcn.00415470
jmp case.0x433bba.16
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x14]
call fcn.00419060
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov bl, 0x20
test byte [esi + 0x1c], bl
lea ecx, [ebp + ebp*4]
lea ebp, [edi + ecx*8]
jne 0x436ff9
mov edi, esi
call fcn.00415aa0
test byte [esi + 0x1c], bl
je 0x433e44
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov edi, dword [esi + 0x10]
push edx
push eax
call fcn.004148f0
add esp, 8
jmp case.0x433bba.16
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xe0]
test edx, edx
jne 0x437ebe
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 0x20
lea ebx, [edi + eax*8]
je 0x437064
mov eax, dword [ebx + 0x10]
lea esi, [esp + 0x20]
call fcn.00412ff0
test eax, eax
je 0x437064
mov ecx, dword [esp + 0x24]
mov ebp, dword [ebp + 0xc]
mov edx, dword [esp + 0x20]
push ecx
lea eax, [ebp + ebp*4]
push edx
lea esi, [edi + eax*8]
call fcn.00415af0
add esp, 8
jmp case.0x433bba.16
mov esi, ebx
call fcn.00412b00
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x10]
lea esi, [edi + ecx*8]
lea ebx, [edi + edx*8]
mov dword [esp + 0x20], eax
test byte [esi + 0x1c], 0x20
mov dword [esp + 0xe8], ebx
jne 0x4370b5
mov edi, esi
call fcn.00415aa0
test byte [esi + 0x1c], 0x20
je 0x433e44
mov eax, dword [esp + 0x20]
test eax, eax
je 0x437104
jl 0x4370c0
and eax, 0xf
jmp 0x4370c5
mov eax, 0xff
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x10]
push ecx
mov bl, al
mov eax, dword [esi + 0x10]
push edx
call fcn.00411e60
add esp, 8
test eax, eax
mov dword [esp + 0x24], eax
je 0x4370f1
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
mov eax, dword [esp + 0x20]
test eax, eax
mov ebx, dword [esp + 0xe8]
jl case.0x433bba.16
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
mov edi, dword [esi + 0x10]
push eax
push ecx
call fcn.004148f0
add esp, 8
jmp case.0x433bba.16
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x38], ecx
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea edi, [edi + edx*8]
mov dword [esp + 0x28], edi
cmp byte [ebp + 3], 0
je 0x437166
mov eax, dword [esp + 0x104]
mov eax, dword [eax + 0xd0]
test eax, eax
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], eax
je 0x437166
cmp dword [eax + 0x20], edx
je case.0x433bba.16
mov eax, dword [eax + 0x3c]
test eax, eax
mov dword [esp + 0x34], eax
jne 0x437152
mov edx, dword [esp + 0x104]
mov eax, dword [edx + 0xd8]
mov edx, dword [esp + 0x14]
cmp eax, dword [edx + 0x70]
jl 0x4371a2
mov edi, dword [esp + 0x104]
push str.too_many_levels_of_trigger_recursion
add edi, 0x38
mov eax, edx
mov dword [esp + 0x14], 1
call fcn.00419d00
add esp, 4
jmp case.0x433bba.16
mov ebx, 0x40
test byte [edi + 0x1c], bl
jne 0x4372c3
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
mov dword [esp + 0x20], eax
mov ecx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*2]
lea edi, [edi*4 + 0x40]
mov eax, edx
mov dword [esp + 0x24], edi
call fcn.004135c0
test eax, eax
mov dword [esp + 0x34], eax
je 0x433e44
mov edx, dword [esp + 0x28]
push edx
call fcn.00414410
mov eax, dword [esp + 0x2c]
mov word [eax + 0x1c], bx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x108]
mov dword [ecx], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x24]
mov dword [edx + 0x24], ecx
mov edx, dword [esp + 0x3c]
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x38]
mov dword [edx + 0x28], ecx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
mov dword [ecx + 4], edx
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x38]
mov dword [edx + 0x10], ecx
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x38]
mov dword [edx + 0x14], ecx
mov ecx, dword [eax + 0x44]
mov edx, dword [esp + 0x38]
mov dword [edx + 0x18], ecx
mov cx, word [eax + 0x32]
mov edx, dword [esp + 0x38]
mov word [edx + 0x1c], cx
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x38]
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x38]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x38]
mov dword [ecx + 0x20], edx
mov edx, dword [esp + 0x38]
mov ecx, dword [edx + 0x24]
lea ecx, [ecx + ecx*4]
lea esi, [edx + ecx*8 + 0x40]
lea ecx, [edx + 0x40]
add esp, 4
mov dword [esp + 0x30], esi
cmp ecx, esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x2c], ecx
je 0x4372d5
nop
mov word [ecx + 0x1c], 1
mov edx, dword [esp + 0x2c]
mov dword [edx], esi
mov ecx, dword [esp + 0x2c]
add ecx, 0x28
cmp ecx, dword [esp + 0x30]
mov dword [esp + 0x2c], ecx
jne 0x4372a0
mov edx, dword [esp + 0x34]
jmp 0x4372d5
mov edx, dword [edi + 0x10]
mov eax, dword [esp + 0x104]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x34], edx
add dword [eax + 0xd8], 1
mov ecx, dword [eax + 0xd0]
mov dword [edx + 0x3c], ecx
mov edx, dword [esi + 0x30]
mov ecx, dword [esp + 0x34]
mov dword [ecx + 0x30], edx
mov edx, dword [esi + 0x34]
mov ecx, dword [esp + 0x34]
mov dword [ecx + 0x34], edx
mov edx, dword [eax + 0x6c]
mov ecx, dword [esp + 0x34]
mov dword [ecx + 0x38], edx
mov ecx, dword [esp + 0x34]
lea edx, [ecx + 0x18]
mov dword [eax + 0xd0], ecx
mov dword [eax + 8], edx
mov dword [eax + 0x6c], 0
mov esi, dword [ecx + 0x24]
mov dword [eax + 0x18], esi
mov cx, word [ecx + 0x28]
mov word [eax + 0x32], cx
mov ecx, esi
add ecx, 1
lea ecx, [ecx + ecx*4]
mov dword [esp + 0xec], edx
lea edx, [edx + ecx*8]
mov dword [eax + 0x44], edx
mov edx, dword [esp + 0x38]
mov ecx, dword [edx]
mov dword [esp + 0xf0], ecx
mov dword [eax + 4], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 0x1c], ecx
mov dword [esp + 0x18], 0xffffffff
jmp case.0x433bba.16
mov edx, dword [esp + 0x104]
mov ecx, dword [edx + 0xd0]
mov dword [esp + 0x20], 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
mov ebx, esi
mov dword [esp + 0x2c], eax
call fcn.004143d0
add esp, 8
jmp case.0x433bba.16
cmp dword [ebp + 4], 0
mov eax, dword [ebp + 8]
cdq
je 0x4373c2
mov ecx, dword [esp + 0x14]
add dword [ecx + 0x1d8], eax
adc dword [ecx + 0x1dc], edx
jmp case.0x433bba.16
mov ecx, dword [esp + 0x104]
add dword [ecx + 0xb8], eax
adc dword [ecx + 0xbc], edx
jmp case.0x433bba.16
cmp dword [ebp + 4], 0
je 0x437405
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x1d8]
or edx, dword [eax + 0x1dc]
jne case.0x433bba.16
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
mov eax, dword [esp + 0x104]
mov ecx, dword [eax + 0xb8]
or ecx, dword [eax + 0xbc]
jne case.0x433bba.16
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
cmp dword [edi + eax*8 + 0x14], 0
jl case.0x433bba.16
jg 0x43744b
cmp dword [edi + eax*8 + 0x10], 0
jbe case.0x433bba.16
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
cmp dword [edi + eax*8 + 0x14], 0
jg case.0x433bba.16
jl 0x437478
cmp dword [edi + eax*8 + 0x10], 0
jae case.0x433bba.16
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea edi, [edi + edx*8]
cdq
add dword [edi + 0x10], eax
mov eax, dword [edi + 0x10]
adc dword [edi + 0x14], edx
or eax, dword [edi + 0x14]
jne case.0x433bba.16
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
movzx ecx, byte [ebp + 3]
mov dword [esp + 0x20], ecx
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x104]
lea edi, [edi + edx*8]
mov edx, dword [eax + 0xc]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x70], edx
mov dword [esp + 0x24], eax
jle 0x43750e
mov ecx, dword [esp + 0x70]
mov dword [ecx + eax*4], edi
mov ecx, dword [esp + 0x2c]
call fcn.0040a400
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x2c]
add eax, 1
add edi, 0x28
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], edi
jl 0x4374e2
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0xec]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x30], edx
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
xor esi, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x60], eax
mov ecx, 1
add dword [eax + 0x18], ecx
mov eax, dword [esp + 0x30]
mov word [esp + 0x54], cx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
test byte [eax + 3], 8
je 0x437569
mov edx, dword [ebp - 4]
mov dword [esp + 0x68], edx
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x20]
push ecx
push edx
mov edx, dword [eax + 0x10]
lea ecx, [esp + 0x38]
push ecx
call edx
add esp, 0xc
cmp dword [esp + 0x64], esi
je 0x4375b5
lea eax, [esp + 0x38]
push eax
call fcn.00423b10
mov edi, dword [esp + 0x108]
add esp, 4
push eax
push 0x465de8
add edi, 0x38
mov eax, ebx
call fcn.00419d00
mov ecx, dword [esp + 0x6c]
add esp, 8
mov dword [esp + 0x10], ecx
lea edx, [esp + 0x38]
push edx
call fcn.00414410
add esp, 4
jmp case.0x433bba.16
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov dword [esp + 0x20], edi
mov eax, dword [ebp + 0x10]
mov ecx, edi
call fcn.00411b00
test eax, eax
mov dword [esp + 0x10], eax
je 0x43760f
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00423b10
mov edi, dword [esp + 0x108]
add esp, 4
push eax
mov eax, dword [esp + 0x18]
push 0x465de8
add edi, 0x38
call fcn.00419d00
add esp, 8
mov ecx, dword [esp + 0x20]
call fcn.0040aa30
test eax, eax
jne 0x43448d
jmp case.0x433bba.16
mov edx, dword [ebp + 4]
mov edi, dword [esp + 0x14]
push edx
call fcn.00429620
add esp, 4
mov dword [esp + 0x10], eax
jmp case.0x433bba.16
mov edx, dword [esp + 0x104]
cmp dword [edx + 0x84], 0
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x28], esi
jne 0x43765d
mov ecx, dword [ebp + 4]
call fcn.0040a8b0
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x20], eax
call fcn.0040ab20
mov edi, eax
mov dword [esp + 0x24], edi
call fcn.0040b0a0
cmp esi, 0xffffffff
mov edx, eax
mov dword [esp + 0x2c], edx
jne 0x437693
mov esi, edx
mov dword [esp + 0x28], esi
mov eax, edi
call fcn.0040b070
test eax, eax
jne 0x4376a4
mov esi, edx
mov dword [esp + 0x28], esi
mov eax, edi
call fcn.0040b130
cmp esi, 5
mov dword [esp + 0x30], eax
jne 0x4376cf
cmp byte [eax], 0
je 0x4376c4
mov eax, edi
call fcn.0040b030
test eax, eax
jne 0x4376cf
mov esi, edx
mov dword [esp + 0x28], esi
jmp 0x437787
cmp esi, edx
je 0x437787
cmp edx, 5
je 0x4376e5
cmp esi, 5
jne 0x437787
cmp byte [ebx + 0x1c], 0
je 0x437749
cmp dword [ebx + 0x8c], 1
jg 0x437749
cmp edx, 5
jne 0x437712
mov eax, edi
call fcn.00426b50
test eax, eax
mov dword [esp + 0x10], eax
jne 0x43773f
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
jmp 0x43771a
cmp edx, 4
jne 0x437723
lea ecx, [edx - 2]
call fcn.0042cb50
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
xor ebx, ebx
cmp esi, 5
sete bl
add ebx, 1
call fcn.0042eb40
test eax, eax
mov dword [esp + 0x10], eax
je 0x43777f
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x28], esi
jmp 0x437783
cmp esi, 5
mov dword [esp + 0x10], 1
mov eax, str.into
je 0x437760
mov eax, str.out_of
mov edi, dword [esp + 0x104]
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
add edi, 0x38
mov eax, ebx
call fcn.00419d00
add esp, 8
jmp case.0x433bba.16
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov ecx, esi
call fcn.0042cb50
mov dword [esp + 0x28], eax
mov ebp, dword [ebp + 8]
mov eax, dword [esp + 0xec]
lea edx, [ebp + ebp*4]
lea edx, [eax + edx*8]
mov word [edx + 0x1c], 0xa02
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], edx
call fcn.004097c0
mov ecx, eax
mov dword [edx + 4], eax
call fcn.0040c510
mov dword [edx + 0x18], eax
mov byte [edx + 0x1f], 1
jmp case.0x433bba.16
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x104]
push ecx
add eax, 0x38
call fcn.004337a0
add esp, 4
mov dword [esp + 0x10], eax
jmp case.0x433bba.16
cmp dword [ebp + 4], 0
jne 0x437800
mov eax, dword [esp + 0x14]
call fcn.0040a4d0
jmp case.0x433bba.16
mov edx, dword [esp + 0x104]
mov byte [edx + 0x64], 1
jmp case.0x433bba.16
mov ebp, dword [ebp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, ebp
mov dword [esp + 0x20], ebp
call fcn.004176d0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
test eax, eax
je case.0x433bba.16
mov esi, dword [eax + 8]
mov edi, dword [esp + 0x104]
call fcn.00415900
jmp case.0x433bba.16
mov eax, dword [esp + 0x104]
mov ecx, dword [ebp + 0x10]
mov ebx, dword [esp + 0x14]
add eax, 0x38
push eax
mov eax, dword [ebp + 4]
push ecx
call fcn.0041f620
add esp, 8
mov dword [esp + 0x10], eax
jmp case.0x433bba.16
mov esi, dword [esp + 0x104]
mov ecx, dword [esp + 0x14]
mov byte [esi + 0x67], 2
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push edx
call fcn.00412730
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esi + 0x67], 0
jmp case.0x433bba.16
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x28], eax
mov ecx, dword [eax]
lea edx, [esp + 0x24]
push edx
mov dword [esp + 0x30], ecx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x10c]
mov ebx, eax
add esp, 8
mov dword [esp + 0x10], ebx
call fcn.00415900
test ebx, ebx
jne case.0x433bba.16
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x104]
push ebx
mov dword [edx], ecx
mov edi, dword [ebp + 4]
push 0xffffffffffffffff
push ebx
call fcn.0042e460
add esp, 0xc
test eax, eax
mov dword [esp + 0x20], eax
je 0x437921
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x24], ecx
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov dword [edx + 0x28], ecx
jmp case.0x433bba.16
mov eax, dword [esp + 0x14]
mov byte [eax + 0x1e], 1
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 0x1c]
push ecx
call eax
add esp, 4
jmp case.0x433bba.16
mov eax, dword [ebp + 0xc]
mov ebx, dword [esp + 0x104]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x44]
lea edi, [edi + ecx*8]
mov dword [esp + 0x2c], edi
lea esi, [edi + 0x28]
mov dword [esp + 0x30], esi
mov edx, dword [ebp + 4]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x3c], eax
mov edx, dword [eax + 0x24]
mov dword [esp + 0x34], edx
mov eax, dword [edx]
mov dword [esp + 0x38], eax
mov ecx, dword [eax]
mov dword [esp + 0x28], ecx
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x20], ecx
mov eax, dword [edi + 0x10]
mov edi, dword [ebx + 0xc]
mov dword [esp + 0x24], eax
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], edi
mov dword [esp + 0x44], eax
jle 0x4379d9
jmp 0x4379a4
mov esi, dword [esp + 0x30]
lea ecx, [eax + eax*4 + 5]
lea edx, [esi + ecx*8]
mov ecx, dword [esp + 0x48]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + edx*4]
call fcn.0040a400
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x20]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x44], eax
jl 0x4379a0
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x28]
push ecx
mov edi, ebx
mov byte [edi + 0x67], 1
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [esp + 0x34]
push eax
push edx
mov edx, dword [ecx + 0x20]
call edx
mov esi, dword [esp + 0x4c]
mov ebx, eax
add esp, 0x14
mov dword [esp + 0x10], ebx
mov byte [edi + 0x67], 0
call fcn.00415900
test ebx, ebx
jne 0x437a27
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [esp + 0x40], eax
cmp dword [esp + 0x40], 0
je 0x437a38
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
mov eax, dword [esp + 0x3c]
mov byte [eax + 0x1c], 0
jmp case.0x433bba.16
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x104]
mov eax, dword [edx + 0x44]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea edi, [edi + ecx*8]
mov dword [esp + 0x28], edi
cmp byte [esi + 0x1c], 0
je 0x437a74
mov esi, edi
call fcn.00412b00
jmp case.0x433bba.16
mov edx, dword [esi + 0x24]
mov eax, dword [edx]
push 0x40
mov dword [esp + 0x24], eax
mov eax, dword [eax]
lea ecx, [esp + 0x34]
push 0
push ecx
mov dword [esp + 0x30], eax
call sub.msvcrt.dll_memset
mov ebx, dword [esp + 0x34]
add esp, 0xc
lea eax, [esp + 0x38]
call fcn.00415a70
mov edx, dword [esp + 0x54]
and edx, 0xbf01
or edx, 1
mov word [esp + 0x54], dx
mov eax, dword [ebp + 8]
mov edx, dword [esi + 0x24]
push eax
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [eax + 0x2c]
push edx
call ecx
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x110]
add esp, 0xc
mov dword [esp + 0x10], eax
call fcn.00415900
mov eax, dword [esp + 0x64]
test eax, eax
je 0x437aec
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
lea ebx, [esp + 0x38]
call fcn.00415a70
mov ecx, dword [esp + 0x28]
call fcn.0040aa30
test eax, eax
jne 0x43448d
jmp case.0x433bba.16
mov eax, dword [esp + 0x104]
mov ecx, dword [eax + 0x44]
mov dword [esp + 0x28], 0
mov edx, dword [ebp + 4]
mov eax, dword [ecx + edx*4]
mov dword [esp + 0x2c], eax
cmp byte [eax + 0x1c], 0
jne case.0x433bba.16
mov edx, dword [eax + 0x24]
mov ecx, dword [edx]
mov edi, dword [esp + 0x104]
mov dword [esp + 0x20], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x24], ecx
mov byte [edi + 0x67], 1
mov eax, dword [eax + 0x24]
mov ecx, dword [ecx + 0x24]
push eax
call ecx
mov esi, dword [esp + 0x24]
mov ebx, eax
add esp, 4
mov dword [esp + 0x10], ebx
mov byte [edi + 0x67], 0
call fcn.00415900
test ebx, ebx
jne 0x437b8a
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 0x24]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [esp + 0x28], eax
cmp dword [esp + 0x28], 0
jne case.0x433bba.16
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x18], ebp
jmp case.0x433bba.16
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
mov edx, dword [esp + 0xec]
mov dword [esp + 0x20], eax
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x24], ecx
mov ecx, dword [ecx + 4]
mov edx, dword [eax]
mov edx, dword [edx + 0x4c]
push ecx
push eax
call edx
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x10c]
add esp, 8
mov dword [esp + 0x10], eax
call fcn.00415900
mov byte [edi + 0x64], 0
jmp case.0x433bba.16
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + 8]
mov dword [esp + 0x20], esi
mov edx, dword [esi]
mov dword [esp + 0x24], edx
mov eax, dword [ebp + 8]
mov dword [esp + 0x28], eax
cmp dword [edx + 0x34], 0
je case.0x433bba.16
test eax, eax
mov ecx, dword [esp + 0x104]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x38], ecx
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + ecx*4]
lea edi, [edi + ecx*8]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x2c], 0
jle 0x437c73
mov ecx, edi
call fcn.0040a400
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov dword [ecx + eax*4], edx
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x28]
add ecx, 1
add edi, 0x28
cmp ecx, eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x2c], ecx
jl 0x437c37
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov edx, dword [edx + 0x34]
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x3c]
push ecx
push eax
push esi
call edx
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x114]
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x10], ebx
call fcn.00415900
test ebx, ebx
jne 0x437cb8
cmp dword [ebp + 4], ebx
je 0x437cb8
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov dword [eax + 0x30], ecx
mov edx, dword [esp + 0x34]
mov dword [eax + 0x34], edx
add dword [edi + 0x6c], 1
add dword [esp + 0x18], 1
cmp dword [esp + 0x10], 0
jne 0x4344b0
mov eax, dword [esp + 0x14]
jmp 0x433b50
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
mov dword [esi + 0x5c], eax
mov cl, byte [ebp + 8]
mov byte [esi + 0x60], cl
mov dword [esi + 0x58], edx
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x437d2a
mov esi, dword [esp + 0x104]
push eax
mov eax, dword [esp + 0x18]
push 0x465de8
lea edi, [esi + 0x38]
call fcn.00419d00
mov eax, dword [ebp + 0x10]
mov ecx, dword [esi + 0xc8]
mov edx, dword [esp + 0x20]
push eax
push ecx
push edx
mov edx, dword [ebp + 4]
push str.abort_at__d_in___s_:__s
call fcn.0041b030
add esp, 0x18
jmp 0x437d4c
cmp dword [esi + 0x5c], 0
je 0x437d4c
mov eax, dword [esi + 0xc8]
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + 4]
push eax
push ecx
push str.constraint_failed_at__d_in___s_
call fcn.0041b030
add esp, 0xc
push esi
call fcn.0042f680
add esp, 4
cmp eax, 5
jne 0x437d68
mov dword [esi + 0x5c], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf0
ret
mov eax, dword [esi + 0x5c]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf0
ret
lea edx, [esp + 0x30]
push edx
call fcn.00414410
add esp, 4
jmp 0x433e44
mov dword [esp + 0x10], 0x14
jmp 0x437e76
mov eax, dword [esp + 0x18]
mov dword [edi + 0x58], eax
mov eax, 5
mov byte [esi + 0x1c], 0
mov dword [edi + 0x5c], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf0
ret
test ebp, ebp
je 0x437def
mov eax, esi
call fcn.0042cf80
mov edi, dword [esp + 0x104]
mov byte [esi + 0x1c], bl
call fcn.00411250
mov eax, dword [edi + 0x5c]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf0
ret
mov edi, dword [esp + 0x104]
push ebx
mov ecx, edi
call fcn.0041adb0
add esp, 4
test eax, eax
jne 0x4344f8
mov cl, byte [esp + 0x20]
push edi
mov byte [esi + 0x1c], cl
call fcn.0042f680
add esp, 4
cmp eax, 5
jne 0x437dd2
mov edx, dword [esp + 0x18]
sub bl, byte [esp + 0x20]
mov dword [edi + 0x58], edx
mov byte [esi + 0x1c], bl
mov dword [edi + 0x5c], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf0
ret
mov ecx, dword [esp + 0x104]
mov eax, dword [esp + 0x18]
pop edi
pop esi
mov dword [ecx + 0x58], eax
mov eax, 5
pop ebp
mov dword [ecx + 0x5c], eax
pop ebx
add esp, 0xf0
ret
push 0xf8d0
call fcn.0041b210
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x437e76
mov dword [esp + 0x10], 0xd
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x1e], 0
je 0x437e8b
mov eax, 7
mov dword [esp + 0x10], eax
jmp 0x437e9a
mov eax, dword [esp + 0x10]
cmp eax, 0xc0a
je 0x4344b0
call fcn.00409230
mov edi, dword [esp + 0x104]
push eax
push 0x465de8
add edi, 0x38
mov eax, ecx
call fcn.00419d00
add esp, 8
jmp 0x4344b0
mov ecx, dword [esp + 0x104]
mov eax, 9
mov dword [esp + 0x10], eax
mov dword [ecx + 0x5c], eax
call fcn.00409230
push eax
mov eax, dword [esp + 0x18]
push 0x465de8
lea edi, [ecx + 0x38]
call fcn.00419d00
add esp, 8
jmp 0x4344b0