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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xb8
or eax, 0xffffffff
mov dword [esp + 0x70], edx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x58], eax
xor eax, eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x70], eax
xorps xmm0, xmm0
mov dword [esp + 0x6c], eax
cmp dword [edi + 0x40], 0
mov dword [esp + 0x48], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x5c], eax
mov eax, dword [edi]
mov dword [esp + 0x28], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x34], eax
movaps xmmword [esp + 0x80], xmm0
jne 0x482cca
cmp byte [eax + 0x1e], 0
jne 0x482cca
cmp dword [edx + 0xc], 0
je 0x482cca
call fcn.0047b7b0
mov esi, eax
mov dword [esp + 0x14], esi
test esi, esi
je 0x482cca
mov ecx, dword [esp + 0x34]
mov edx, dword [esi + 0x44]
call fcn.00487a80
mov ecx, eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x34]
add ecx, ecx
mov edx, 0x12
mov eax, dword [eax + 8]
push dword [eax + ecx*8]
mov ecx, edi
push 0
push dword [esi]
call fcn.00476280
add esp, 0xc
test eax, eax
jne 0x482cca
lea eax, [esp + 0x54]
mov edx, esi
push eax
push 0
push 0x69
mov ecx, edi
call fcn.00490540
add esp, 0xc
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0x1c]
mov edx, esi
mov ecx, edi
mov dword [esp + 0x74], eax
call fcn.00478550
test eax, eax
jne 0x482cca
push dword [esp + 0x54]
mov edx, esi
mov ecx, edi
call fcn.0047b800
add esp, 4
test eax, eax
jne 0x482cca
mov ecx, edi
call fcn.0048a060
mov esi, eax
mov dword [esp + 0x1c], esi
test esi, esi
je 0x482cca
cmp byte [edi + 0x12], 0
jne 0x481af0
mov byte [esi + 0x62], 1
cmp dword [ebp + 0xc], 0
jne 0x481b01
cmp dword [esp + 0x68], 0
jne 0x481b01
xor edx, edx
jmp 0x481b06
mov edx, 1
push dword [esp + 0x18]
mov ecx, edi
call fcn.0047a9a0
add esp, 4
cmp dword [ebp + 0x10], 0
jne 0x481b3a
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
mov ecx, edi
push dword [ebp + 0x14]
push dword [ebp + 0xc]
call fcn.00483e30
add esp, 0xc
test eax, eax
jne 0x482c23
push dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ecx, edi
call fcn.00481120
add esp, 4
mov dword [esp + 0x60], eax
cmp dword [ebp + 0xc], 0
je 0x481d74
inc dword [edi + 0x48]
mov edx, 7
mov eax, dword [edi + 0x48]
mov ecx, esi
push eax
push 0
mov dword [esp + 0x28], eax
call fcn.0045eff0
mov eax, dword [edi + 0x48]
mov edx, 7
inc eax
mov word [esp + 0x88], 0xa
mov dword [edi + 0x48], eax
mov ecx, dword [esi + 0x1c]
add ecx, 2
mov dword [esp + 0x8c], eax
push eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x94], 0
lea eax, [ecx - 1]
mov dword [esp + 0x98], 0
push eax
mov ecx, esi
call fcn.0045eff0
push 0
push 0
mov edx, 1
mov ecx, esi
call fcn.0045eff0
mov edx, dword [ebp + 0xc]
mov ecx, edi
mov dword [esp + 0x48], eax
lea eax, [esp + 0x98]
push eax
call fcn.0048d7d0
add esp, 0x1c
test eax, eax
jne 0x482cca
cmp dword [edi + 0x40], eax
jne 0x482cca
mov eax, dword [esp + 0x34]
cmp byte [eax + 0x1e], 0
jne 0x482cca
push dword [esp + 0x20]
mov edx, 7
mov ecx, esi
push 1
call fcn.0045eff0
push dword [esp + 0x8c]
mov edx, 4
mov ecx, esi
call fcn.0045ef90
add esp, 0xc
mov edx, 6
mov ecx, esi
push 2
push 2
call fcn.0045eff0
mov edx, dword [esp + 0x38]
add esp, 8
mov ecx, esi
call fcn.0045f4d0
cmp dword [esp + 0x68], 0
mov eax, dword [esp + 0x88]
mov dword [esp + 0x64], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
jne 0x481c85
push dword [esp + 0x14]
mov edx, dword [esp + 0x30]
mov ecx, edi
push dword [esp + 0x1c]
call fcn.00481030
add esp, 8
test eax, eax
je 0x481e07
mov edx, dword [edi + 0x44]
mov ecx, edi
mov dword [esp + 0x4c], 1
mov dword [esp + 0x40], edx
lea eax, [edx + 1]
mov dword [edi + 0x44], eax
call fcn.00473240
mov dword [esp + 0x38], eax
call fcn.00473240
push dword [esp + 0x3c]
mov ecx, esi
mov dword [esp + 0x1c], eax
push edx
mov edx, 0x2a
call fcn.0045eff0
push dword [esp + 0x8c]
mov edx, 4
mov ecx, esi
call fcn.0045ef90
add esp, 0xc
mov edx, 0x1b
mov ecx, esi
mov edi, eax
push dword [esp + 0x20]
call fcn.0045ef90
add esp, 4
mov dword [esp + 0x30], eax
mov edx, 0x1f
mov ecx, esi
push dword [esp + 0x38]
push dword [esp + 0x40]
push dword [esp + 0x6c]
call fcn.0045eed0
add esp, 0xc
mov edx, 0x38
mov ecx, esi
push dword [esp + 0x18]
push dword [esp + 0x44]
call fcn.0045eff0
push dword [esp + 0x20]
mov edx, 0x39
mov ecx, esi
push dword [esp + 0x44]
push dword [esp + 0x50]
call fcn.0045eed0
add esp, 0x14
mov edx, 1
mov ecx, esi
push edi
push 0
call fcn.0045eff0
mov edx, dword [esp + 0x38]
add esp, 8
mov ecx, esi
call fcn.0045f4d0
mov edi, dword [esp + 0x24]
mov ecx, edi
mov edx, dword [esp + 0x38]
call fcn.00473260
mov edx, dword [esp + 0x18]
mov ecx, edi
call fcn.00473260
jmp 0x481e07
mov ecx, dword [ebp + 8]
xorps xmm0, xmm0
movaps xmmword [esp + 0x90], xmm0
movaps xmmword [esp + 0xa0], xmm0
mov dword [esp + 0xb0], 0
mov dword [esp + 0x90], edi
mov dword [esp + 0x40], 0xffffffff
test ecx, ecx
je 0x481dac
mov eax, dword [ecx]
jmp 0x481dae
xor eax, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], 0
test eax, eax
jle 0x481e07
xor eax, eax
mov dword [esp + 0x44], eax
nop dword [eax]
nop dword [eax + eax]
mov edx, dword [ecx + 0xc]
lea ecx, [esp + 0x90]
mov edx, dword [eax + edx]
call fcn.0046e280
test eax, eax
jne 0x482cca
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x44]
inc ecx
add eax, 0x14
mov dword [esp + 0x2c], ecx
cmp ecx, dword [esp + 0x3c]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x44], eax
jl 0x481dd0
mov edx, dword [esp + 0x14]
test byte [edx + 0x22], 0x10
je 0x481ead
mov ecx, dword [edx + 8]
xor eax, eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x18], 0
cmp ecx, 2
jl 0x481e7b
mov eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
add eax, 0xfffffffe
shr eax, 1
add ecx, 0x2f
inc eax
mov dword [esp + 0x30], eax
add eax, eax
mov edi, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
nop dword [eax]
xor eax, eax
lea ecx, [ecx + 0x30]
cmp byte [ecx - 0x48], al
setne al
add dword [esp + 0x38], eax
xor eax, eax
cmp byte [ecx - 0x30], al
setne al
add dword [esp + 0x18], eax
sub edi, 1
jne 0x481e50
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov ecx, dword [edx + 8]
cmp eax, ecx
jge 0x481e9d
lea ecx, [eax + eax*2]
mov dword [esp + 0x28], 0
mov eax, dword [edx + 0xc]
cmp byte [eax + ecx*8 + 0x17], 0
mov eax, dword [esp + 0x28]
setne al
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x38]
add eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
add ecx, eax
jmp 0x481eb1
mov ecx, dword [esp + 0x28]
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x481fb4
cmp dword [esp + 0x3c], eax
je 0x481eed
mov eax, dword [edx + 8]
sub eax, ecx
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
je 0x481ef1
push ecx
push eax
push 0
push dword [esp + 0x84]
push str.table__S_has__d_columns_but__d_values_were_supplied
push edi
call fcn.00447180
add esp, 0x18
jmp 0x482cca
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jle 0x481efc
mov eax, dword [edx + 4]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x24]
test dword [eax + 0xc], 0x1000
je 0x481f2c
inc dword [edi + 0x48]
mov edx, 7
mov eax, dword [edi + 0x48]
mov ecx, esi
push eax
push 0
mov dword [esp + 0x84], eax
call fcn.0045eff0
add esp, 8
cmp dword [esp + 0x74], 0
jne 0x481f89
mov eax, dword [edi + 0x44]
mov ecx, edi
mov edx, dword [esp + 0x14]
push 0x28
push eax
mov dword [esp + 0x58], eax
call fcn.00483c40
mov ecx, dword [esp + 0x3c]
add esp, 8
mov dword [esp + 0x30], eax
lea edx, [eax*4 + 4]
call fcn.004451f0
mov dword [esp + 0x5c], eax
test eax, eax
je 0x482cca
mov edx, dword [esp + 0x30]
xor ecx, ecx
test edx, edx
jle 0x481f89
mov esi, eax
inc dword [edi + 0x48]
mov eax, dword [edi + 0x48]
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, edx
jl 0x481f77
mov esi, dword [esp + 0x1c]
cmp dword [esp + 0x4c], 0
je 0x4820e9
push dword [esp + 0x40]
mov edx, 0x48
mov ecx, esi
call fcn.0045ef90
mov dword [esp + 0x74], eax
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x70], eax
jmp 0x48211d
mov ecx, dword [eax + 4]
cmp dword [esp + 0x3c], ecx
je 0x481fd5
push ecx
push dword [esp + 0x40]
push str._d_values_for__d_columns
push edi
call fcn.00447180
add esp, 0x10
jmp 0x482cca
xor ecx, ecx
cmp dword [eax + 4], ecx
jle 0x481ff7
mov edx, eax
nop
mov eax, dword [edx]
mov dword [eax + ecx*8 + 4], 0xffffffff
inc ecx
cmp ecx, dword [edx + 4]
jl 0x481fe0
mov edx, dword [esp + 0x14]
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov dword [esp + 0x28], ecx
cmp dword [eax + 4], ecx
jle 0x481efc
xor edi, edi
cmp edi, dword [edx + 8]
jge 0x48206d
mov eax, dword [eax]
lea ecx, [eax + ecx*8]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x2c], eax
nop dword [eax]
mov edx, dword [eax]
mov ecx, dword [ecx]
call fcn.00447290
mov edx, dword [esp + 0x14]
test eax, eax
je 0x48204c
mov eax, dword [esp + 0x2c]
inc edi
mov ecx, dword [esp + 0x44]
add eax, 0x18
mov dword [esp + 0x2c], eax
cmp edi, dword [edx + 8]
jl 0x482020
mov ecx, dword [esp + 0x28]
jmp 0x482065
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x28]
mov dword [eax + 4], edi
mov eax, dword [esp + 0x58]
cmp edi, dword [edx + 4]
cmove eax, ecx
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x10]
cmp edi, dword [edx + 8]
jl 0x4820b1
mov eax, dword [eax]
mov edx, str._ROWID_
mov edi, dword [eax + ecx*8]
mov ecx, edi
call fcn.00447290
test eax, eax
je 0x4820a2
mov edx, str.ROWID
mov ecx, edi
call fcn.00447290
test eax, eax
je 0x4820a2
mov edx, 0x57992c
mov ecx, edi
call fcn.00447290
test eax, eax
jne 0x4820c4
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x58], ecx
inc ecx
mov dword [esp + 0x28], ecx
cmp ecx, dword [eax + 4]
jl 0x482006
jmp 0x481efc
mov esi, dword [esp + 0x24]
push edi
push 0
push dword [esp + 0x80]
push str.table__S_has_no_column_named__s
push esi
call fcn.00447180
add esp, 0x14
mov byte [esi + 0x11], 1
jmp 0x482cca
cmp dword [ebp + 0xc], 0
je 0x482120
push dword [esp + 0x84]
mov edx, 4
mov ecx, esi
call fcn.0045ef90
add esp, 4
mov dword [esp + 0x6c], eax
mov edx, 0x1b
mov ecx, esi
push dword [esp + 0x20]
call fcn.0045ef90
mov dword [esp + 0x74], eax
add esp, 4
mov eax, dword [edi + 0x48]
mov ecx, dword [esp + 0x14]
inc eax
mov edx, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], edx
mov eax, dword [ecx + 8]
inc eax
add dword [edi + 0x48], eax
test byte [ecx + 0x22], 0x10
je 0x482147
inc edx
inc dword [edi + 0x48]
mov dword [esp + 0x20], edx
lea eax, [edx + 1]
mov ecx, esi
mov dword [esp + 0x30], eax
call fcn.0045f260
test byte [esp + 0x54], 1
mov dword [esp + 0x38], eax
je 0x48240f
mov eax, dword [esp + 0x14]
mov edx, dword [edi + 0x38]
mov ecx, dword [eax + 8]
mov eax, dword [edi + 0x3c]
inc ecx
mov dword [esp + 0x18], eax
cmp ecx, edx
jg 0x48218a
add eax, ecx
sub edx, ecx
mov dword [edi + 0x38], edx
mov edx, dword [esp + 0x18]
mov dword [edi + 0x3c], eax
jmp 0x482199
mov eax, dword [edi + 0x48]
lea edx, [eax + 1]
add eax, ecx
mov dword [esp + 0x18], edx
mov dword [edi + 0x48], eax
mov eax, dword [esp + 0x58]
push edx
test eax, eax
jns 0x4821b8
push 0xffffffffffffffff
mov edx, 7
mov ecx, esi
call fcn.0045eff0
add esp, 8
jmp 0x482243
cmp dword [esp + 0x50], 0
je 0x4821d5
push eax
push dword [esp + 0x48]
mov edx, 0x1d
mov ecx, esi
call fcn.0045eed0
add esp, 0xc
jmp 0x4821eb
mov ecx, dword [ebp + 8]
lea eax, [eax + eax*4]
mov edx, dword [ecx + 0xc]
mov ecx, edi
mov edx, dword [edx + eax*4]
call fcn.004722e0
add esp, 4
push dword [esp + 0x18]
mov edx, 0x4a
mov ecx, esi
call fcn.0045ef90
add esp, 4
mov dword [esp + 0x1c], eax
mov edx, 7
mov ecx, esi
push dword [esp + 0x18]
push 0xffffffffffffffff
call fcn.0045eff0
mov eax, dword [esp + 0x24]
add esp, 8
test eax, eax
js 0x482230
mov edx, dword [esi + 0x1c]
cmp edx, eax
jbe 0x482230
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 8], edx
push dword [esp + 0x18]
mov edx, 0x15
mov ecx, esi
call fcn.0045ef90
add esp, 4
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov dword [esp + 0x44], ecx
cmp dword [eax + 8], ecx
jle 0x48238e
mov dword [esp + 0x2c], ecx
nop word [eax + eax]
mov edx, dword [ebp + 0x10]
test edx, edx
jne 0x48226b
mov edi, ecx
jmp 0x482293
mov edx, dword [edx + 4]
xor edi, edi
test edx, edx
jle 0x482290
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
add eax, 4
nop dword [eax]
cmp dword [eax], ecx
je 0x48228c
inc edi
add eax, 8
cmp edi, edx
jl 0x482280
mov eax, dword [esp + 0x14]
mov edx, dword [ebp + 0x10]
cmp dword [esp + 0x4c], 0
jne 0x4822a0
cmp dword [ebp + 8], 0
je 0x4822a9
test edx, edx
je 0x482314
cmp edi, dword [edx + 4]
jl 0x482314
mov edx, dword [esp + 0x18]
mov eax, dword [eax + 0xc]
inc edx
add ecx, edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x1c], ecx
mov edx, dword [eax + edx + 4]
test edx, edx
je 0x4822e5
cmp byte [edx], 0x84
jne 0x4822e5
mov edi, dword [esp + 0x24]
push ecx
push dword [edx + 0x18]
mov edx, 0xe
mov ecx, dword [edi + 0xc]
call fcn.0045eff0
add esp, 8
jmp 0x482373
mov edi, dword [esp + 0x24]
push ecx
mov ecx, edi
call fcn.004713e0
mov edx, dword [esp + 0x20]
add esp, 4
cmp eax, edx
je 0x482373
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x482373
push edx
push eax
mov edx, 0xf
call fcn.0045eff0
add esp, 8
jmp 0x482373
cmp dword [esp + 0x4c], 0
je 0x4824d4
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x1c], eax
cmp dword [esi + 0x20], eax
jg 0x48233a
mov ecx, esi
call fcn.0045ee50
test eax, eax
jne 0x48236f
mov eax, dword [esp + 0x1c]
inc dword [esi + 0x1c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x1d
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edi
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x40]
mov dword [ecx + 0x10], 0
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x44]
inc eax
add eax, dword [esp + 0x18]
mov dword [ecx + 0xc], eax
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x14]
inc ecx
add dword [esp + 0x2c], 0x18
mov dword [esp + 0x44], ecx
cmp ecx, dword [eax + 8]
jl 0x482260
cmp dword [esp + 0x74], 0
jne 0x4823b8
push dword [eax + 8]
mov eax, dword [esp + 0x1c]
mov edx, 0x1e
inc eax
mov ecx, esi
push eax
call fcn.0045eff0
mov edx, dword [esp + 0x1c]
add esp, 8
mov ecx, esi
call fcn.00480f50
push dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
push dword [ebp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x70]
sub eax, dword [ecx + 8]
dec eax
push eax
push ecx
push 1
push 0
push 0x69
mov ecx, edi
call fcn.00490e30
mov eax, dword [esp + 0x30]
add esp, 0x1c
mov edx, dword [esp + 0x18]
mov ecx, edi
mov eax, dword [eax + 8]
inc eax
push eax
mov dword [esp + 0x20], eax
call fcn.00470d60
mov eax, dword [esp + 0x20]
add esp, 4
cmp eax, dword [edi + 0x38]
jle 0x48240f
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0x18]
mov dword [edi + 0x3c], eax
cmp dword [esp + 0x74], 0
jne 0x4829a2
mov eax, dword [esp + 0x14]
test byte [eax + 0x22], 0x10
je 0x48243d
push dword [esp + 0x28]
mov edx, 0xa
mov ecx, esi
push 0
call fcn.0045eff0
mov eax, dword [esp + 0x1c]
add esp, 8
mov ecx, dword [esp + 0x58]
test ecx, ecx
js 0x4825b6
cmp dword [esp + 0x4c], 0
push dword [esp + 0x20]
je 0x4824fb
push ecx
push dword [esp + 0x48]
mov edx, 0x1d
mov ecx, esi
call fcn.0045eed0
add esp, 0xc
mov eax, dword [esp + 0x14]
test byte [eax + 0x22], 0x10
jne 0x482583
push dword [esp + 0x20]
mov edx, 0x4a
mov ecx, esi
call fcn.0045ef90
mov edx, dword [esp + 0x64]
add esp, 4
mov dword [esp + 0x1c], eax
mov ecx, esi
mov eax, dword [esp + 0x50]
push edx
push dword [esp + 0x24]
mov edx, 0x38
push eax
call fcn.0045eed0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
js 0x48259d
mov edx, dword [esi + 0x1c]
cmp edx, eax
jbe 0x48259d
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 8], edx
jmp 0x48259d
mov eax, dword [esp + 0x18]
inc eax
add eax, ecx
mov ecx, dword [ebp + 8]
push eax
lea eax, [edi + edi*4]
mov edi, dword [esp + 0x28]
mov edx, dword [ecx + 0xc]
mov ecx, edi
mov edx, dword [edx + eax*4]
call fcn.00472340
add esp, 4
jmp 0x482373
cmp dword [ebp + 0xc], 0
je 0x48251c
mov eax, dword [esp + 0x68]
mov edx, 0xf
add eax, ecx
mov ecx, esi
push eax
call fcn.0045eff0
add esp, 8
jmp 0x48246c
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
mov ecx, edi
mov edx, dword [edx + eax*4]
call fcn.004722e0
mov eax, dword [esi]
add esp, 4
mov ecx, dword [esi + 0x1c]
dec ecx
cmp byte [eax + 0x1e], 0
je 0x482545
mov ecx, 0x599a34
jmp 0x482556
mov eax, dword [esi + 4]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*4]
test ecx, ecx
je 0x48246c
cmp byte [ecx], 0xa
mov eax, dword [esp + 0x14]
jne 0x482470
test byte [eax + 0x22], 0x10
jne 0x482583
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x60]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x20]
mov byte [ecx], 0x38
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
jmp 0x4825f6
mov eax, dword [esi + 0x1c]
mov edx, 0x49
add eax, 2
mov ecx, esi
push eax
push dword [esp + 0x24]
call fcn.0045eff0
add esp, 8
push dword [esp + 0x20]
mov edx, 0x15
mov ecx, esi
call fcn.0045ef90
mov eax, dword [esp + 0x24]
add esp, 4
jmp 0x4825fe
test byte [eax + 0x22], 0x10
mov ecx, esi
je 0x4825d7
push dword [esp + 0x20]
mov edx, 0xa
push 0
call fcn.0045eff0
mov eax, dword [esp + 0x28]
add esp, 8
jmp 0x4825fe
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x50]
push edx
push dword [esp + 0x24]
mov edx, 0x38
push eax
call fcn.0045eed0
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov dword [esp + 0x48], 1
mov ecx, dword [esp + 0x60]
test ecx, ecx
jle 0x482618
push eax
push ecx
mov ecx, dword [edi + 0xc]
mov edx, 0x77
call fcn.0045eff0
add esp, 8
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov dword [esp + 0x2c], 0
mov dword [esp + 0x54], ecx
cmp dword [edx + 8], ecx
jle 0x482792
mov dword [esp + 0x20], ecx
nop word [eax + eax]
mov eax, dword [esp + 0x30]
add eax, ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [edx + 4]
jne 0x4826a7
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x1c], eax
cmp dword [esi + 0x20], eax
jg 0x48266e
mov ecx, esi
call fcn.0045ee50
test eax, eax
jne 0x482777
mov eax, dword [esp + 0x1c]
inc dword [esi + 0x1c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x18]
mov word [eax + ecx*4], 0xa
mov byte [eax + ecx*4 + 3], 0
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 0x482777
cmp dword [ebp + 0x10], 0
jne 0x4826cc
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x20]
cmp byte [eax + edx + 0x17], 0
je 0x4826c4
inc dword [esp + 0x2c]
jmp 0x482842
mov edi, ecx
sub edi, dword [esp + 0x2c]
jmp 0x4826f0
mov edx, dword [ebp + 0x10]
xor edi, edi
mov edx, dword [edx + 4]
test edx, edx
jle 0x4826fe
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
add eax, 4
cmp dword [eax], ecx
je 0x4826ec
inc edi
add eax, 8
cmp edi, edx
jl 0x4826e0
mov edx, dword [esp + 0x20]
test edi, edi
js 0x48283e
mov eax, dword [esp + 0x18]
jmp 0x482702
mov edx, dword [esp + 0x20]
cmp dword [esp + 0x3c], 0
je 0x48283e
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x48271d
cmp edi, dword [ecx + 4]
jge 0x48283e
cmp dword [esp + 0x4c], 0
je 0x4827fd
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x1c], eax
cmp dword [esi + 0x20], eax
jg 0x482743
mov ecx, esi
call fcn.0045ee50
test eax, eax
jne 0x482773
mov eax, dword [esp + 0x1c]
inc dword [esi + 0x1c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x40]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x18]
mov word [eax + ecx*4], 0x1d
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x14]
inc ecx
add dword [esp + 0x20], 0x18
mov dword [esp + 0x54], ecx
cmp ecx, dword [edx + 8]
jl 0x482640
test byte [edx + 0x22], 0x10
je 0x482936
mov eax, dword [edx + 0x34]
mov dword [esp + 0x54], eax
test eax, eax
je 0x4827bf
mov ecx, dword [esp + 0x34]
nop dword [eax + eax]
cmp dword [eax], ecx
je 0x4827bb
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x4827b0
mov dword [esp + 0x54], eax
mov ecx, edi
call fcn.00493ea0
mov eax, dword [esp + 0x14]
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x1c], edx
mov eax, dword [eax + 8]
add eax, 2
mov dword [esp + 0x48], eax
cmp dword [esi + 0x20], edx
jg 0x4828b1
mov ecx, esi
call fcn.0045ee50
test eax, eax
je 0x4828ad
mov edx, 1
jmp 0x4828e9
cmp dword [ebp + 0xc], 0
push eax
je 0x48281f
mov eax, dword [esp + 0x68]
mov edx, 0xf
add eax, edi
mov ecx, esi
push eax
call fcn.0045eff0
add esp, 8
jmp 0x482773
mov ecx, dword [ebp + 8]
lea eax, [edi + edi*4]
mov edi, dword [esp + 0x28]
mov edx, dword [ecx + 0xc]
mov ecx, edi
mov edx, dword [edx + eax*4]
call fcn.004722e0
add esp, 4
jmp 0x482777
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + edx + 4]
test edx, edx
je 0x482872
cmp byte [edx], 0x84
jne 0x482872
push dword [esp + 0x18]
mov ecx, dword [edi + 0xc]
push dword [edx + 0x18]
mov edx, 0xe
call fcn.0045eff0
add esp, 8
jmp 0x482777
push dword [esp + 0x18]
mov ecx, edi
call fcn.004713e0
mov edx, eax
add esp, 4
mov eax, dword [esp + 0x18]
cmp edx, eax
je 0x482777
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x482777
push eax
push edx
mov edx, 0xf
call fcn.0045eff0
add esp, 8
jmp 0x482777
mov edx, dword [esp + 0x1c]
mov eax, dword [esi + 4]
lea ecx, [edx + edx*4]
inc dword [esi + 0x1c]
mov edi, dword [esp + 0x48]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x28]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0x24]
mov word [eax + ecx*4], 0x8c
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 0x10], 0
push 0xfffffffffffffff6
push dword [esp + 0x58]
mov ecx, esi
call fcn.0045f650
mov edx, dword [esi + 4]
add esp, 8
test edx, edx
je 0x482920
mov eax, dword [ebp + 0x14]
cmp eax, 0x63
movzx ecx, al
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x1c], 2
cmove ecx, dword [esp + 0x1c]
lea eax, [eax + eax*4]
mov byte [edx + eax*4 - 0x11], cl
mov eax, dword [edi + 0x1ac]
mov ecx, edi
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x15d], 1
jmp 0x4829a2
lea eax, [esp + 0x1c]
mov ecx, edi
push eax
push dword [esp + 0x3c]
mov eax, dword [esp + 0x60]
push dword [ebp + 0x14]
not eax
push 0
shr eax, 0x1f
push eax
push dword [esp + 0x70]
push dword [esp + 0x40]
push dword [esp + 0x6c]
call fcn.00482d70
push dword [esp + 0x48]
mov edx, dword [esp + 0x38]
mov ecx, edi
push 0
call fcn.0047fb70
mov edx, dword [esp + 0x3c]
xor eax, eax
cmp dword [esp + 0x44], eax
mov ecx, edi
sete al
push eax
push dword [esp + 0x74]
push 0
push dword [esp + 0x90]
push dword [esp + 0x60]
push dword [esp + 0x8c]
call fcn.004839d0
add esp, 0x40
mov eax, dword [esp + 0x34]
test dword [eax + 0xc], 0x1000
je 0x4829fe
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x1c], eax
cmp dword [esi + 0x20], eax
jg 0x4829ca
mov ecx, esi
call fcn.0045ee50
test eax, eax
jne 0x4829fe
mov eax, dword [esp + 0x1c]
inc dword [esi + 0x1c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x7c]
mov word [eax + ecx*4], 0x14
mov byte [eax + ecx*4 + 3], 0
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, dword [esp + 0x68]
test edx, edx
je 0x482a2d
push dword [esp + 0x38]
mov eax, dword [esp + 0x18]
push dword [ebp + 0x14]
mov ecx, dword [esp + 0x38]
sub ecx, dword [eax + 8]
sub ecx, 2
push ecx
push eax
push 2
push 0
push 0x69
mov ecx, edi
call fcn.00490e30
add esp, 0x1c
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x482a46
mov eax, dword [esp + 0x38]
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [esi + 0x1c]
mov dword [ecx], eax
cmp dword [esp + 0x4c], 0
je 0x482b0e
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x1c], eax
cmp dword [esi + 0x20], eax
jg 0x482a6c
mov ecx, esi
call fcn.0045ee50
test eax, eax
jne 0x482aa0
mov eax, dword [esp + 0x1c]
inc dword [esi + 0x1c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x40]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x6c]
mov word [eax + ecx*4], 0x5f
mov byte [eax + ecx*4 + 3], 0
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 + 0x70]
test eax, eax
js 0x482ab9
mov edx, dword [esi + 0x1c]
cmp edx, eax
jbe 0x482ab9
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 8], edx
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x1c], eax
cmp dword [esi + 0x20], eax
jg 0x482ad8
mov ecx, esi
call fcn.0045ee50
test eax, eax
jne 0x482b7c
mov eax, dword [esp + 0x1c]
inc dword [esi + 0x1c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x40]
mov word [eax + ecx*4], 0x2d
mov byte [eax + ecx*4 + 3], 0
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 0x482b7c
cmp dword [ebp + 0xc], 0
je 0x482b7c
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x1c], eax
cmp dword [esi + 0x20], eax
jg 0x482b2f
mov ecx, esi
call fcn.0045ee50
test eax, eax
jne 0x482b63
mov eax, dword [esp + 0x1c]
inc dword [esi + 0x1c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x6c]
mov word [eax + ecx*4], 1
mov byte [eax + ecx*4 + 3], 0
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 eax, dword [esp + 0x70]
test eax, eax
js 0x482b7c
mov edx, dword [esi + 0x1c]
cmp edx, eax
jbe 0x482b7c
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 8], edx
mov eax, dword [esp + 0x14]
test byte [eax + 0x22], 0x10
jne 0x482c23
cmp dword [esp + 0x74], 0
jne 0x482c23
push dword [esp + 0x50]
mov edx, 0x2d
mov ecx, esi
call fcn.0045ef90
mov eax, dword [esp + 0x18]
add esp, 4
mov eax, dword [eax + 0x10]
mov dword [esp + 0x30], eax
test eax, eax
je 0x482c23
mov edx, dword [esp + 0x50]
inc edx
mov dword [esp + 0x48], edx
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x1c], eax
cmp dword [esi + 0x20], eax
jg 0x482bdf
mov ecx, esi
call fcn.0045ee50
mov edx, dword [esp + 0x48]
test eax, eax
jne 0x482c0f
mov eax, dword [esp + 0x1c]
inc dword [esi + 0x1c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x2d
mov byte [eax + ecx*4 + 3], 0
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 + 0x30]
inc edx
mov dword [esp + 0x48], edx
mov ecx, dword [ecx + 0x20]
mov dword [esp + 0x30], ecx
test ecx, ecx
jne 0x482bc0
cmp byte [edi + 0x12], 0
jne 0x482c39
cmp dword [edi + 0x1b0], 0
jne 0x482c39
mov ecx, edi
call fcn.00481540
mov eax, dword [esp + 0x34]
test dword [eax + 0xc], 0x1000
je 0x482cca
cmp byte [edi + 0x12], 0
jne 0x482cca
cmp dword [edi + 0x1b0], 0
jne 0x482cca
mov edi, dword [esi + 0x1c]
cmp dword [esi + 0x20], edi
jg 0x482c6c
mov ecx, esi
call fcn.0045ee50
test eax, eax
jne 0x482ca0
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x1c]
mov edx, dword [esp + 0x7c]
mov word [eax + ecx*4], 0x10
mov byte [eax + ecx*4 + 3], 0
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, esi
call fcn.00460630
mov eax, dword [esi]
cmp byte [eax + 0x1e], 0
jne 0x482cca
mov ecx, dword [esi + 0x10]
mov edx, str.rows_inserted
push 0
push 1
push 0xffffffffffffffff
call fcn.0045e2d0
add esp, 0xc
mov edi, dword [esp + 0x34]
mov ecx, edi
mov edx, dword [esp + 0x78]
call fcn.0047a300
mov edx, dword [ebp + 8]
mov ecx, edi
call fcn.0046fa80
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x482cfd
mov edx, esi
mov ecx, edi
call fcn.004880b0
push esi
push edi
call fcn.00444f80
add esp, 8
mov edi, dword [ebp + 0x10]
test edi, edi
je 0x482d50
xor esi, esi
cmp dword [edi + 4], esi
jle 0x482d27
nop dword [eax + eax]
mov eax, dword [edi]
push dword [eax + esi*8]
push dword [esp + 0x38]
call fcn.00444f80
inc esi
add esp, 8
cmp esi, dword [edi + 4]
jl 0x482d10
push dword [edi]
mov esi, dword [esp + 0x38]
push esi
call fcn.00444f80
push edi
push esi
call fcn.00444f80
add esp, 0x10
push dword [esp + 0x5c]
push esi
call fcn.00444f80
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push dword [esp + 0x5c]
mov esi, dword [esp + 0x38]
push esi
call fcn.00444f80
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret