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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb4
mov eax, dword [0x4c32cc]
xor eax, esp
mov dword [esp + 0xb0], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ecx]
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x48], edx
mov edx, dword [ebp + 0x10]
push esi
push edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x64], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x44], ebx
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
cmp dword [ecx + 0x44], eax
jne 0x44ef56
cmp byte [ebx + 0x40], al
jne 0x44ef56
mov eax, dword [esp + 0x68]
cmp dword [eax + 0x10], 0
je 0x44ef56
mov edi, dword [esp + 0x10]
mov ecx, eax
call fcn.00445ac0
mov dword [esp + 0xc], eax
test eax, eax
je 0x44ef56
mov edi, eax
mov esi, dword [edi + 0x44]
mov ecx, ebx
call fcn.004562c0
mov ecx, dword [ebx + 0x10]
mov edx, dword [edi]
mov dword [esp + 0x18], eax
add eax, eax
mov eax, dword [ecx + eax*8]
push eax
mov eax, dword [esp + 0x14]
push 0
push edx
push 0x12
call fcn.0043ecb0
add esp, 0x10
test eax, eax
jne 0x44ef56
mov esi, edi
movzx eax, byte [esi + 0x2c]
mov edi, dword [esp + 0x10]
shr eax, 5
and eax, 1
mov dword [esp + 0x30], eax
lea eax, [esp + 0x3c]
push eax
push 0
push 0x6a
mov edx, esi
mov eax, edi
call fcn.00461970
xor ecx, ecx
add esp, 0xc
cmp dword [esi + 0xc], ecx
mov dword [esp + 0x80], eax
setne cl
mov eax, esi
mov dword [esp + 0x84], ecx
mov ecx, edi
call fcn.00441d40
test eax, eax
jne 0x44ef56
mov edx, dword [esp + 0x3c]
push edx
mov ecx, esi
call fcn.00445bc0
add esp, 4
test eax, eax
jne 0x44ef56
mov eax, edi
push eax
call fcn.00459460
mov esi, eax
add esp, 4
mov dword [esp + 0x6c], esi
test esi, esi
je 0x44ef56
mov ecx, edi
cmp byte [ecx + 0x12], 0
jne 0x44ec40
or dword [esi + 0x64], 0x10
cmp dword [esp + 0x20], 0
jne 0x44ec55
cmp dword [esp + 0x80], 0
jne 0x44ec55
xor eax, eax
jmp 0x44ec5a
mov eax, 1
mov edi, dword [esp + 0x18]
push eax
mov eax, ecx
call fcn.00444900
add esp, 4
cmp dword [esp + 0x24], 0
jne 0x44ec95
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, edi
push edx
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x28]
push ecx
push edx
call fcn.00451a90
add esp, 0x10
test eax, eax
jne 0x44fd97
mov ebx, dword [esp + 0xc]
mov eax, edi
mov edi, dword [esp + 0x10]
push eax
mov edx, edi
call fcn.0044d870
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x24]
xor ebx, ebx
add esp, 4
cmp eax, ebx
je 0x44edf5
lea ecx, [esp + 0xac]
push ecx
push eax
push edi
call fcn.0044e8d0
add esp, 0xc
test eax, eax
jne 0x44ef52
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x20]
inc edx
mov dword [esp + 0x28], edx
mov edx, dword [ecx]
mov dword [esp + 0x78], eax
mov eax, dword [edx]
mov dword [esp + 0x54], eax
cmp dword [esp + 0x80], ebx
jne 0x44ed23
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
push ecx
mov eax, ebx
call fcn.0044d790
add esp, 4
test eax, eax
je 0x44ee8e
jmp 0x44ed25
mov ebx, edi
mov edi, dword [ebx + 0x48]
lea edx, [edi + 1]
mov ecx, ebx
mov dword [esp + 0x64], 1
mov dword [esp + 0x40], edi
mov dword [ebx + 0x48], edx
call fcn.0043b280
mov dword [esp + 0x1c], eax
call fcn.0043b280
mov ebx, eax
mov eax, dword [esp + 0x54]
push eax
push edi
push 0x35
mov eax, esi
call fcn.00425560
mov ecx, dword [esp + 0xbc]
add esp, 0xc
push ecx
push 0x14
mov eax, esi
call fcn.00425510
mov edx, dword [esp + 0x30]
push edx
mov dword [esp + 0x44], eax
push 0x29
mov eax, esi
call fcn.00425510
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x88]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x2c]
push eax
push ecx
push edx
push 0x2d
mov eax, esi
call fcn.00425460
push ebx
push edi
push 0x43
mov eax, esi
call fcn.00425560
mov eax, dword [esp + 0x48]
add esp, 0x2c
push ebx
push eax
push edi
push 0x44
mov eax, esi
call fcn.00425460
mov ecx, dword [esp + 0x48]
push ecx
push 0
push 0x10
mov eax, esi
call fcn.00425560
mov eax, dword [esp + 0x78]
add esp, 0x1c
mov edx, esi
call fcn.00425ac0
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
call fcn.0043b2a0
mov esi, ebx
call fcn.0043b2a0
jmp 0x44ee86
xor eax, eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x40], 0xffffffff
cmp eax, ebx
je 0x44ee4a
mov eax, dword [eax]
jmp 0x44ee4c
xor eax, eax
mov dword [esp + 0x54], eax
cmp eax, ebx
jle 0x44ee8a
mov dword [esp + 0x1c], ebx
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x1c]
mov edi, dword [ecx + eax]
lea esi, [esp + 0x8c]
call fcn.00435850
test eax, eax
jne 0x44ef52
add dword [esp + 0x1c], 0x18
inc ebx
cmp ebx, dword [esp + 0x54]
jl 0x44ee58
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0xc]
test byte [edi + 0x2c], 0x10
je 0x44ef0d
movsx ecx, word [edi + 0x26]
xor edx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
cmp ecx, 2
jl 0x44eed9
mov eax, dword [edi + 4]
add ecx, 0xfffffffe
shr ecx, 1
add eax, 0x2f
inc ecx
lea edx, [ecx + ecx]
movzx edi, byte [eax - 0x18]
shr edi, 1
and edi, 1
add dword [esp + 0x18], edi
movzx edi, byte [eax]
shr edi, 1
and edi, 1
add dword [esp + 0x1c], edi
add eax, 0x30
dec ecx
jne 0x44eeb6
mov edi, dword [esp + 0xc]
movsx eax, word [edi + 0x26]
cmp edx, eax
jge 0x44eefd
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x1c]
add ecx, dword [esp + 0x18]
lea edx, [edx + edx*2]
movzx eax, byte [eax + edx*8 + 0x17]
shr eax, 1
and eax, 1
add eax, ecx
jmp 0x44ef11
mov ecx, dword [esp + 0x1c]
add ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
add eax, ecx
jmp 0x44ef11
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x44f029
mov edx, dword [esp + 0x54]
test edx, edx
je 0x44f184
movsx ecx, word [edi + 0x26]
sub ecx, eax
cmp edx, ecx
je 0x44f178
mov eax, dword [esp + 0x68]
push edx
push ecx
mov ecx, dword [esp + 0x18]
push 0
push eax
push str.table__S_has__d_columns_but__d_values_were_supplied
push ecx
call fcn.0040a9c0
add esp, 0x18
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x68]
push ecx
mov eax, ebx
call fcn.00444270
mov edx, dword [esp + 0x54]
add esp, 4
push edx
push ebx
call fcn.00437380
add esp, 8
cmp dword [esp + 0x20], 0
je 0x44fe9b
mov esi, dword [esp + 0x20]
mov eax, dword [esi]
push eax
push ebx
call fcn.00437380
mov ecx, dword [esi + 0x28]
push ecx
mov eax, ebx
call fcn.00444270
mov edx, dword [esi + 0x2c]
add esp, 0xc
push edx
push ebx
call fcn.004367e0
mov eax, dword [esi + 0x30]
push eax
push ebx
call fcn.00437380
mov ecx, dword [esi + 0x34]
push ecx
push ebx
call fcn.004367e0
mov edx, dword [esi + 0x38]
push edx
push ebx
call fcn.00437380
mov esi, dword [esi + 0x3c]
mov edi, ebx
call fcn.00456cb0
mov esi, dword [esp + 0x40]
mov eax, dword [esi + 0x48]
push eax
push ebx
call fcn.004367e0
mov ecx, dword [esi + 0x4c]
push ecx
push ebx
call fcn.004367e0
add esp, 0x30
mov eax, esi
test ebx, ebx
je 0x44fe92
cmp dword [ebx + 0x200], 0
je 0x44fe6c
cmp eax, dword [ebx + 0x10c]
jb 0x44fe58
cmp eax, dword [ebx + 0x110]
jae 0x44fe58
movzx eax, word [ebx + 0xf0]
mov ecx, dword [ebx + 0x200]
add dword [ecx], eax
jmp 0x44fe9b
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x54]
cmp eax, edx
je 0x44f04d
push edx
mov edx, dword [esp + 0x14]
push eax
push str._d_values_for__d_columns
push edx
call fcn.0040a9c0
add esp, 0x10
jmp 0x44ef52
xor eax, eax
test edx, edx
jle 0x44f062
or edx, 0xffffffff
mov ebx, dword [ecx]
mov dword [ebx + eax*8 + 4], edx
inc eax
cmp eax, dword [ecx + 4]
jl 0x44f056
cmp dword [ecx + 4], 0
mov dword [esp + 0x14], 0
jle 0x44f184
movsx eax, word [edi + 0x26]
xor ebx, ebx
mov dword [esp + 0x5c], eax
test eax, eax
jle 0x44f0db
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov edx, dword [esp + 0x14]
lea eax, [ecx + edx*8]
mov ecx, dword [esp + 0xc]
mov edi, dword [ecx + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [eax]
mov dword [esp + 0x38], eax
mov edx, dword [edi]
mov eax, dword [esp + 0x38]
push edx
push eax
call fcn.0040ab20
add esp, 8
test eax, eax
je 0x44f0c0
inc ebx
add edi, 0x18
cmp ebx, dword [esp + 0x5c]
jl 0x44f0a0
jmp 0x44f0db
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xc]
mov dword [ecx + 4], ebx
movsx eax, word [edx + 0x24]
cmp ebx, eax
jne 0x44f0db
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0xc]
movsx eax, word [edx + 0x26]
mov edi, dword [esp + 0x14]
cmp ebx, eax
jl 0x44f135
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
mov ebx, dword [edx + edi*8]
push str._ROWID_
push ebx
call fcn.0040ab20
add esp, 8
test eax, eax
je 0x44f12a
push str.ROWID
push ebx
call fcn.0040ab20
add esp, 8
test eax, eax
je 0x44f12a
push 0x4b8538
push ebx
call fcn.0040ab20
add esp, 8
test eax, eax
jne 0x44f14c
cmp dword [esp + 0x30], 0
jne 0x44f14c
mov dword [esp + 0x48], edi
mov eax, dword [esp + 0x24]
inc edi
mov dword [esp + 0x14], edi
cmp edi, dword [eax + 4]
jge 0x44f184
mov edi, dword [esp + 0xc]
jmp 0x44f074
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
mov eax, dword [edx + edi*8]
mov ecx, dword [esp + 0x68]
mov esi, dword [esp + 0x10]
push eax
push 0
push ecx
push str.table__S_has_no_column_named__s
push esi
call fcn.0040a9c0
add esp, 0x14
mov byte [esi + 0x11], 1
jmp 0x44ef52
test edx, edx
jle 0x44f184
movsx edx, word [edi + 0x24]
mov dword [esp + 0x48], edx
mov edi, dword [esp + 0x44]
test byte [edi + 0x18], 0x80
je 0x44f1ae
mov eax, dword [esp + 0x10]
inc dword [eax + 0x4c]
mov eax, dword [eax + 0x4c]
push eax
mov dword [esp + 0x8c], eax
push 0
push 0x17
mov eax, esi
call fcn.00425560
add esp, 0xc
cmp dword [esp + 0x84], 0
jne 0x44f21c
mov edx, dword [esp + 0xc]
lea eax, [esp + 0x70]
push eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x50]
push ecx
push 0
push 0xffffffffffffffff
push 0x33
push edx
push eax
call fcn.00451780
mov ebx, eax
add esp, 0x1c
lea ecx, [ebx*4 + 4]
mov esi, edi
call fcn.004087f0
mov dword [esp + 0x58], eax
test eax, eax
je 0x44ef52
xor eax, eax
test ebx, ebx
jle 0x44f218
mov edx, 1
mov ecx, dword [esp + 0x10]
add dword [ecx + 0x4c], edx
mov ecx, dword [ecx + 0x4c]
mov esi, dword [esp + 0x58]
mov dword [esi + eax*4], ecx
add eax, edx
cmp eax, ebx
jl 0x44f201
mov esi, dword [esp + 0x6c]
cmp dword [esp + 0x64], 0
je 0x44f23d
mov ecx, dword [esp + 0x40]
push ecx
push 0x67
mov eax, esi
call fcn.00425510
mov edx, dword [esi + 0x1c]
add esp, 8
mov dword [esp + 0x74], edx
jmp 0x44f26d
cmp dword [esp + 0x20], 0
je 0x44f271
mov eax, dword [esp + 0xb0]
push eax
push 0x14
mov eax, esi
call fcn.00425510
mov ecx, dword [esp + 0x30]
push ecx
mov dword [esp + 0x80], eax
push 0x29
mov eax, esi
call fcn.00425510
add esp, 0x10
mov dword [esp + 0x7c], eax
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x4c]
movsx ecx, word [edx + 0x26]
lea ebx, [eax + 1]
lea eax, [ecx + eax + 1]
mov dword [edi + 0x4c], eax
test byte [edx + 0x2c], 0x10
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x2c], ebx
je 0x44f2a1
inc ebx
inc eax
mov dword [esp + 0x2c], ebx
mov dword [edi + 0x4c], eax
lea eax, [ebx + 1]
mov dword [esp + 0x38], eax
mov eax, esi
call fcn.004257d0
test byte [esp + 0x3c], 1
mov dword [esp + 0x1c], eax
je 0x44f572
mov ecx, dword [esp + 0xc]
movsx eax, word [ecx + 0x26]
mov ecx, dword [edi + 0x3c]
mov ebx, dword [edi + 0x40]
inc eax
mov dword [esp + 0x18], ebx
cmp eax, ecx
jg 0x44f2e2
lea edx, [ebx + eax]
sub ecx, eax
mov dword [edi + 0x40], edx
mov dword [edi + 0x3c], ecx
jmp 0x44f2f1
mov ecx, dword [edi + 0x4c]
lea ebx, [ecx + 1]
add ecx, eax
mov dword [esp + 0x18], ebx
mov dword [edi + 0x4c], ecx
cmp dword [esp + 0x48], 0
push ebx
jge 0x44f30c
push 0xffffffffffffffff
push 0x17
mov eax, esi
call fcn.00425560
add esp, 0xc
jmp 0x44f37f
cmp dword [esp + 0x68], 0
mov eax, dword [esp + 0x4c]
je 0x44f32b
mov ecx, dword [esp + 0x44]
push eax
push ecx
push 0x2b
mov eax, esi
call fcn.00425460
add esp, 0x10
jmp 0x44f342
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx*8]
push edx
push edi
call fcn.0043a080
add esp, 0xc
push ebx
push 0x4b
mov eax, esi
call fcn.00425510
push ebx
mov edi, eax
push 0xffffffffffffffff
push 0x17
mov eax, esi
call fcn.00425560
add esp, 0x14
test edi, edi
js 0x44f372
mov eax, dword [esi + 0x1c]
cmp eax, edi
jbe 0x44f372
mov edx, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [edx + ecx*4 + 8], eax
push ebx
push 0x23
mov eax, esi
call fcn.00425510
add esp, 8
mov edx, dword [esp + 0xc]
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x14], eax
cmp cx, word [edx + 0x26]
jge 0x44f4a8
mov dword [esp + 0x28], eax
lea esp, [esp]
mov edx, dword [esp + 0x24]
test edx, edx
jne 0x44f3f2
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x64]
test eax, eax
jne 0x44f3be
cmp dword [esp + 0x50], eax
je 0x44f3c7
test edx, edx
je 0x44f412
cmp ebx, dword [edx + 4]
jl 0x44f412
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
lea ecx, [eax + edi + 1]
mov eax, dword [edx + 4]
push ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [eax + ecx + 4]
mov eax, dword [esp + 0x14]
push edx
push eax
call fcn.0043a080
add esp, 0xc
jmp 0x44f48a
mov ecx, dword [edx + 4]
xor ebx, ebx
test ecx, ecx
jle 0x44f3ac
mov eax, dword [edx]
mov edi, dword [esp + 0x14]
add eax, 4
cmp dword [eax], edi
je 0x44f3b0
inc ebx
add eax, 8
cmp ebx, ecx
jl 0x44f404
jmp 0x44f3b0
test eax, eax
je 0x44f468
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x3c], eax
cmp dword [esi + 0x20], eax
jg 0x44f435
mov edi, esi
call fcn.004253e0
mov edi, dword [esp + 0x14]
test eax, eax
jne 0x44f48a
mov eax, dword [esp + 0x3c]
mov edx, dword [esi + 4]
inc dword [esi + 0x1c]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x18]
mov dword [eax + 4], ecx
lea ecx, [edx + edi + 1]
mov byte [eax + 3], 0
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], 0
mov word [eax], 0x2b
jmp 0x44f48a
mov edx, dword [esp + 0x18]
lea eax, [edx + edi + 1]
mov edx, dword [esp + 0x50]
mov edx, dword [edx + 8]
lea ecx, [ebx + ebx*2]
mov esi, dword [edx + ecx*8]
mov ecx, dword [esp + 0x10]
call fcn.0043a120
mov esi, dword [esp + 0x6c]
mov eax, dword [esp + 0xc]
movsx ecx, word [eax + 0x26]
add dword [esp + 0x28], 0x18
inc edi
mov dword [esp + 0x14], edi
cmp edi, ecx
jl 0x44f3a0
mov ebx, dword [esp + 0x18]
cmp dword [esp + 0x84], 0
jne 0x44f510
mov edx, dword [esp + 0xc]
movsx eax, word [edx + 0x26]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x3c], eax
cmp dword [esi + 0x20], eax
jg 0x44f4d9
mov edi, esi
call fcn.004253e0
test eax, eax
jne 0x44f503
mov eax, dword [esp + 0x3c]
mov edx, dword [esi + 4]
inc dword [esi + 0x1c]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov edx, dword [esp + 0x28]
lea ecx, [ebx + 1]
mov dword [eax + 4], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x2c
mov eax, dword [esp + 0xc]
push esi
call fcn.0044d6c0
add esp, 4
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
movsx edx, word [edi + 0x26]
mov ecx, dword [ebp + 0x14]
push eax
push ecx
mov ecx, dword [esp + 0x88]
mov eax, ebx
sub eax, edx
mov edx, dword [esp + 0x18]
dec eax
push eax
push edi
push 1
push 0
push 0x6a
push ecx
push edx
call fcn.00462130
movsx ecx, word [edi + 0x26]
mov eax, dword [esp + 0x34]
inc ecx
add esp, 0x24
mov edi, ebx
mov dword [esp + 0x3c], ecx
call fcn.004389a0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x3c]
jle 0x44f56e
mov edx, eax
mov eax, ecx
mov dword [eax + 0x3c], edx
mov dword [eax + 0x40], ebx
mov ebx, dword [esp + 0x2c]
cmp dword [esp + 0x84], 0
jne 0x44fb2e
mov eax, dword [esp + 0xc]
test byte [eax + 0x2c], 0x10
je 0x44f5cf
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x3c], eax
cmp dword [esi + 0x20], eax
jg 0x44f5a5
mov edi, esi
call fcn.004253e0
mov ebx, dword [esp + 0x2c]
test eax, eax
jne 0x44f5cf
mov eax, dword [esp + 0x3c]
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x5c]
xor ecx, ecx
inc dword [esi + 0x1c]
mov byte [eax + 3], cl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x1a
mov eax, dword [esp + 0x48]
test eax, eax
js 0x44f706
cmp dword [esp + 0x64], 0
push ebx
je 0x44f655
push eax
mov eax, dword [esp + 0x48]
push eax
push 0x2b
mov eax, esi
call fcn.00425460
add esp, 0x10
mov edx, dword [esp + 0xc]
test byte [edx + 0x2c], 0x10
mov eax, esi
jne 0x44f6e5
push ebx
push 0x4b
call fcn.00425510
mov ecx, dword [esp + 0x54]
mov edi, eax
mov eax, dword [esp + 0x3c]
push eax
push ebx
push ecx
push 0x43
mov eax, esi
call fcn.00425460
add esp, 0x18
test edi, edi
js 0x44f6f7
mov eax, dword [esi + 0x1c]
cmp eax, edi
jbe 0x44f6f7
mov ecx, dword [esi + 4]
lea edx, [edi + edi*4]
mov dword [ecx + edx*4 + 8], eax
push ebx
push 0x23
mov eax, esi
call fcn.00425510
add esp, 8
jmp 0x44f747
cmp dword [esp + 0x24], 0
je 0x44f671
mov ecx, dword [esp + 0x7c]
add ecx, eax
push ecx
push 0x1f
mov eax, esi
call fcn.00425560
add esp, 0xc
jmp 0x44f5f5
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx*8]
mov eax, dword [esp + 0x14]
push edx
push eax
call fcn.0043a080
mov ecx, dword [esi]
mov eax, dword [esi + 0x1c]
add esp, 0xc
cmp byte [ecx + 0x40], 0
je 0x44f69e
mov eax, 0x4d1e8c
jmp 0x44f6b0
lea edx, [eax + eax*4 - 5]
mov eax, dword [esi + 4]
lea eax, [eax + edx*4]
test eax, eax
je 0x44f5f5
cmp byte [eax], 0x1a
jne 0x44f5f5
mov ecx, dword [esp + 0xc]
test byte [ecx + 0x2c], 0x10
jne 0x44f5f5
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x60], 1
mov byte [eax], 0x43
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
jmp 0x44f747
mov edx, dword [esi + 0x1c]
add edx, 2
push edx
push ebx
push 0x4a
call fcn.00425560
add esp, 0xc
push ebx
push 0x23
mov eax, esi
call fcn.00425510
add esp, 8
jmp 0x44f747
mov eax, dword [esp + 0xc]
test byte [eax + 0x2c], 0x10
jne 0x44f738
cmp dword [esp + 0x30], 0
jne 0x44f738
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x4c]
push ecx
push ebx
push edx
push 0x43
mov eax, esi
call fcn.00425460
add esp, 0x10
mov dword [esp + 0x60], 1
jmp 0x44f747
push ebx
push 0
push 0x1a
mov eax, esi
call fcn.00425560
add esp, 0xc
cmp dword [esp + 0x34], 0
jle 0x44f799
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 8]
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x30], eax
cmp dword [edi + 0x20], eax
jg 0x44f76e
call fcn.004253e0
test eax, eax
jne 0x44f799
mov ebx, dword [esp + 0x2c]
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x30]
inc dword [edi + 0x1c]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x34]
mov dword [eax + 4], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x7f
mov ecx, dword [esp + 0xc]
xor eax, eax
xor edx, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], eax
cmp dx, word [ecx + 0x26]
jge 0x44f877
mov dword [esp + 0x18], eax
jmp 0x44f7c4
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0xc]
add edx, eax
mov dword [esp + 0x34], edx
movsx edx, word [ecx + 0x24]
cmp eax, edx
jne 0x44f816
mov ebx, dword [esi + 0x1c]
cmp dword [esi + 0x20], ebx
jg 0x44f7ed
mov edi, esi
call fcn.004253e0
test eax, eax
jne 0x44f859
mov ecx, dword [esi + 4]
inc dword [esi + 0x1c]
mov edx, dword [esp + 0x34]
lea eax, [ebx + ebx*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x1a
jmp 0x44f859
cmp dword [esp + 0x24], 0
jne 0x44f8ee
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x18]
test byte [eax + ecx + 0x17], 2
je 0x44f8e0
inc dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
push edx
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx + edx + 4]
mov ecx, dword [esp + 0x14]
push eax
push ecx
call fcn.0043a080
add esp, 0xc
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
movsx ecx, word [edx + 0x26]
add dword [esp + 0x18], 0x18
inc eax
mov dword [esp + 0x14], eax
cmp eax, ecx
jl 0x44f7c0
mov edi, dword [esp + 0xc]
test byte [edi + 0x2c], 0x10
je 0x44faa9
mov eax, dword [edi + 0x3c]
mov dword [esp + 0x28], eax
test eax, eax
je 0x44f8a3
mov ecx, dword [esp + 0x44]
cmp dword [eax], ecx
je 0x44f89f
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x44f894
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x10]
push edi
call fcn.00466a40
movsx ecx, word [edi + 0x26]
mov ebx, dword [esi + 0x1c]
add ecx, 2
add esp, 4
mov dword [esp + 0x30], ecx
cmp dword [esi + 0x20], ebx
jg 0x44f9f9
mov edi, esi
call fcn.004253e0
test eax, eax
je 0x44f9f5
mov ebx, 1
jmp 0x44fa27
mov ebx, dword [esp + 0x14]
sub ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
jmp 0x44f910
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 4]
xor ebx, ebx
test ecx, ecx
jle 0x44f918
mov eax, dword [edx]
mov edi, dword [esp + 0x14]
add eax, 4
cmp dword [eax], edi
je 0x44f910
inc ebx
add eax, 8
cmp ebx, ecx
jl 0x44f904
test ebx, ebx
js 0x44f837
cmp dword [esp + 0x54], 0
je 0x44f837
test edx, edx
je 0x44f930
cmp ebx, dword [edx + 4]
jge 0x44f837
cmp dword [esp + 0x64], 0
je 0x44f988
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x30], eax
cmp dword [esi + 0x20], eax
jg 0x44f956
mov edi, esi
call fcn.004253e0
test eax, eax
jne 0x44f859
mov eax, dword [esp + 0x30]
inc dword [esi + 0x1c]
mov ecx, dword [esp + 0x40]
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x34]
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], 0
mov word [eax], 0x2b
jmp 0x44f859
cmp dword [esp + 0x20], 0
je 0x44f9de
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x30], eax
cmp dword [esi + 0x20], eax
jg 0x44f9ae
mov edi, esi
call fcn.004253e0
test eax, eax
jne 0x44f859
mov eax, dword [esp + 0x30]
mov ecx, dword [esi + 4]
inc dword [esi + 0x1c]
add ebx, dword [esp + 0x78]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], ebx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x1f
jmp 0x44f859
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x50]
push edx
mov edx, dword [ecx + 8]
lea eax, [ebx + ebx*2]
mov eax, dword [edx + eax*8]
jmp 0x44f84b
mov ecx, dword [esp + 0x30]
mov edi, dword [esi + 4]
mov edx, 1
add dword [esi + 0x1c], edx
lea eax, [ebx + ebx*4]
lea eax, [edi + eax*4]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x5c]
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], 0
mov word [eax], 0xf
mov ecx, dword [esi + 4]
mov edi, dword [esi]
mov eax, ebx
test ecx, ecx
je 0x44fa72
cmp byte [edi + 0x40], 0
jne 0x44fa72
test ebx, ebx
jns 0x44fa40
mov eax, dword [esi + 0x1c]
dec eax
lea edx, [eax + eax*4]
movsx eax, byte [ecx + edx*4 + 1]
lea ebx, [ecx + edx*4]
mov ecx, dword [ebx + 0x10]
call fcn.00425ae0
mov eax, dword [esp + 0x28]
xor ecx, ecx
mov dword [ebx + 0x10], ecx
cmp eax, ecx
jne 0x44fa68
mov dword [ebx + 0x10], ecx
mov byte [ebx + 1], cl
jmp 0x44fa72
mov dword [ebx + 0x10], eax
mov byte [ebx + 1], 0xf6
inc dword [eax + 0xc]
mov edx, dword [ebp + 0x14]
cmp edx, 0xa
jne 0x44fa7f
mov edx, 2
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x44fa90
mov eax, dword [esi + 0x1c]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], dl
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x1b8]
test eax, eax
jne 0x44faa0
mov eax, ecx
mov byte [eax + 0x18], 1
jmp 0x44fb2e
cmp dword [esp + 0x48], 0
mov edx, dword [esp + 0x1c]
mov eax, dword [ebp + 0x14]
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x10]
lea ecx, [esp + 0x30]
push ecx
push edx
push eax
mov eax, dword [esp + 0x7c]
setge cl
movzx edx, cl
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x68]
push 0
push edi
push eax
mov eax, dword [esp + 0x28]
push ecx
push edx
push eax
push ebx
call fcn.0044ff80
mov ecx, dword [esp + 0x38]
add esp, 0x2c
push 0
push 0
push edi
push 0
push ecx
call fcn.0044be20
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x6c]
add esp, 0x14
xor edx, edx
cmp dword [esp + 0x30], edx
sete dl
push edx
mov edx, dword [esp + 0x74]
push eax
mov eax, dword [esp + 0x54]
push 0
push ecx
mov ecx, dword [esp + 0x1c]
push edi
push edx
push eax
push ecx
push ebx
call fcn.004514c0
add esp, 0x24
mov edx, dword [esp + 0x44]
test byte [edx + 0x18], 0x80
je 0x44fb7a
mov ebx, dword [esi + 0x1c]
cmp dword [esi + 0x20], ebx
jg 0x44fb4b
mov edi, esi
call fcn.004253e0
test eax, eax
jne 0x44fb7a
mov edx, dword [esi + 4]
mov ecx, 1
add dword [esi + 0x1c], ecx
lea eax, [ebx + ebx*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x88]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x22
mov edx, dword [esp + 0x80]
test edx, edx
je 0x44fbb5
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x14]
push eax
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x14]
movsx edi, word [ecx + 0x26]
sub eax, edi
sub eax, 2
push eax
push ecx
push 2
push 0
push 0x6a
push edx
mov edx, dword [esp + 0x30]
push edx
call fcn.00462130
add esp, 0x24
or eax, 0xffffffff
sub eax, dword [esp + 0x1c]
js 0x44fbcb
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x44fbcb
mov edx, dword [esi + 0x1c]
mov dword [ecx + eax*4], edx
cmp dword [esp + 0x64], 0
je 0x44fc6f
mov ebx, dword [esi + 0x1c]
cmp dword [esi + 0x20], ebx
jg 0x44fbe9
mov edi, esi
call fcn.004253e0
test eax, eax
jne 0x44fc14
mov ecx, dword [esi + 4]
inc dword [esi + 0x1c]
mov edx, dword [esp + 0x40]
lea eax, [ebx + ebx*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x74]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 9
mov eax, dword [esp + 0x7c]
xor edx, edx
cmp eax, edx
jl 0x44fc2f
mov ecx, dword [esi + 0x1c]
cmp ecx, eax
jbe 0x44fc2f
mov edi, dword [esi + 4]
lea eax, [eax + eax*4]
mov dword [edi + eax*4 + 8], ecx
mov ebx, dword [esi + 0x1c]
cmp dword [esi + 0x20], ebx
jg 0x44fc48
mov edi, esi
call fcn.004253e0
test eax, eax
jne 0x44fcc9
xor edx, edx
mov eax, dword [esi + 4]
inc dword [esi + 0x1c]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x40]
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x38
jmp 0x44fcc9
cmp dword [esp + 0x20], 0
je 0x44fcc9
mov ebx, dword [esi + 0x1c]
cmp dword [esi + 0x20], ebx
jg 0x44fc89
mov edi, esi
call fcn.004253e0
test eax, eax
jne 0x44fcb0
mov eax, dword [esi + 4]
inc dword [esi + 0x1c]
lea edx, [ebx + ebx*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x74]
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x10
mov eax, dword [esp + 0x7c]
test eax, eax
js 0x44fcc9
mov ecx, dword [esi + 0x1c]
cmp ecx, eax
jbe 0x44fcc9
mov edx, dword [esi + 4]
lea eax, [eax + eax*4]
mov dword [edx + eax*4 + 8], ecx
mov eax, dword [esp + 0xc]
test byte [eax + 0x2c], 0x10
jne 0x44fd93
cmp dword [esp + 0x84], 0
jne 0x44fd93
mov ecx, dword [esp + 0x4c]
cmp ecx, dword [esp + 0x70]
jge 0x44fd2a
mov ebx, dword [esi + 0x1c]
cmp dword [esi + 0x20], ebx
jg 0x44fd02
mov edi, esi
call fcn.004253e0
test eax, eax
jne 0x44fd2a
mov eax, dword [esi + 4]
inc dword [esi + 0x1c]
lea edx, [ebx + ebx*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x4c]
xor ecx, ecx
mov byte [eax + 3], cl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x38
jmp 0x44fd2c
xor ecx, ecx
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0x38], eax
cmp eax, ecx
je 0x44fd93
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x60], ecx
mov ebx, dword [esi + 0x1c]
cmp dword [esi + 0x20], ebx
jg 0x44fd56
mov edi, esi
call fcn.004253e0
test eax, eax
jne 0x44fd7e
mov eax, dword [esi + 4]
inc dword [esi + 0x1c]
lea edx, [ebx + ebx*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x60]
xor ecx, ecx
mov byte [eax + 3], cl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x38
jmp 0x44fd80
xor ecx, ecx
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x14]
inc dword [esp + 0x60]
mov dword [esp + 0x38], eax
cmp eax, ecx
jne 0x44fd43
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x12], 0
jne 0x44fdb3
cmp dword [eax + 0x1bc], 0
jne 0x44fdb3
push eax
call fcn.0044e0d0
add esp, 4
test byte [ebx + 0x18], 0x80
je 0x44ef56
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0x12], 0
jne 0x44ef56
mov edx, ecx
cmp dword [edx + 0x1bc], 0
jne 0x44ef56
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x38], eax
cmp dword [esi + 0x20], eax
jg 0x44fdf5
mov edi, esi
call fcn.004253e0
test eax, eax
jne 0x44fe24
mov eax, dword [esp + 0x38]
mov edx, dword [esi + 4]
mov ecx, 1
add dword [esi + 0x1c], ecx
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x88]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x20
push 1
mov edi, esi
call fcn.00426c80
mov eax, dword [esi]
add esp, 4
cmp byte [eax + 0x40], 0
jne 0x44ef56
mov edx, dword [esi + 0x10]
push 1
push str.rows_inserted
xor eax, eax
or ecx, 0xffffffff
call fcn.00424980
add esp, 8
jmp 0x44ef56
push eax
call dword [0x4c4958]
mov ecx, dword [ebx + 0x200]
add esp, 4
add dword [ecx], eax
jmp 0x44fe9b
cmp eax, dword [ebx + 0x10c]
jb 0x44fe92
cmp eax, dword [ebx + 0x110]
jae 0x44fe92
mov edx, dword [ebx + 0x108]
mov dword [eax], edx
dec dword [ebx + 0xf4]
mov dword [ebx + 0x108], eax
jmp 0x44fe9b
push eax
call fcn.00408510
add esp, 4
mov edi, dword [esp + 0x24]
mov esi, ebx
call fcn.00443ea0
cmp dword [esp + 0x58], 0
je 0x44ff63
mov eax, dword [esp + 0x58]
test ebx, ebx
je 0x44ff5a
cmp dword [ebx + 0x200], 0
je 0x44ff21
cmp eax, dword [ebx + 0x10c]
jb 0x44fefa
cmp eax, dword [ebx + 0x110]
jae 0x44fefa
movzx eax, word [ebx + 0xf0]
mov ebx, dword [ebx + 0x200]
add dword [ebx], eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.004a01d6
mov esp, ebp
pop ebp
ret
push eax
call dword [0x4c4958]
mov ebx, dword [ebx + 0x200]
add esp, 4
add dword [ebx], eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.004a01d6
mov esp, ebp
pop ebp
ret
cmp eax, dword [ebx + 0x10c]
jb 0x44ff5a
cmp eax, dword [ebx + 0x110]
jae 0x44ff5a
mov ecx, dword [ebx + 0x108]
mov dword [eax], ecx
dec dword [ebx + 0xf4]
mov dword [ebx + 0x108], eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.004a01d6
mov esp, ebp
pop ebp
ret
push eax
call fcn.00408510
add esp, 4
mov ecx, dword [esp + 0xbc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004a01d6
mov esp, ebp
pop ebp
ret