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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xd8
xor eax, eax
mov dword [esp + 0x78], edx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], eax
mov byte [esp + 0x23], al
mov dword [esp + 0x58], eax
cmp dword [edi + 0x24], 0
mov dword [esp + 0x94], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x84], eax
mov eax, dword [edi]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x54], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x64], 0xffffffff
mov dword [esp + 0x34], 0
mov dword [esp + 0x68], eax
jne 0x48176a
cmp byte [eax + 0x51], 0
jne 0x48176a
mov ecx, dword [ebp + 8]
mov dword [esp + 0xac], 0
mov dword [esp + 0x4c], ecx
test ecx, ecx
je 0x47f733
test dword [ecx + 8], 0x200
je 0x47f733
cmp dword [ecx + 0x34], 0
jne 0x47f733
mov edx, dword [ecx]
mov dword [esp + 0x58], edx
mov edx, ecx
mov dword [ecx], 0
mov ecx, eax
push 1
call fcn.0048cad0
add esp, 4
mov dword [esp + 0x4c], 0
mov edx, dword [esp + 0x80]
mov ecx, edi
call fcn.00476560
mov esi, eax
mov dword [esp + 0x24], esi
test esi, esi
je 0x481771
mov ecx, dword [esi + 0x48]
mov edx, 0xfff0bdc0
mov dword [esp + 0x2c], edx
test ecx, ecx
je 0x47f77f
mov eax, dword [esp + 0x68]
xor edx, edx
mov dword [esp + 0x2c], edx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x47f77f
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x47f773
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x68]
add edx, edx
mov ecx, edi
mov eax, dword [eax + 0x10]
push dword [eax + edx*8]
mov edx, 0x12
push 0
push dword [esi]
call fcn.0046b840
add esp, 0xc
test eax, eax
jne 0x481771
mov eax, dword [esi + 0x24]
xor edx, edx
shr eax, 5
and eax, 0xffffff01
mov dword [esp + 0x50], 0
mov dword [esp + 0xa0], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x20]
and eax, 0x40000
or eax, edx
je 0x47f7db
mov edx, esi
mov ecx, edi
call fcn.0049a550
mov edx, eax
xor esi, esi
mov ecx, edx
test edx, edx
je 0x47f7fa
cmp byte [ecx + 8], 0x7b
jne 0x47f7ef
movzx eax, byte [ecx + 9]
or esi, eax
mov ecx, dword [ecx + 0x20]
test ecx, ecx
jne 0x47f7e3
mov dword [esp + 0x50], esi
xor eax, eax
test esi, esi
cmovne eax, edx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x24]
mov edx, eax
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x74], ecx
mov ecx, edi
call fcn.00470310
test eax, eax
jne 0x481771
mov edx, dword [esp + 0x24]
mov ecx, edi
push esi
call fcn.00476690
add esp, 4
test eax, eax
jne 0x481771
mov eax, dword [edi + 8]
mov dword [esp + 0x14], eax
test eax, eax
je 0x47f84e
mov ecx, eax
mov dword [esp + 0x48], ecx
jmp 0x47f879
cmp dword [edi + 0x74], 0
jne 0x47f860
mov eax, dword [edi]
test byte [eax + 0x4c], 8
jne 0x47f860
mov byte [edi + 0x17], 1
mov ecx, edi
call fcn.00442f90
mov dword [esp + 0x14], eax
mov ecx, eax
mov dword [esp + 0x48], ecx
test eax, eax
je 0x481771
cmp byte [edi + 0x12], 0
jne 0x47f886
or dword [eax + 0x98], 0x20
cmp dword [esp + 0x4c], 0
jne 0x47f89c
cmp dword [esp + 0x8c], 0
mov byte [esp + 0x3f], 0
je 0x47f8a1
mov byte [esp + 0x3f], 1
mov esi, dword [edi + 0x74]
test esi, esi
je 0x47f8ac
mov edx, esi
jmp 0x47f8b8
mov esi, edi
mov dword [esp + 0x14], eax
mov edx, edi
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x2c]
mov eax, 1
mov edi, dword [edx + 0x54]
shl eax, cl
test edi, eax
jne 0x47f8e0
bts edi, ecx
mov dword [edx + 0x54], edi
cmp ecx, 1
jne 0x47f8e0
mov ecx, edx
call fcn.00474670
mov ecx, dword [esp + 0x2c]
mov eax, dword [esi + 0x50]
mov edi, dword [esp + 0x1c]
bts eax, ecx
mov dword [esi + 0x50], eax
mov al, byte [esp + 0x3f]
or byte [esi + 0x14], al
cmp dword [ebp + 0xc], 0
mov esi, dword [esp + 0x24]
jne 0x47f91e
push ecx
push dword [ebp + 0x10]
mov edx, esi
mov ecx, edi
push dword [esp + 0x54]
call fcn.00483700
add esp, 0xc
test eax, eax
jne 0x4816c1
mov ecx, dword [esp + 0x2c]
mov edx, ecx
mov ecx, edi
push esi
call fcn.0047f300
mov ecx, dword [edi + 0x2c]
add esp, 4
mov dword [esp + 0x70], eax
lea eax, [ecx + 1]
mov edx, eax
mov dword [esp + 0x6c], eax
movsx eax, word [esi + 0x2a]
inc eax
mov dword [esp + 0x30], edx
add eax, ecx
mov dword [edi + 0x2c], eax
cmp dword [esi + 0x38], 0
je 0x47f958
inc edx
inc eax
mov dword [esp + 0x30], edx
mov dword [edi + 0x2c], eax
mov ecx, dword [esi + 0x24]
lea eax, [edx + 1]
mov edx, dword [ebp + 0xc]
shr ecx, 7
not cl
mov dword [esp + 0x90], eax
and ecx, 0xffffff01
mov dword [esp + 0x28], ecx
test edx, edx
je 0x47fa99
mov eax, dword [edx + 4]
xor ecx, ecx
test eax, eax
jle 0x47f9a2
nop dword [eax + eax]
mov eax, dword [edx]
mov dword [eax + ecx*8 + 4], 0xffffffff
inc ecx
mov eax, dword [edx + 4]
cmp ecx, eax
jl 0x47f990
xor edx, edx
mov dword [esp + 0x38], edx
test eax, eax
jle 0x47fa99
movsx eax, word [esi + 0x2a]
xor edi, edi
test eax, eax
jle 0x47fa4e
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
lea ecx, [eax + edx*8]
mov eax, dword [esi + 4]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x5c], eax
mov esi, dword [ecx]
mov edx, dword [eax]
sub esi, edx
movzx ecx, byte [esi + edx]
movzx eax, byte [edx]
cmp ecx, eax
jne 0x47fa17
test ecx, ecx
jne 0x47fa29
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov dword [eax + 4], edi
movzx eax, dl
mov edx, dword [esp + 0x38]
cmp edx, edi
cmove ecx, eax
movsx eax, word [esi + 0x28]
mov byte [esp + 0x28], cl
cmp edi, eax
jne 0x47fa4e
mov dword [esp + 0x64], edx
mov byte [esp + 0x28], cl
jmp 0x47fa4e
movzx eax, byte [eax + 0x561f98]
movzx ecx, byte [ecx + 0x561f98]
sub ecx, eax
jne 0x47fa2c
inc edx
jmp 0x47f9d7
mov esi, dword [esp + 0x24]
inc edi
mov eax, dword [esp + 0x5c]
add eax, 0x10
mov dword [esp + 0x5c], eax
movsx ecx, word [esi + 0x2a]
cmp edi, ecx
jge 0x47fa4a
mov ecx, dword [esp + 0x44]
jmp 0x47f9d1
mov edx, dword [esp + 0x38]
movsx eax, word [esi + 0x2a]
cmp edi, eax
jl 0x47fa84
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov esi, dword [eax + edx*8]
mov ecx, esi
call fcn.0045dc40
test eax, eax
je 0x47fad9
cmp byte [esp + 0xa0], 0
jne 0x47fad9
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x64], edx
mov byte [esp + 0x28], 0
mov eax, dword [ebp + 0xc]
inc edx
mov dword [esp + 0x38], edx
cmp edx, dword [eax + 4]
jl 0x47f9b0
mov edi, dword [esp + 0x1c]
cmp dword [esp + 0x4c], 0
je 0x480122
mov eax, dword [esp + 0x14]
inc dword [edi + 0x2c]
mov esi, dword [edi + 0x2c]
mov edi, dword [eax + 0x6c]
lea edx, [edi + 1]
cmp dword [eax + 0x70], edi
jg 0x47fafe
push edx
push 0
push esi
mov edx, 0xd
mov ecx, eax
call fcn.00443360
mov eax, dword [esp + 0x54]
add esp, 0xc
add eax, 0x68
mov dword [esp + 0x18], eax
jmp 0x47fb2f
push esi
mov esi, dword [esp + 0x20]
push 0
push dword [esp + 0x88]
push str.table__S_has_no_column_named__s
push esi
call fcn.004205b0
add esp, 0x14
mov byte [esi + 0x11], 1
jmp 0x481771
mov dword [eax + 0x6c], edx
lea ecx, [edi + edi*4]
add eax, 0x68
lea edx, [edi + 1]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
mov dword [eax + ecx*4], 0xd
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x24]
xor eax, eax
cmp byte [esp + 0x28], al
mov edx, dword [esp + 0x4c]
cmovne eax, dword [esp + 0x90]
mov dword [esp + 0xb0], eax
mov byte [esp + 0xa8], 0xd
mov dword [esp + 0xac], esi
mov dword [esp + 0xb8], 0
movsx eax, word [ecx + 0x2a]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xb4], eax
lea eax, [esp + 0xa8]
push eax
call fcn.004971a0
mov ecx, dword [esp + 0xb4]
add esp, 4
mov dword [esp + 0x94], ecx
test eax, eax
jne 0x481771
mov eax, dword [esp + 0x68]
cmp byte [eax + 0x51], 0
jne 0x481771
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x24], 0
jne 0x481771
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jg 0x47fbdd
push 0
push 0
push esi
mov esi, dword [esp + 0x20]
mov edx, 0x43
mov ecx, esi
call fcn.00443360
add esp, 0xc
jmp 0x47fc13
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x14]
mov dword [eax + ecx*4], 0x43
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0xc]
mov byte [eax + 0x13], 0
mov eax, dword [esi + 0xc]
mov dword [eax + 0x1c], 0
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x51], 0
je 0x47fc36
mov eax, 0x57bbe8
jmp 0x47fc4a
test edi, edi
lea eax, [edx - 1]
cmovns eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
lea eax, [eax + ecx*4]
cmp dword [esp + 0x8c], 0
mov dword [eax + 8], edx
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp + 0x40], eax
jne 0x47fe12
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 8]
mov dword [esp + 0x44], eax
test eax, eax
jne 0x47fc94
cmp dword [ecx + 0x74], eax
jne 0x47fc87
mov eax, dword [ecx]
test byte [eax + 0x4c], 8
jne 0x47fc87
mov byte [ecx + 0x17], 1
call fcn.00442f90
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x24]
mov edi, dword [eax + 0x6c]
cmp dword [edx + 0x38], 0
je 0x47fcc1
mov edx, dword [edx + 0x40]
test edx, edx
je 0x47fcc3
mov eax, dword [ecx]
nop word [eax + eax]
cmp dword [edx], eax
je 0x47fcbb
mov edx, dword [edx + 0x18]
test edx, edx
jne 0x47fcb0
mov eax, dword [esp + 0x44]
jmp 0x47fcc3
xor edx, edx
mov esi, 1
cmp edi, esi
jle 0x47fd49
mov eax, dword [eax]
mov al, byte [eax + 0x51]
mov byte [esp + 0x3f], al
test al, al
je 0x47fce0
mov eax, 0x57bbe8
jmp 0x47fcf5
test esi, esi
lea eax, [edi - 1]
cmovns eax, esi
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x68]
lea eax, [eax + ecx*4]
mov cl, byte [eax]
cmp cl, 0x61
jne 0x47fd32
mov ecx, dword [esp + 0x2c]
cmp dword [eax + 0xc], ecx
jne 0x47fd40
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x24]
cmp ecx, dword [eax + 0x1c]
je 0x47fe0e
mov eax, dword [eax + 8]
test eax, eax
je 0x47fd40
nop dword [eax]
cmp ecx, dword [eax + 0x2c]
je 0x47fe0e
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x47fd20
jmp 0x47fd40
cmp cl, 0xa3
jne 0x47fd40
cmp dword [eax + 0x10], edx
je 0x47fe0e
mov al, byte [esp + 0x3f]
inc esi
cmp esi, edi
jl 0x47fcd5
mov eax, dword [esp + 0x40]
cmp dword [ebp + 0xc], 0
mov ecx, dword [esp + 0x24]
jne 0x47fd63
test eax, eax
jle 0x47fd63
movsx eax, word [ecx + 0x28]
mov dword [esp + 0x64], eax
movsx edx, word [ecx + 0x2a]
xor edi, edi
xor eax, eax
mov dword [esp + 0x44], edi
cmp edx, 2
jl 0x4801a9
mov eax, dword [ecx + 4]
lea esi, [edx - 2]
shr esi, 1
inc esi
mov dword [esp + 0x9c], eax
lea ecx, [eax + 0x1f]
lea eax, [esi + esi]
mov dword [esp + 0x88], eax
movzx eax, byte [ecx - 0x10]
lea ecx, [ecx + 0x20]
shr eax, 1
and eax, 1
add edi, eax
movzx eax, byte [ecx - 0x20]
shr eax, 1
and eax, 1
add dword [esp + 0x44], eax
sub esi, 1
jne 0x47fd95
mov eax, dword [esp + 0x88]
cmp eax, edx
jl 0x4801d0
xor eax, eax
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jne 0x4801e8
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x48020b
sub edx, dword [esp + 0x44]
sub edx, edi
sub edx, eax
cmp ecx, edx
je 0x48020b
push ecx
push edx
push 0
push dword [esp + 0x8c]
push str.table__S_has__d_columns_but__d_values_were_supplied
push dword [esp + 0x30]
call fcn.004205b0
add esp, 0x18
jmp 0x481771
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x23], 1
mov eax, dword [edx + 0x28]
mov cl, byte [edx + 0x13]
mov dword [esp + 0x34], eax
inc eax
mov dword [edx + 0x28], eax
test cl, cl
jne 0x47fe3b
inc dword [edx + 0x2c]
mov edi, dword [edx + 0x2c]
inc dword [edx + 0x2c]
mov eax, dword [edx + 0x2c]
jmp 0x47fe64
sub cl, 1
movzx eax, cl
mov byte [edx + 0x13], cl
mov edi, dword [edx + eax*4 + 0x94]
jne 0x47fe55
inc dword [edx + 0x2c]
mov eax, dword [edx + 0x2c]
jmp 0x47fe64
dec cl
movzx eax, cl
mov byte [edx + 0x13], cl
mov eax, dword [edx + eax*4 + 0x94]
mov ecx, dword [esi + 0x6c]
mov dword [esp + 0x2c], eax
cmp dword [esi + 0x70], ecx
jg 0x47fe8b
push 0
push dword [esp + 0x44]
mov edx, 0x70
mov ecx, esi
push dword [esp + 0x3c]
call fcn.00443360
add esp, 0xc
jmp 0x47fec1
mov edx, dword [esp + 0x34]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x70
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x14]
mov esi, dword [esi + 0x6c]
mov edx, dword [esp + 0xac]
mov dword [esp + 0x88], esi
cmp dword [ecx + 0x70], esi
jg 0x47fef1
push 0
push 0
push edx
mov edx, 0xe
call fcn.00443360
add esp, 0xc
mov esi, eax
jmp 0x47ff2a
lea eax, [esi + 1]
mov dword [ecx + 0x6c], eax
lea ecx, [esi + esi*4]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x88]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0xe
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x6c]
cmp dword [eax + 0x70], ecx
jg 0x47ff54
mov edx, dword [esp + 0x94]
mov ecx, eax
push edi
push dword [esp + 0x44]
push edx
mov edx, 0x5c
call fcn.00443360
add esp, 0xc
jmp 0x47ff8d
mov edx, dword [esp + 0x14]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edx + 0x6c], eax
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
mov edx, dword [esp + 0x94]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x5c
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x6c]
cmp dword [eax + 0x70], ecx
jg 0x47ffb9
mov ecx, dword [esp + 0x2c]
mov edx, 0x79
push 0
push ecx
push dword [esp + 0x3c]
mov ecx, eax
call fcn.00443360
mov edx, dword [esp + 0x38]
add esp, 0xc
jmp 0x47fff3
mov edx, dword [esp + 0x14]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edx + 0x6c], eax
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
mov edx, dword [esp + 0x34]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4], 0x79
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x6c]
cmp dword [eax + 0x70], ecx
jg 0x480016
push edx
push edi
push dword [esp + 0x3c]
mov edx, 0x7a
mov ecx, eax
call fcn.00443360
add esp, 0xc
jmp 0x48004c
mov edx, dword [esp + 0x14]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edx + 0x6c], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
mov eax, dword [eax]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4], 0x7a
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x6c]
cmp dword [eax + 0x70], ecx
jg 0x48006e
push 0
push esi
push 0
mov edx, 0xb
mov ecx, eax
call fcn.00443360
add esp, 0xc
jmp 0x4800a4
mov edx, dword [esp + 0x14]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edx + 0x6c], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x6c]
mov eax, dword [eax]
cmp byte [eax + 0x51], 0
je 0x4800ba
mov eax, 0x57bbe8
jmp 0x4800ce
test esi, esi
lea eax, [edx - 1]
cmovns eax, esi
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
test edi, edi
je 0x4800f5
mov ecx, dword [esp + 0x1c]
mov al, byte [ecx + 0x13]
cmp al, 8
jae 0x4800f1
movzx eax, al
mov dword [ecx + eax*4 + 0x94], edi
mov edi, ecx
inc byte [edi + 0x13]
jmp 0x4800f9
mov edi, ecx
jmp 0x4800f9
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x47fd49
mov al, byte [edi + 0x13]
cmp al, 8
jae 0x47fd49
movzx eax, al
mov dword [edi + eax*4 + 0x94], ecx
inc byte [edi + 0x13]
jmp 0x47fd49
mov ecx, dword [esp + 0x58]
xorps xmm0, xmm0
movaps xmmword [esp + 0xc0], xmm0
movaps xmmword [esp + 0xd0], xmm0
mov dword [esp + 0xc0], edi
mov dword [esp + 0x34], 0xffffffff
test ecx, ecx
je 0x48019e
mov eax, dword [ecx]
xor edi, edi
mov dword [esp + 0x40], eax
test eax, eax
jle 0x47fd49
lea esi, [ecx + 4]
nop
mov edx, dword [esi]
lea ecx, [esp + 0xc0]
call fcn.0045a5b0
test eax, eax
jne 0x480183
mov ecx, dword [esp + 0x58]
inc edi
add esi, 0x18
cmp edi, dword [ecx]
jl 0x480160
jmp 0x47fd49
mov edi, dword [esp + 0x68]
mov ecx, edi
mov edx, dword [esp + 0x80]
call fcn.00473d20
mov eax, dword [esp + 0x58]
jmp 0x48178b
xor eax, eax
mov dword [esp + 0x40], eax
jmp 0x47fd4d
test edx, edx
jle 0x47fdc4
mov ecx, dword [ecx + 4]
add eax, eax
movzx eax, byte [ecx + eax*8 + 0xf]
shr eax, 1
and eax, 1
jmp 0x47fdc6
mov ecx, dword [esp + 0x9c]
add eax, eax
movzx eax, byte [ecx + eax*8 + 0xf]
shr eax, 1
and eax, 1
jmp 0x47fdc6
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x40]
cmp ecx, eax
je 0x48020b
push eax
push ecx
push str._d_values_for__d_columns
push dword [esp + 0x28]
call fcn.004205b0
add esp, 0x10
jmp 0x481771
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x1c]
mov eax, dword [eax + 0x20]
and eax, 0x80
or eax, 0
je 0x48028c
cmp byte [esi + 0x12], 0
jne 0x48028c
cmp dword [esi + 0x78], 0
mov edi, dword [esp + 0x14]
jne 0x480290
inc dword [esi + 0x2c]
mov ecx, dword [edi + 0x6c]
mov edx, dword [esi + 0x2c]
mov dword [esp + 0xa4], edx
cmp dword [edi + 0x70], ecx
jg 0x48025b
push 0
push edx
push 0
mov edx, 0x46
mov ecx, edi
call fcn.00443360
add esp, 0xc
jmp 0x480290
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x480290
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x74], 0
jne 0x48033b
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x58]
mov ecx, esi
push eax
push 0
push 0xffffffffffffffff
push 0
push 0x62
call fcn.004833b0
mov ecx, dword [esp + 0x80]
mov esi, eax
push 0
lea eax, [esi*4 + 8]
push eax
call fcn.0041ca80
add esp, 0x20
mov dword [esp + 0x84], eax
test eax, eax
je 0x481771
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov edx, dword [eax + 8]
test esi, esi
jle 0x480327
mov edi, dword [esp + 0x1c]
nop word [eax + eax]
inc dword [edi + 0x2c]
mov eax, dword [edi + 0x2c]
mov edi, dword [esp + 0x84]
mov dword [edi + ecx*4], eax
inc ecx
mov edi, dword [esp + 0x1c]
movzx eax, word [edx + 0x34]
add dword [edi + 0x2c], eax
mov edx, dword [edx + 0x14]
cmp ecx, esi
jl 0x480300
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x84]
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp + 0x14]
test ecx, ecx
je 0x4803b8
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x38], 0
je 0x480361
push dword [eax]
push str.UPSERT_not_implemented_for_virtual_table___s_
push esi
call fcn.004205b0
add esp, 0xc
jmp 0x481771
mov edx, dword [ecx]
mov ecx, esi
call fcn.00471fa0
test eax, eax
jne 0x481771
mov edx, dword [esp + 0x80]
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp + 0x14]
mov ecx, dword [esp + 0x54]
mov dword [edx + 0x34], ecx
mov dword [eax + 0x14], edx
mov eax, dword [esp + 0x90]
mov dword [edi + 0x18], eax
mov eax, edi
mov dword [eax + 0x1c], ecx
mov ecx, edi
mov eax, dword [esp + 0x98]
mov edi, dword [esp + 0x14]
cmp dword [ecx], 0
mov dword [ecx + 0x20], eax
je 0x4803b8
push ecx
mov ecx, esi
call fcn.0049f370
add esp, 4
cmp byte [esp + 0x23], 0
je 0x48042e
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x7c], ecx
cmp dword [edi + 0x70], ecx
jg 0x4803f2
push 0
push 0
push dword [esp + 0x3c]
mov edx, 0x24
mov ecx, edi
call fcn.00443360
mov ecx, dword [edi + 0x6c]
add esp, 0xc
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], ecx
jmp 0x48049f
mov edx, dword [esp + 0x34]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x78], ecx
jmp 0x48049f
cmp dword [esp + 0x4c], 0
je 0x48049f
mov edx, dword [edi + 0x6c]
mov esi, dword [esp + 0xac]
mov dword [esp + 0x7c], edx
cmp dword [edi + 0x70], edx
jg 0x480464
push 0
push 0
push esi
mov edx, 0xe
mov ecx, edi
call fcn.00443360
mov edx, eax
add esp, 0xc
mov dword [esp + 0x7c], edx
jmp 0x480497
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x14]
mov dword [eax + ecx*4], 0xe
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x78], edx
dec dword [esi + 0x38]
test byte [esp + 0x50], 1
mov eax, dword [esi + 0x38]
mov dword [esp + 0x44], eax
je 0x480a17
mov eax, dword [esp + 0x24]
movsx ecx, word [eax + 0x2a]
inc ecx
cmp ecx, 1
jne 0x4804ea
mov al, byte [esi + 0x13]
test al, al
jne 0x4804d5
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x18], eax
jmp 0x48051e
dec al
mov byte [esi + 0x13], al
movzx eax, al
mov eax, dword [esi + eax*4 + 0x94]
mov dword [esp + 0x18], eax
jmp 0x48051e
mov eax, dword [esp + 0x1c]
mov esi, dword [esi + 0x20]
mov dword [esp + 0x18], esi
mov edx, dword [eax + 0x1c]
cmp ecx, edx
jg 0x48050d
lea eax, [ecx + esi]
sub edx, ecx
mov esi, dword [esp + 0x1c]
mov dword [esi + 0x20], eax
mov dword [esi + 0x1c], edx
jmp 0x48051e
mov esi, eax
mov eax, dword [esi + 0x2c]
lea edx, [eax + 1]
add eax, ecx
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x64]
test eax, eax
jns 0x480594
mov ecx, dword [edi + 0x6c]
lea esi, [edi + 0x6c]
lea eax, [edi + 0x70]
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], eax
cmp dword [eax], ecx
jg 0x48055b
push 0
push dword [esp + 0x1c]
mov edx, 0x46
mov ecx, edi
push 0xffffffffffffffff
call fcn.00443360
mov esi, dword [esp + 0x24]
add esp, 0xc
jmp 0x480781
mov edx, dword [esp + 0x18]
lea eax, [ecx + 1]
mov dword [esi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov esi, edx
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 4], 0xffffffff
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x480781
cmp byte [esp + 0x23], 0
je 0x480616
mov ecx, dword [edi + 0x6c]
lea edx, [edi + 0x6c]
lea eax, [edi + 0x70]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
cmp dword [eax], ecx
jg 0x4805dc
push dword [esp + 0x18]
mov edx, 0x5a
mov ecx, edi
push dword [esp + 0x68]
push dword [esp + 0x3c]
call fcn.00443360
mov esi, dword [esp + 0x54]
add esp, 0xc
mov edx, dword [esp + 0x28]
add esi, 0x68
mov eax, dword [esp + 0x2c]
jmp 0x480644
lea eax, [ecx + 1]
mov dword [edx], eax
lea esi, [edi + 0x68]
mov eax, dword [esi]
lea ecx, [ecx + ecx*4]
mov edi, dword [esp + 0x34]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x64]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x18]
mov dword [eax + ecx*4], 0x5a
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x2c]
jmp 0x480644
push dword [esp + 0x18]
lea edx, [eax + eax*2]
mov ecx, esi
mov eax, dword [esp + 0x5c]
mov edx, dword [eax + edx*8 + 4]
call fcn.00462ff0
mov ecx, dword [esp + 0x4c]
add esp, 4
lea edx, [ecx + 0x6c]
lea eax, [ecx + 0x70]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
lea esi, [ecx + 0x68]
mov edi, dword [edx]
cmp dword [eax], edi
jg 0x480667
mov ecx, dword [esp + 0x14]
mov edx, 0x33
push 0
push 0
push dword [esp + 0x20]
call fcn.00443360
add esp, 0xc
mov edi, eax
jmp 0x480698
lea eax, [edi + 1]
mov dword [edx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi]
mov edx, dword [esp + 0x18]
mov dword [eax + ecx*4], 0x33
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x4806c1
mov ecx, dword [esp + 0x14]
mov edx, 0x46
push 0
push dword [esp + 0x1c]
push 0xffffffffffffffff
call fcn.00443360
add esp, 0xc
jmp 0x4806f2
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi]
mov edx, dword [esp + 0x18]
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 4], 0xffffffff
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov eax, dword [eax]
mov edx, dword [edx]
cmp byte [eax + 0x51], 0
je 0x48070b
mov eax, 0x57bbe8
jmp 0x48071b
test edi, edi
lea eax, [edx - 1]
cmovns eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [esi]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x2c]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
cmp dword [edi], ecx
jg 0x480748
mov esi, dword [esp + 0x18]
mov edx, 0xf
mov ecx, dword [esp + 0x14]
push 0
push 0
push esi
call fcn.00443360
add esp, 0xc
jmp 0x480781
lea eax, [ecx + 1]
mov dword [esp + 0x2c], edi
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x28], edx
mov dword [eax + ecx*4], 0xf
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x24]
xor eax, eax
xor edi, edi
cmp ax, word [edx + 0x2a]
jge 0x48099a
mov eax, dword [esp + 0x18]
xor ecx, ecx
inc esi
mov dword [esp + 0x50], ecx
not eax
mov dword [esp + 0x60], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x5c], eax
nop dword [eax]
cmp dword [ebp + 0xc], 0
je 0x4807ea
mov edx, dword [ebp + 0xc]
xor edi, edi
mov edx, dword [edx + 4]
test edx, edx
jle 0x4807e6
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx]
add ecx, 4
nop word [eax + eax]
add eax, esi
cmp dword [ecx], eax
je 0x4807e2
mov eax, dword [esp + 0x5c]
inc edi
add ecx, 8
cmp edi, edx
jl 0x4807d0
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x24]
cmp byte [esp + 0x23], 0
jne 0x4807f8
cmp dword [esp + 0x58], 0
je 0x480804
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x48081d
cmp edi, dword [eax + 4]
jl 0x48081d
mov edx, dword [edx + 4]
push esi
mov edx, dword [edx + ecx + 4]
mov ecx, dword [esp + 0x20]
call fcn.00462ff0
add esp, 4
jmp 0x48095c
cmp byte [esp + 0x23], 0
je 0x480881
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x48084e
mov ecx, dword [esp + 0x14]
mov edx, 0x5a
push esi
push edi
push dword [esp + 0x3c]
call fcn.00443360
add esp, 0xc
jmp 0x48095c
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4], 0x5a
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x48095c
mov ecx, dword [esp + 0x58]
lea eax, [edi + edi*2]
push dword [esp + 0x38]
mov esi, dword [ecx + eax*8 + 4]
mov edx, esi
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 8]
mov dword [esp + 0xa0], eax
call fcn.00462ff0
mov eax, dword [esp + 0x20]
add esp, 4
mov ecx, dword [esp + 0x9c]
inc dword [eax + 0x2c]
mov edx, dword [ecx + 0x6c]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x88], eax
cmp dword [ecx + 0x70], edx
jg 0x4808e5
push 0
push eax
push dword [esp + 0x40]
mov edx, 0x4e
call fcn.00443360
mov edx, dword [esp + 0x94]
add esp, 0xc
jmp 0x480922
lea eax, [edx + 1]
mov dword [ecx + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0x38]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x88]
mov dword [eax + ecx*4], 0x4e
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
test esi, esi
je 0x480946
mov eax, dword [esi + 4]
test eax, 0x41000
je 0x480946
test eax, 0x40000
je 0x48093f
mov eax, dword [esi + 0x14]
mov esi, dword [eax + 4]
jmp 0x480942
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x480926
mov al, byte [esi]
and dword [esi + 4], 0xffffefff
mov byte [esi + 0x26], al
mov byte [esi], 0xab
mov dword [esi + 0x1c], edx
mov esi, dword [esp + 0x38]
add dword [esp + 0x50], 0x10
lea eax, [edi + 1]
mov edx, dword [esp + 0x24]
inc esi
cmp dword [ebp + 0xc], 0
mov ecx, dword [esp + 0x5c]
cmovne eax, edi
mov dword [esp + 0x38], esi
mov edi, eax
add ecx, esi
movsx eax, word [edx + 0x2a]
cmp ecx, eax
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x50]
jl 0x4807b0
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x60]
jmp 0x48099d
lea eax, [esi + 1]
cmp dword [esp + 0x74], 0
jne 0x4809b1
mov ecx, dword [esp + 0x14]
push eax
call fcn.0047f0d0
add esp, 4
mov edx, dword [esp + 0x24]
mov ecx, esi
push dword [esp + 0x44]
mov edi, dword [esp + 0x20]
push dword [ebp + 0x10]
movsx eax, word [edx + 0x2a]
sub ecx, eax
dec ecx
push ecx
push edx
mov edx, dword [esp + 0x9c]
mov ecx, edi
push 1
push 0
push 0x7b
call fcn.0049c790
mov ecx, dword [esp + 0x40]
add esp, 0x1c
movsx eax, word [ecx + 0x2a]
inc eax
cmp eax, 1
jne 0x480a0a
test esi, esi
je 0x480a1f
mov al, byte [edi + 0x13]
cmp al, 8
jae 0x480a1f
movzx eax, al
mov dword [edi + eax*4 + 0x94], esi
inc byte [edi + 0x13]
jmp 0x480a1f
cmp eax, dword [edi + 0x1c]
jle 0x480a1f
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], esi
jmp 0x480a1f
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
cmp dword [esp + 0x74], 0
jne 0x481468
cmp dword [ecx + 0x38], 0
mov esi, dword [esp + 0x14]
je 0x480a8c
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x480a55
push 0
push dword [esp + 0x70]
mov edx, 0x49
mov ecx, esi
push 0
call fcn.00443360
add esp, 0xc
jmp 0x480a88
mov edx, dword [esp + 0x6c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x49
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x64]
test eax, eax
js 0x480e44
cmp byte [esp + 0x23], 0
je 0x480b0b
mov edi, dword [esp + 0x14]
add esi, 0x6c
lea edx, [edi + 0x70]
mov dword [esp + 0x28], edx
mov ecx, dword [esi]
cmp dword [edx], ecx
jg 0x480ad4
push dword [esp + 0x30]
mov edx, 0x5a
mov ecx, edi
push eax
push dword [esp + 0x3c]
call fcn.00443360
mov edx, dword [esp + 0x34]
add esp, 0xc
jmp 0x480c51
lea eax, [ecx + 1]
mov dword [esi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x34]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x64]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x5a
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x480c4d
cmp dword [esp + 0x4c], 0
je 0x480b89
mov edi, dword [esp + 0x94]
add esi, 0x6c
add edi, eax
mov eax, dword [esp + 0x14]
lea edx, [eax + 0x70]
mov dword [esp + 0x28], edx
mov ecx, dword [esi]
cmp dword [edx], ecx
jg 0x480b4e
push 0
push dword [esp + 0x34]
mov edx, 0x4e
mov ecx, eax
push edi
call fcn.00443360
mov edx, dword [esp + 0x34]
add esp, 0xc
jmp 0x480c51
mov edx, dword [esp + 0x28]
lea eax, [ecx + 1]
mov dword [esi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x4e
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x480c4d
mov edx, dword [esp + 0x58]
lea eax, [eax + eax*2]
mov edx, dword [edx + eax*8 + 4]
cmp byte [edx], 0x75
jne 0x480c35
cmp dword [ecx + 0x38], 0
jne 0x480c35
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x480be7
mov edx, dword [esp + 0x70]
mov ecx, esi
push edx
push dword [esp + 0x34]
mov edx, dword [esp + 0x5c]
push edx
mov edx, 0x79
call fcn.00443360
mov ecx, dword [esp + 0x54]
add esp, 0xc
mov dword [esp + 0x28], 1
lea eax, [ecx + 0x70]
mov dword [esp + 0x2c], eax
lea edi, [ecx + 0x6c]
jmp 0x480f47
mov edx, dword [esp + 0x54]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [esp + 0x28], 1
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x30]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x70]
mov dword [eax + ecx*4], 0x79
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x48]
lea eax, [ecx + 0x70]
mov dword [esp + 0x2c], eax
lea edi, [ecx + 0x6c]
jmp 0x480f47
push dword [esp + 0x30]
mov ecx, edi
call fcn.00462ff0
mov eax, dword [esp + 0x4c]
add esp, 4
lea esi, [eax + 0x6c]
lea edx, [eax + 0x70]
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x24]
mov edi, dword [esi]
mov eax, dword [edx]
cmp dword [ecx + 0x38], 0
jne 0x480d6b
cmp eax, edi
jg 0x480c8f
mov ecx, dword [esp + 0x14]
mov edx, 0x33
push 0
push 0
push dword [esp + 0x38]
call fcn.00443360
mov edi, eax
add esp, 0xc
mov eax, dword [esp + 0x48]
add eax, 0x68
mov dword [esp + 0x38], eax
jmp 0x480ccb
mov edx, dword [esp + 0x30]
lea eax, [edi + 1]
mov dword [esi], eax
lea ecx, [edi + edi*4]
mov eax, dword [esp + 0x14]
add eax, 0x68
mov dword [esp + 0x38], eax
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x33
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x28]
mov ecx, dword [esi]
cmp dword [edx], ecx
jg 0x480cf6
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x14]
push edx
push dword [esp + 0x34]
mov edx, dword [esp + 0x5c]
push edx
mov edx, 0x79
call fcn.00443360
add esp, 0xc
jmp 0x480d2b
mov edx, dword [esp + 0x38]
lea eax, [ecx + 1]
mov dword [esi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx]
mov edx, dword [esp + 0x54]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x30]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x70]
mov dword [eax + ecx*4], 0x79
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [esi]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x60], ecx
mov eax, dword [eax]
cmp byte [eax + 0x51], 0
je 0x480d4e
mov eax, 0x57bbe8
mov dword [eax + 8], ecx
jmp 0x480dd1
lea eax, [ecx - 1]
test edi, edi
cmovns eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [edx]
mov edx, dword [esp + 0x38]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x60]
mov dword [eax + 8], ecx
jmp 0x480dd1
lea ecx, [edi + 2]
mov dword [esp + 0x60], ecx
cmp eax, edi
jg 0x480d99
mov edi, dword [esp + 0x14]
mov edx, 0x32
push 0
push ecx
push dword [esp + 0x38]
mov ecx, edi
call fcn.00443360
mov edx, dword [esp + 0x54]
add esp, 0xc
add edx, 0x68
jmp 0x480dd5
mov edx, dword [esp + 0x14]
lea eax, [edi + 1]
mov dword [esi], eax
lea ecx, [edi + edi*4]
mov edi, dword [esp + 0x30]
add edx, 0x68
mov eax, dword [edx]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x60]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
mov ecx, dword [esi]
cmp dword [eax], ecx
jg 0x480df8
push 0
push 0
push dword [esp + 0x38]
mov edx, 0xf
mov ecx, edi
call fcn.00443360
add esp, 0xc
jmp 0x480e29
lea eax, [ecx + 1]
mov dword [esi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx]
mov edx, dword [esp + 0x30]
mov dword [eax + ecx*4], 0xf
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x28], 0
lea eax, [ecx + 0x70]
mov dword [esp + 0x2c], eax
lea edi, [ecx + 0x6c]
jmp 0x480f47
cmp dword [ecx + 0x38], 0
jne 0x480ed3
cmp byte [esp + 0xa0], 0
jne 0x480ed3
mov ecx, dword [esi + 0x6c]
lea edi, [esi + 0x6c]
lea edx, [esi + 0x70]
mov dword [esp + 0x18], edi
mov dword [esp + 0x2c], edx
cmp dword [edx], ecx
jg 0x480e97
mov edx, dword [esp + 0x70]
mov ecx, esi
push edx
push dword [esp + 0x34]
mov edx, dword [esp + 0x5c]
push edx
mov edx, 0x79
call fcn.00443360
add esp, 0xc
mov dword [esp + 0x28], 1
jmp 0x480f4b
mov edx, dword [esp + 0x54]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [esp + 0x28], 1
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x30]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x70]
mov dword [eax + ecx*4], 0x79
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x480f4b
mov ecx, dword [esi + 0x6c]
lea edi, [esi + 0x6c]
lea edx, [esi + 0x70]
mov dword [esp + 0x18], edi
mov dword [esp + 0x2c], edx
cmp dword [edx], ecx
jg 0x480f09
push 0
push dword [esp + 0x34]
mov edx, 0x49
mov ecx, esi
push 0
call fcn.00443360
add esp, 0xc
mov dword [esp + 0x28], 0
jmp 0x480f4b
lea eax, [ecx + 1]
mov dword [esp + 0x2c], edx
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x28], 0
mov dword [eax + ecx*4], 0x49
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0x70]
test edx, edx
jle 0x480fa9
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 8]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x480f7a
push 0
push dword [esp + 0x34]
mov ecx, esi
push edx
mov edx, 0x97
call fcn.00443360
add esp, 0xc
jmp 0x480fa9
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x97
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x24]
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x74], 0
mov dword [esp + 0x50], ecx
cmp dx, word [eax + 0x2a]
jge 0x481261
mov dword [esp + 0x38], edx
nop dword [eax + eax]
mov esi, dword [esp + 0x90]
movsx eax, word [eax + 0x28]
add esi, ecx
mov dword [esp + 0x5c], esi
cmp ecx, eax
jne 0x481041
mov eax, dword [esp + 0x2c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x48100a
mov ecx, dword [esp + 0x14]
mov edx, 0x4a
push 0
push 0
push esi
call fcn.00443360
add esp, 0xc
jmp 0x48123b
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4], 0x4a
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x48123b
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x48107b
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x74]
mov eax, dword [eax + 4]
mov cl, byte [eax + edx + 0xf]
and cl, 2
je 0x481061
or edx, 0xffffffff
jmp 0x481067
mov edx, dword [esp + 0x50]
sub edx, esi
lea eax, [esi + 1]
test cl, cl
cmove eax, esi
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0xc]
lea esi, [eax + 4]
jmp 0x4810a7
mov edi, dword [eax + 4]
lea ecx, [eax + 4]
xor edx, edx
test edi, edi
jle 0x4810b5
mov eax, dword [eax]
add eax, 4
nop dword [eax]
mov edi, dword [esp + 0x50]
mov esi, ecx
cmp dword [eax], edi
mov edi, dword [ecx]
je 0x4810a4
inc edx
add eax, 8
cmp edx, edi
jl 0x481090
mov eax, dword [ebp + 0xc]
mov ecx, esi
test edx, edx
js 0x4811ba
mov esi, dword [esp + 0x5c]
cmp dword [esp + 0x40], 0
je 0x4811ba
test eax, eax
je 0x4810cc
cmp edx, dword [ecx]
jge 0x4811ba
cmp byte [esp + 0x23], 0
je 0x481130
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x4810fd
mov ecx, dword [esp + 0x14]
push esi
push edx
push dword [esp + 0x3c]
mov edx, 0x5a
call fcn.00443360
add esp, 0xc
jmp 0x48123b
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x34]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4], 0x5a
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x481237
cmp dword [esp + 0x4c], 0
je 0x4811a8
mov eax, dword [esp + 0x94]
cmp eax, dword [esp + 0x90]
je 0x481237
mov edi, dword [esp + 0x18]
add edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x481175
mov ecx, dword [esp + 0x14]
push 0
push esi
push edx
mov edx, 0x4f
call fcn.00443360
add esp, 0xc
jmp 0x48123b
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4], 0x4f
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x481237
mov eax, dword [esp + 0x58]
lea edx, [edx + edx*2]
mov ecx, dword [esp + 0x1c]
push esi
mov edx, dword [eax + edx*8 + 4]
jmp 0x48122f
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x38]
mov eax, dword [eax + 4]
cmp byte [edi + 0x17], 0
mov esi, dword [eax + esi + 4]
je 0x481227
mov byte [esp + 0xd4], 2
mov dword [esp + 0xc4], fcn.0045d6f0
mov dword [esp + 0xc8], 0x45d570
mov dword [esp + 0xd8], 0
test esi, esi
je 0x481218
mov edx, esi
lea ecx, [esp + 0xc0]
call fcn.00457870
cmp byte [esp + 0xd4], 0
je 0x481227
push dword [esp + 0x5c]
mov edx, esi
mov ecx, edi
call fcn.00462e40
jmp 0x481234
push dword [esp + 0x5c]
mov edx, esi
mov ecx, edi
call fcn.00462ff0
add esp, 4
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x50]
add dword [esp + 0x38], 0x10
inc ecx
mov edx, dword [esp + 0x38]
movsx eax, word [eax + 0x2a]
cmp ecx, eax
mov dword [esp + 0x50], ecx
mov eax, dword [esp + 0x24]
jl 0x480fd0
mov edi, dword [esp + 0x24]
cmp dword [edi + 0x38], 0
je 0x48139b
mov esi, dword [edi + 0x40]
test esi, esi
je 0x48128b
mov eax, dword [esp + 0x68]
nop word [eax + eax]
cmp dword [esi], eax
je 0x48128b
mov esi, dword [esi + 0x18]
test esi, esi
jne 0x481280
mov ecx, dword [esp + 0x1c]
mov edx, edi
call fcn.004a2270
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
movsx edi, word [edi + 0x2a]
add edi, 2
mov edx, dword [ecx]
mov dword [esp + 0x60], edx
cmp dword [eax], edx
jg 0x4812d2
push dword [esp + 0x6c]
mov ecx, dword [esp + 0x18]
mov edx, 0xa
push edi
push 1
call fcn.00443360
mov edi, dword [esp + 0x54]
add esp, 0xc
mov edx, eax
add edi, 0x68
jmp 0x481318
lea eax, [edx + 1]
mov dword [ecx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x60]
add eax, 0x68
mov dword [esp + 0xa0], eax
mov eax, dword [eax]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x6c]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0xa0]
mov dword [eax + ecx*4], 0xa
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
cmp byte [eax + 0x51], 0
jne 0x48135f
test edx, edx
jns 0x48132f
mov edx, dword [esp + 0x18]
mov edx, dword [edx]
dec edx
mov eax, dword [edi]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x481351
mov ecx, dword [esp + 0x14]
mov edx, eax
push 0xfffffffffffffff4
push esi
call fcn.00444540
add esp, 8
jmp 0x48135f
test esi, esi
je 0x48135f
mov dword [eax + 0x10], esi
mov byte [eax + 1], 0xf4
inc dword [esi + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
jle 0x481384
mov ecx, dword [ebp + 0x10]
mov esi, 2
movzx edx, cx
cmp ecx, 0xb
lea ecx, [eax + eax*4]
mov eax, dword [edi]
cmove edx, esi
mov word [eax + ecx*4 - 0x12], dx
mov esi, dword [esp + 0x1c]
mov ecx, esi
mov eax, dword [esi + 0x74]
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x15], 1
jmp 0x48146c
push dword [ebp + 0x14]
mov esi, dword [esp + 0x20]
lea eax, [esp + 0x64]
push 0
push eax
push dword [esp + 0x50]
mov eax, dword [esp + 0x74]
mov edx, edi
push dword [ebp + 0x10]
shr eax, 0x1f
mov ecx, esi
xor al, 1
movzx eax, al
push eax
push 0
push dword [esp + 0x88]
push dword [esp + 0xb8]
push dword [esp + 0x78]
push dword [esp + 0xac]
call fcn.004818b0
add esp, 0x2c
mov edx, edi
mov ecx, esi
push 0
push 0
push dword [esp + 0x74]
push 0
call fcn.0047da10
add esp, 0x10
cmp dword [esp + 0x60], 0
je 0x481438
cmp dword [esp + 0x8c], 0
jne 0x481434
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x20]
and eax, 0x4000
or eax, 0
je 0x481438
mov ecx, dword [edi + 0x48]
mov edx, dword [edi]
add ecx, 0x38
push 0
call fcn.00422170
add esp, 4
cmp dword [eax + 8], 0
je 0x481438
xor eax, eax
jmp 0x48143d
mov eax, 1
push eax
push dword [esp + 0x2c]
mov edx, edi
mov ecx, esi
push 0
push dword [esp + 0x90]
push dword [esp + 0x7c]
push dword [esp + 0xac]
push dword [esp + 0x6c]
call fcn.00483100
add esp, 0x1c
jmp 0x48146c
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0xa4]
mov edi, dword [esp + 0x14]
test edx, edx
je 0x4814cc
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x481499
push 0
push 1
push edx
mov edx, 0x53
mov ecx, edi
call fcn.00443360
add esp, 0xc
jmp 0x4814cc
mov esi, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x53
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp dword [esp + 0x8c], 0
je 0x48150a
mov ecx, dword [esp + 0x24]
push dword [esp + 0x44]
mov edx, dword [esp + 0x94]
push dword [ebp + 0x10]
movsx eax, word [ecx + 0x2a]
sub edx, eax
sub edx, 2
push edx
mov edx, dword [esp + 0x98]
push ecx
push 2
push 0
push 0x7b
mov ecx, esi
call fcn.0049c790
add esp, 0x1c
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x44]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x48152f
push edx
mov edx, edi
call fcn.00443d20
mov esi, dword [esp + 0x4c]
add esp, 4
add esi, 0x6c
jmp 0x48153a
mov ecx, dword [ecx + 0x40]
lea esi, [edi + 0x6c]
mov eax, dword [esi]
mov dword [ecx + edx*4], eax
cmp byte [esp + 0x23], 0
je 0x48162a
mov ecx, dword [esi]
cmp dword [edi + 0x70], ecx
jg 0x48156e
push 0
push dword [esp + 0x7c]
mov edx, 5
mov ecx, edi
push dword [esp + 0x3c]
call fcn.00443360
mov edx, dword [esp + 0x54]
add esp, 0xc
add edx, 0x68
jmp 0x4815a2
lea eax, [ecx + 1]
mov dword [esi], eax
lea edx, [edi + 0x68]
mov eax, dword [edx]
lea ecx, [ecx + ecx*4]
mov edi, dword [esp + 0x34]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x78]
mov dword [eax + ecx*4], 5
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x7c]
mov edi, dword [esi]
test ecx, ecx
jns 0x4815af
lea ecx, [edi - 1]
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
cmp byte [eax + 0x51], 0
je 0x4815c2
mov eax, 0x57bbe8
jmp 0x4815ca
mov eax, dword [edx]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edi
mov edi, dword [esp + 0x14]
mov ecx, dword [esi]
cmp dword [edi + 0x70], ecx
jg 0x4815f4
push 0
push 0
push dword [esp + 0x3c]
mov edx, 0x75
mov ecx, edi
call fcn.00443360
add esp, 0xc
jmp 0x4816c5
lea eax, [ecx + 1]
mov dword [esi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx]
mov edx, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4816c5
cmp dword [esp + 0x4c], 0
je 0x4816c5
mov ecx, dword [esi]
cmp dword [edi + 0x70], ecx
jg 0x48165c
push 0
push dword [esp + 0x7c]
mov edx, 0xb
mov ecx, edi
push 0
call fcn.00443360
mov edx, dword [esp + 0x54]
add esp, 0xc
add edx, 0x68
jmp 0x481694
lea eax, [ecx + 1]
mov dword [esi], eax
lea edx, [edi + 0x68]
mov eax, dword [edx]
lea ecx, [ecx + ecx*4]
mov edi, dword [esp + 0x78]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x14]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x7c]
mov esi, dword [esi]
test ecx, ecx
jns 0x4816a1
lea ecx, [esi - 1]
mov eax, dword [edi]
cmp byte [eax + 0x51], 0
je 0x4816b3
mov eax, 0x57bbe8
mov dword [eax + 8], esi
jmp 0x4816c5
mov eax, dword [edx]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 8], esi
lea eax, [eax + ecx*4]
jmp 0x4816c5
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x12], 0
jne 0x4816e2
cmp dword [eax + 0x78], 0
jne 0x4816e2
cmp dword [eax + 0x70], 0
je 0x4816e2
mov ecx, eax
call fcn.0047f500
mov edx, dword [esp + 0xa4]
test edx, edx
je 0x481771
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x48170f
push 0
push 1
push edx
mov edx, 0x51
mov ecx, edi
call fcn.00443360
add esp, 0xc
jmp 0x48173e
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x51
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, 1
mov ecx, edi
call fcn.00445a70
mov eax, dword [edi]
cmp byte [eax + 0x51], 0
jne 0x481771
mov ecx, dword [edi + 0x74]
mov edx, str.rows_inserted
push 0
push 1
push 0xffffffffffffffff
call fcn.00442270
add esp, 0xc
jmp 0x481771
mov eax, dword [ebp + 8]
mov dword [esp + 0x4c], eax
mov edi, dword [esp + 0x68]
mov ecx, edi
mov edx, dword [esp + 0x80]
call fcn.00473d20
mov eax, dword [esp + 0x58]
test eax, eax
je 0x481794
mov edx, eax
mov ecx, edi
call fcn.0045d420
mov edx, dword [ebp + 0x14]
mov ecx, edi
call fcn.0049f140
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4817b4
push 1
mov edx, eax
mov ecx, edi
call fcn.0048cad0
add esp, 4
mov edx, dword [ebp + 0xc]
mov ecx, edi
call fcn.004737f0
mov ecx, dword [esp + 0x84]
test ecx, ecx
je 0x481812
test edi, edi
je 0x481809
cmp dword [edi + 0x1e8], 0
je 0x4817e5
mov edx, ecx
mov ecx, edi
call fcn.0041c6a0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp ecx, dword [edi + 0x138]
jb 0x481809
cmp ecx, dword [edi + 0x13c]
jae 0x481809
mov eax, dword [edi + 0x134]
mov dword [ecx], eax
mov dword [edi + 0x134], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push ecx
call fcn.0041c630
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret