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

Disassembly:
sub esp, 0xdc
push ebx
xor eax, eax
mov dword [esp + 0x54], edx
push ebp
push esi
mov esi, ecx
mov dword [esp + 0xb8], eax
xorps xmm0, xmm0
mov dword [esp + 0x84], esi
push edi
mov dword [esp + 0x48], eax
mov ebx, dword [esi]
mov dword [esp + 0x94], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
movlpd qword [esp + 0x98], xmm0
mov dword [esp + 0x7c], ebx
cmp dword [esi + 0x24], eax
jne 0x44b72e
cmp byte [ebx + 0x51], al
jne 0x44b72e
call fcn.00437456
mov edi, eax
mov dword [esp + 0xb4], edi
test edi, edi
je 0x44b72e
mov edx, dword [edi + 0x48]
mov ecx, dword [esi]
call fcn.00441df0
mov ecx, dword [esp + 0xf0]
mov edx, edi
mov dword [esp + 0x44], eax
lea eax, [esp + 0xa8]
push eax
push ecx
push 0x7d
mov ecx, esi
call fcn.00449e9a
add esp, 0xc
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0xc]
mov edx, edi
mov ecx, esi
mov dword [esp + 0x78], eax
call fcn.00434457
test eax, eax
jne 0x44b72e
push dword [esp + 0xa8]
mov edx, edi
mov ecx, esi
call fcn.00437493
pop ecx
test eax, eax
jne 0x44b72e
mov ebx, dword [esi + 0x28]
mov edx, ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x80], edx
lea eax, [ebx + 1]
mov dword [esi + 0x28], eax
test byte [edi + 0x24], 0x20
mov dword [esp + 0x74], eax
jne 0x44a6a6
and dword [esp + 0x1c], 0
jmp 0x44a6b5
mov ecx, edi
call fcn.00432aae
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [edi + 8]
xor ebp, ebp
mov dword [esp + 0xa4], ebp
test ecx, ecx
je 0x44a6f0
mov edx, eax
cmp dword [esp + 0x1c], ecx
mov eax, edx
cmovne eax, ebx
inc edx
mov dword [esi + 0x28], edx
inc ebp
mov ecx, dword [ecx + 0x14]
mov ebx, eax
test ecx, ecx
jne 0x44a6c7
mov edx, dword [esp + 0x80]
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x104]
test eax, eax
je 0x44a70c
mov ebx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x74], eax
mov dword [esi + 0x28], edx
mov eax, dword [esp + 0x60]
push 0
mov dword [eax + 0x34], ebx
movsx eax, word [edi + 0x2a]
mov ebx, dword [esp + 0x80]
add eax, ebp
mov ecx, ebx
lea eax, [eax*4 + 6]
add eax, ebp
push eax
call fcn.00404b2c
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x28], ecx
test ecx, ecx
je 0x44b72e
movsx eax, word [edi + 0x2a]
lea eax, [ecx + eax*4]
lea ebx, [eax + 4]
mov dword [esp + 0x54], eax
lea eax, [ebp + 1]
push eax
xor eax, eax
lea ebx, [ebx + ebp*4]
inc eax
mov dword [esp + 0x6c], ebx
push eax
push ebx
call fcn.00460f00
xor edx, edx
xor eax, eax
add esp, 0xc
mov byte [ebx + ebp + 1], dl
mov ecx, edx
cmp ax, word [edi + 0x2a]
jge 0x44a791
mov esi, dword [esp + 0x28]
or dword [esi + ecx*4], 0xffffffff
inc ecx
movsx eax, word [edi + 0x2a]
cmp ecx, eax
jl 0x44a77d
mov esi, dword [esp + 0x88]
mov ecx, dword [esp + 0xf0]
xorps xmm0, xmm0
mov eax, dword [esp + 0x104]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0xd0], eax
mov al, dl
movlpd qword [esp + 0xd4], xmm0
mov dword [esp + 0xdc], edx
mov dword [esp + 0xe4], edx
mov dword [esp + 0xc8], esi
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xe0], 0x200
mov byte [esp + 0x84], dl
mov byte [esp + 0x17], al
mov dword [esp + 0x20], edx
cmp dword [ecx], edx
jle 0x44a957
lea ebp, [ecx + 4]
mov edx, dword [ebp]
lea ecx, [esp + 0xc8]
call fcn.004294c2
test eax, eax
jne 0x44b71f
movsx eax, word [edi + 0x2a]
xor ebx, ebx
test eax, eax
jle 0x44a891
mov eax, dword [edi + 4]
mov dword [esp + 0x30], eax
mov edx, dword [ebp + 4]
mov ecx, dword [eax]
call fcn.00406f6f
test eax, eax
je 0x44a845
mov eax, dword [esp + 0x30]
inc ebx
movsx ecx, word [edi + 0x2a]
add eax, 0x10
mov dword [esp + 0x30], eax
cmp ebx, ecx
jl 0x44a821
jmp 0x44a891
movsx eax, word [edi + 0x28]
cmp ebx, eax
jne 0x44a85d
xor eax, eax
inc eax
mov byte [esp + 0x17], al
mov eax, dword [ebp]
mov dword [esp + 0x48], eax
jmp 0x44a886
cmp dword [esp + 0x1c], 0
je 0x44a886
mov ecx, dword [edi + 4]
mov eax, ebx
add eax, eax
xor edx, edx
inc edx
test byte [ecx + eax*8 + 0xf], dl
mov eax, dword [esp + 0x84]
movzx eax, al
cmovne eax, edx
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov dword [ecx + ebx*4], eax
mov al, byte [esp + 0x17]
mov ecx, dword [esp + 0x48]
mov byte [esp + 0x17], al
movsx eax, word [edi + 0x2a]
mov dword [esp + 0x48], ecx
cmp ebx, eax
jl 0x44a8d7
cmp dword [esp + 0x1c], 0
jne 0x44a972
mov ecx, dword [ebp + 4]
call fcn.0042b108
test eax, eax
je 0x44a972
xor eax, eax
or ebx, 0xffffffff
inc eax
mov byte [esp + 0x17], al
mov eax, dword [ebp]
mov dword [esp + 0x48], eax
jmp 0x44a8db
test ebx, ebx
jns 0x44a8e2
mov edx, str.ROWID
jmp 0x44a8fc
mov eax, dword [edi + 4]
mov ecx, ebx
add ecx, ecx
mov edx, dword [eax + ecx*8]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x48], eax
mov al, byte [esp + 0x17]
mov byte [esp + 0x17], al
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x44]
add ecx, ecx
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8]
mov ecx, esi
push edx
push dword [edi]
push 0x17
pop edx
call fcn.00431f91
xor ecx, ecx
add esp, 0xc
inc ecx
cmp eax, ecx
je 0x44b71f
cmp eax, 2
jne 0x44a934
mov eax, dword [esp + 0x28]
or dword [eax + ebx*4], 0xffffffff
mov ebx, dword [esp + 0x20]
add ebp, 0x18
mov eax, dword [esp + 0xf0]
inc ebx
mov dword [esp + 0x20], ebx
cmp ebx, dword [eax]
jl 0x44a7f9
mov al, byte [esp + 0x17]
mov ebx, dword [esp + 0x60]
mov dl, byte [esp + 0x84]
add dl, al
cmp dword [edi + 0x38], 0
mov byte [esp + 0x70], dl
je 0x44a99b
or eax, 0xffffffff
or ecx, 0xffffffff
jmp 0x44a9b5
imul eax, dword [esp + 0x20], 0x18
mov ecx, dword [esp + 0xf0]
push dword [eax + ecx + 8]
push str.no_such_column:__s
push esi
call fcn.00406e9c
xor eax, eax
add esp, 0xc
inc eax
mov byte [esi + 0x11], al
jmp 0x44b71f
xorps xmm0, xmm0
movlpd qword [esp + 0xc0], xmm0
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
mov ebp, dword [esp + 0x28]
mov dword [ebx + 0x40], eax
movzx eax, dl
mov edx, edi
push eax
mov dword [ebx + 0x44], ecx
mov ecx, esi
push ebp
mov dword [esp + 0xb4], eax
call fcn.0043b221
cmp dword [esp + 0x100], 5
mov edx, eax
mov eax, dword [esp + 0x58]
pop ecx
pop ecx
push 1
pop ecx
cmove eax, ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x50], eax
xor ecx, ecx
mov ebx, dword [edi + 8]
mov dword [esp + 0x6c], ecx
test ebx, ebx
je 0x44ab30
mov eax, dword [esp + 0x68]
mov edi, ebp
inc eax
mov dword [esp + 0x2c], eax
cmp byte [esp + 0x70], 0
jne 0x44aae1
xor ecx, ecx
inc ecx
cmp edx, ecx
jg 0x44aae1
cmp ebx, dword [esp + 0x1c]
je 0x44aae1
mov ecx, dword [ebx + 0x24]
test ecx, ecx
je 0x44aa4f
movzx eax, byte [esp + 0x17]
mov edx, edi
push eax
call fcn.0043ccf2
pop ecx
test eax, eax
jne 0x44aae1
mov eax, dword [esp + 0x2c]
xor ecx, ecx
xor edx, edx
xor ebp, ebp
mov dword [esp + 0x30], ecx
cmp dx, word [ebx + 0x32]
jae 0x44aaf8
mov dword [esp + 0x20], edx
mov eax, dword [ebx + 4]
movzx eax, word [eax + ecx*2]
test ax, ax
js 0x44aa7e
cwde
mov eax, dword [edi + eax*4]
not eax
shr eax, 0x1f
jmp 0x44aa9f
movzx eax, byte [esp + 0x17]
mov edx, edi
mov ecx, dword [ebx + 0x28]
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [ecx + eax + 4]
call fcn.0043ccf2
mov edx, dword [esp + 0x24]
pop ecx
mov ecx, dword [esp + 0x30]
test eax, eax
jne 0x44aab9
movzx eax, word [ebx + 0x32]
inc ecx
add edx, 0x18
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], edx
cmp ecx, eax
jl 0x44aa67
jmp 0x44aaf4
inc dword [esi + 0x2c]
movzx eax, word [ebx + 0x34]
mov ebp, dword [esi + 0x2c]
add eax, ebp
cmp dword [esp + 0xf8], 0xb
mov dword [esi + 0x2c], eax
jne 0x44aaf0
cmp byte [ebx + 0x36], 5
jne 0x44aaf0
xor eax, eax
inc eax
mov dword [esp + 0x50], eax
jmp 0x44aaf0
inc dword [esi + 0x2c]
movzx eax, word [ebx + 0x34]
mov ebp, dword [esi + 0x2c]
add eax, ebp
mov dword [esi + 0x2c], eax
test ebp, ebp
jne 0x44aafd
mov eax, dword [esp + 0x2c]
mov byte [eax], 0
jmp 0x44ab01
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x54]
mov dword [edx + ecx*4], ebp
inc ecx
mov ebx, dword [ebx + 0x14]
inc eax
mov edx, dword [esp + 0x34]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x2c], eax
test ebx, ebx
jne 0x44aa0e
mov edi, dword [esp + 0xb4]
mov ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x54]
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [edx + ecx*4], eax
cmp dword [esp + 0x50], 0
je 0x44ab5d
mov eax, dword [esp + 0xa4]
inc eax
push eax
xor eax, eax
inc eax
push eax
push dword [esp + 0x70]
call fcn.00460f00
add esp, 0xc
mov ecx, esi
call fcn.004440d4
mov ebx, eax
test ebx, ebx
je 0x44b71f
cmp byte [esi + 0x12], 0
jne 0x44ab7b
or dword [ebx + 0x98], 0x20
cmp dword [esp + 0x40], 0
jne 0x44ab8d
cmp dword [esp + 0x34], 0
jne 0x44ab8d
xor edx, edx
jmp 0x44ab92
xor eax, eax
lea edx, [eax + 1]
push dword [esp + 0x44]
mov ecx, esi
call fcn.00436876
cmp dword [edi + 0x38], 0
pop ecx
jne 0x44ac29
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esi + 0x2c]
inc edx
cmp byte [esp + 0x84], 0
mov dword [esp + 0x58], edx
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x90], eax
mov dword [esi + 0x2c], edx
mov dword [esp + 0x24], edx
jne 0x44abe4
cmp dword [esp + 0x40], 0
jne 0x44abe4
mov eax, dword [esp + 0x34]
mov ecx, edx
test eax, eax
je 0x44abfb
movsx ecx, word [edi + 0x2a]
lea eax, [edx + 1]
add ecx, edx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x34]
mov dword [esi + 0x2c], ecx
cmp byte [esp + 0x70], 0
jne 0x44ac0d
cmp dword [esp + 0x40], 0
jne 0x44ac0d
test eax, eax
je 0x44ac19
lea eax, [ecx + 1]
mov dword [esp + 0x58], eax
mov ecx, eax
mov dword [esi + 0x2c], eax
lea eax, [ecx + 1]
mov dword [esp + 0x4c], eax
movsx eax, word [edi + 0x2a]
add eax, ecx
mov dword [esi + 0x2c], eax
cmp dword [esp + 0x78], 0
je 0x44ac69
push dword [esp + 0x18]
mov eax, dword [esi + 0xe8]
mov edx, edi
push 0
push 0
push dword [esp + 0x100]
mov dword [esp + 0xc4], eax
mov ecx, esi
mov eax, dword [edi]
mov dword [esp + 0xd0], esi
mov dword [esi + 0xe8], eax
call fcn.0043751e
add esp, 0x10
jmp 0x44ac85
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0xb4], eax
mov edx, dword [esp + 0xf4]
lea ecx, [esp + 0xc8]
call fcn.004294c2
test eax, eax
jne 0x44b707
xor ecx, ecx
cmp dword [edi + 0x38], ecx
je 0x44acd5
push dword [esp + 0xf8]
mov edx, dword [esp + 0x64]
mov ecx, esi
push dword [esp + 0xf8]
push ebp
push dword [esp + 0x54]
push dword [esp + 0x100]
push edi
call fcn.0044b766
add esp, 0x18
jmp 0x44b707
dec dword [esi + 0x38]
mov eax, dword [esi + 0x38]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x7c]
mov eax, dword [eax + 0x20]
and eax, 0x80
or eax, ecx
je 0x44ad25
cmp dword [esi + 0x70], ecx
jne 0x44ad25
cmp byte [esi + 0x12], cl
jne 0x44ad25
cmp dword [esp + 0x104], ecx
jne 0x44ad25
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
push ecx
push eax
push ecx
push 0x46
pop edx
mov ecx, ebx
mov dword [esp + 0xbc], eax
call fcn.0041b599
add esp, 0xc
xor ecx, ecx
test byte [edi + 0x24], 0x20
jne 0x44ad6e
push dword [esp + 0x24]
push dword [esp + 0x94]
push ecx
push 0x49
pop edx
mov ecx, ebx
call fcn.0041b599
and dword [esp + 0x68], 0
xor eax, eax
and dword [esp + 0x2c], eax
add esp, 0xc
and dword [esp + 0x3c], eax
xor ebp, ebp
mov dword [esp + 0xa0], eax
cmp dword [esp + 0x104], eax
je 0x44adea
jmp 0x44aea2
mov eax, dword [esp + 0x1c]
movzx ecx, word [eax + 0x32]
mov eax, dword [esi + 0x2c]
movsx ebp, cx
mov dword [esp + 0x30], ecx
lea edx, [eax + 1]
inc eax
add eax, ebp
mov dword [esp + 0x20], edx
cmp dword [esp + 0x104], 0
mov dword [esp + 0x3c], eax
mov dword [esi + 0x2c], eax
jne 0x44ae9e
mov eax, dword [esi + 0x28]
mov ecx, ebx
mov dword [esp + 0x5c], eax
inc eax
mov dword [esi + 0x28], eax
lea eax, [ebp - 1]
add eax, edx
push eax
push edx
push 0
push 0x49
pop edx
call fcn.0041b599
add esp, 0xc
mov ecx, ebx
push 0
push ebp
push dword [esp + 0x64]
push 0x70
pop edx
call fcn.0041b599
mov edx, dword [esp + 0x28]
add esp, 0xc
mov ecx, esi
mov dword [esp + 0xa0], eax
call fcn.0041bce1
mov ebp, dword [esp + 0x30]
cmp byte [esi + 0x12], 0
mov ecx, 0x1004
jne 0x44ae15
cmp dword [esp + 0x40], 0
jne 0x44ae15
cmp dword [esp + 0x34], 0
jne 0x44ae15
cmp byte [esp + 0x70], 0
jne 0x44ae15
cmp dword [esp + 0x50], 0
lea eax, [ecx + 8]
cmove ecx, eax
push dword [esp + 0x74]
mov edx, dword [esp + 0x64]
push ecx
push 0
push 0
push dword [esp + 0x104]
mov ecx, esi
call fcn.004547d6
mov edx, eax
add esp, 0x14
mov dword [esp + 0x30], edx
test edx, edx
je 0x44b707
mov eax, dword [edx + 0x18]
mov ecx, dword [edx + 0x1c]
movzx edx, byte [edx + 0x31]
mov dword [esp + 0x98], eax
xor eax, eax
inc eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x38], edx
cmp edx, eax
je 0x44aeeb
cmp dword [esi + 0x6c], 0
mov eax, esi
cmovne eax, dword [esi + 0x6c]
cmp edx, 2
mov edx, dword [esp + 0x18]
mov byte [eax + 0x14], 1
jne 0x44aeef
test ecx, ecx
js 0x44aeef
cmp ecx, edx
je 0x44aeef
mov eax, ecx
mov ecx, dword [esp + 0x68]
sub eax, dword [esp + 0x80]
cmp byte [eax + ecx], 0
je 0x44aeef
and dword [esp + 0x38], 0
jmp 0x44aeef
mov ebp, dword [esp + 0x30]
and dword [esp + 0x30], 0
xor eax, eax
push 0x10
push dword [esp + 0x30]
inc eax
push dword [esp + 0xfc]
mov dword [esp + 0x44], eax
push esi
call fcn.0042dc32
and dword [esp + 0x6c], 0
add esp, 0x10
xor eax, eax
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x98], eax
mov edx, dword [esp + 0x18]
test byte [edi + 0x24], 0x20
jne 0x44af47
mov ebp, dword [esp + 0x24]
mov ecx, ebx
push 0
push ebp
push edx
mov edx, 0x80
call fcn.0041b599
mov edx, dword [esp + 0x44]
add esp, 0xc
test edx, edx
jne 0x44b002
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x54]
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
push 0
mov dword [edx + ecx*4], eax
mov edx, 0x93
push ebp
push dword [esp + 0x98]
mov ecx, ebx
call fcn.0041b599
add esp, 0xc
jmp 0x44affe
and dword [esp + 0x6c], 0
movsx ebp, bp
test ebp, ebp
jle 0x44af87
mov esi, dword [esp + 0x6c]
mov eax, dword [esp + 0x20]
mov ecx, ebx
add eax, esi
push eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
movsx eax, word [eax + esi*2]
push eax
push edx
mov edx, edi
call fcn.0042c51e
mov edx, dword [esp + 0x24]
add esp, 0xc
inc esi
cmp esi, ebp
jl 0x44af57
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0x38]
test edx, edx
je 0x44afb8
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x44afa7
mov edx, eax
mov ecx, ebx
call fcn.0041bba4
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x94], ebp
mov dword [esp + 0x3c], eax
jmp 0x44b002
mov edx, dword [esp + 0x1c]
push ebp
push ecx
mov ecx, dword [esp + 0x84]
call fcn.0043b98d
pop ecx
push eax
push dword [esp + 0x44]
mov ecx, ebx
push ebp
push dword [esp + 0x30]
push 0x5c
pop edx
call fcn.0041b6d6
add esp, 0x14
mov edx, 0x84
mov ecx, ebx
push ebp
push dword [esp + 0x24]
push dword [esp + 0x44]
push dword [esp + 0x68]
call fcn.0041b7ff
add esp, 0x10
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x104], 0
jne 0x44b1cb
cmp edx, 2
je 0x44b022
mov ecx, dword [esp + 0x30]
call fcn.0045518f
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x78]
test eax, eax
jne 0x44b0d0
xor ebp, ebp
test edx, edx
je 0x44b09b
mov eax, dword [esp + 0x98]
test eax, eax
js 0x44b04e
sub eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x68]
mov byte [eax + ecx], 0
mov ecx, dword [esp + 0x44]
test ecx, ecx
js 0x44b06e
mov esi, dword [esp + 0x68]
mov eax, ecx
sub eax, dword [esp + 0x80]
mov byte [eax + esi], 0
mov esi, dword [esp + 0x88]
cmp edx, 2
jne 0x44b09b
xor eax, eax
test ecx, ecx
mov ecx, dword [esp + 0xa4]
setns al
sub ecx, eax
test ecx, ecx
jle 0x44b09b
xor eax, eax
mov ecx, ebx
push eax
push eax
push eax
push 0x11
pop edx
call fcn.0041b599
add esp, 0xc
mov ebp, eax
xor edx, edx
mov ecx, esi
push edx
push edx
push dword [esp + 0x70]
push dword [esp + 0x8c]
push edx
push 0x62
mov edx, edi
call fcn.0043da88
add esp, 0x18
test ebp, ebp
je 0x44b0cc
mov edx, ebp
mov ecx, ebx
call fcn.0041bcfc
mov ecx, dword [ebx + 0x6c]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x78]
mov ebp, dword [esp + 0x38]
test ebp, ebp
je 0x44b139
test eax, eax
jne 0x44b10c
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x98], eax
je 0x44b10c
cmp dword [esp + 0x44], eax
je 0x44b10c
push dword [esp + 0x94]
mov ecx, ebx
push dword [esp + 0x40]
push dword [esp + 0x34]
push eax
push 0x1c
pop edx
call fcn.0041b7ff
add esp, 0x10
xor eax, eax
inc eax
cmp ebp, eax
je 0x44b11d
dec dword [esi + 0x38]
mov eax, dword [esi + 0x38]
mov dword [esp + 0x64], eax
cmp dword [esp + 0x1c], 0
mov eax, dword [esp + 0x24]
cmovne eax, dword [esp + 0x3c]
push 0
push dword [esp + 0x30]
push eax
push 0x32
jmp 0x44b1c0
cmp dword [esp + 0x1c], 0
mov ecx, ebx
je 0x44b199
dec dword [esi + 0x38]
mov ebp, dword [esi + 0x38]
push 0
push dword [esp + 0x30]
mov dword [esp + 0x6c], ebp
push dword [esp + 0x64]
push 0x24
pop edx
call fcn.0041b599
add esp, 0xc
mov ecx, ebx
push 0
push dword [esp + 0x40]
push dword [esp + 0x64]
push 0x7f
pop edx
call fcn.0041b599
add esp, 0xc
mov dword [esp + 0xbc], eax
mov ecx, ebx
push 0
push dword [esp + 0x40]
push ebp
push dword [esp + 0x24]
push 0x1c
pop edx
call fcn.0041b7ff
add esp, 0x10
jmp 0x44b1cb
mov ebp, dword [esp + 0x24]
push ebp
push dword [esp + 0x30]
push dword [esp + 0x98]
push 0x29
pop edx
call fcn.0041b599
add esp, 0xc
mov dword [esp + 0x64], eax
push ebp
push eax
push dword [esp + 0x20]
push 0x1f
pop edx
mov ecx, ebx
call fcn.0041b599
add esp, 0xc
cmp byte [esp + 0x17], 0
je 0x44b1f5
mov ebp, dword [esp + 0x58]
mov ecx, esi
mov edx, dword [esp + 0x48]
push ebp
call fcn.0042d5d9
pop ecx
push 0
push 0
push ebp
push 0xf
pop edx
mov ecx, ebx
call fcn.0041b599
add esp, 0xc
cmp byte [esp + 0x84], 0
mov eax, dword [esp + 0x34]
jne 0x44b211
test eax, eax
jne 0x44b215
cmp dword [esp + 0x40], eax
je 0x44b2fb
test eax, eax
je 0x44b222
mov edx, edi
mov ecx, esi
call fcn.0043b14f
mov ebp, eax
jmp 0x44b224
xor ebp, ebp
push dword [esp + 0xf8]
mov edx, dword [esp + 0x44]
mov ecx, esi
push edi
push 3
push 0
push dword [esp + 0x100]
call fcn.0044a4ac
or ebp, eax
add esp, 0x14
mov dword [esp + 0x98], ebp
xor eax, eax
xor ebp, ebp
cmp ax, word [edi + 0x2a]
jge 0x44b2d6
mov esi, dword [esp + 0x98]
xor edx, edx
mov dword [esp + 0x44], edx
cmp esi, 0xffffffff
je 0x44b2a0
cmp ebp, 0x20
jge 0x44b27a
xor eax, eax
mov ecx, ebp
inc eax
shl eax, cl
test esi, eax
jne 0x44b2a0
mov eax, dword [edi + 4]
xor ecx, ecx
inc ecx
test byte [eax + edx + 0xf], cl
jne 0x44b2a0
mov eax, dword [esp + 0x8c]
mov ecx, ebx
push 0
add eax, ebp
push eax
push 0
push 0x49
pop edx
call fcn.0041b599
jmp 0x44b2b8
mov eax, dword [esp + 0x8c]
mov edx, edi
add eax, ebp
mov ecx, ebx
push eax
push ebp
push dword [esp + 0x20]
call fcn.0042c51e
mov edx, dword [esp + 0x50]
add esp, 0xc
movsx eax, word [edi + 0x2a]
inc ebp
add edx, 0x10
mov dword [esp + 0x44], edx
cmp ebp, eax
jl 0x44b265
mov esi, dword [esp + 0x88]
cmp byte [esp + 0x17], 0
jne 0x44b2fb
cmp dword [esp + 0x1c], 0
jne 0x44b2fb
push 0
push dword [esp + 0x5c]
mov ecx, ebx
push dword [esp + 0x2c]
push 0x4e
pop edx
call fcn.0041b599
add esp, 0xc
push dword [esp + 0xf8]
mov edx, dword [esp + 0x44]
xor eax, eax
push edi
inc eax
mov ecx, esi
push eax
push eax
push dword [esp + 0x100]
call fcn.0044a4ac
mov edx, eax
add esp, 0x14
xor eax, eax
mov dword [esp + 0x8c], edx
xor ebp, ebp
cmp ax, word [edi + 0x2a]
jge 0x44b3c2
movsx eax, word [edi + 0x28]
cmp ebp, eax
jne 0x44b353
mov eax, dword [esp + 0x4c]
mov ecx, ebx
push 0
add eax, ebp
push eax
push 0
push 0x49
pop edx
call fcn.0041b599
jmp 0x44b3ab
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + ebp*4]
test ecx, ecx
js 0x44b37d
mov eax, dword [esp + 0x4c]
imul edx, ecx, 0x18
add eax, ebp
push eax
mov eax, dword [esp + 0xf4]
mov ecx, esi
mov edx, dword [edx + eax + 4]
call fcn.0042d5d9
pop ecx
jmp 0x44b3ae
xor eax, eax
inc eax
test dword [esp + 0xa8], eax
je 0x44b396
cmp ebp, 0x1f
jg 0x44b396
mov ecx, ebp
shl eax, cl
test edx, eax
je 0x44b33c
mov eax, dword [esp + 0x4c]
mov edx, edi
add eax, ebp
mov ecx, ebx
push eax
push ebp
push dword [esp + 0x20]
call fcn.0042c51e
add esp, 0xc
movsx eax, word [edi + 0x2a]
inc ebp
mov edx, dword [esp + 0x8c]
cmp ebp, eax
jl 0x44b334
xor eax, eax
inc eax
test byte [esp + 0xa8], al
je 0x44b48b
push dword [esp + 0x4c]
mov edx, edi
mov ecx, ebx
call fcn.0043ba35
mov ebp, dword [esp + 0x68]
xor eax, eax
mov edx, dword [esp + 0x44]
inc eax
pop ecx
push ebp
push dword [esp + 0xfc]
mov ecx, esi
push dword [esp + 0x2c]
push edi
push eax
push dword [esp + 0x104]
push 0x7d
call fcn.0044a458
add esp, 0x1c
mov ecx, ebx
cmp dword [esp + 0x1c], 0
je 0x44b432
push dword [esp + 0x94]
push dword [esp + 0x40]
push ebp
push dword [esp + 0x24]
push 0x1c
pop edx
call fcn.0041b7ff
add esp, 0x10
jmp 0x44b446
push dword [esp + 0x24]
push ebp
push dword [esp + 0x20]
push 0x1f
pop edx
call fcn.0041b599
add esp, 0xc
xor eax, eax
xor ebp, ebp
cmp ax, word [edi + 0x2a]
jge 0x44b48b
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
cmp dword [eax + ebp*4], 0
jge 0x44b47b
movsx eax, word [edi + 0x28]
cmp ebp, eax
je 0x44b47b
mov eax, dword [esp + 0x4c]
mov edx, edi
add eax, ebp
mov ecx, ebx
push eax
push ebp
push esi
call fcn.0042c51e
add esp, 0xc
movsx eax, word [edi + 0x2a]
inc ebp
cmp ebp, eax
jl 0x44b454
mov esi, dword [esp + 0x88]
cmp dword [esp + 0x78], 0
mov ebp, dword [esp + 0x64]
jne 0x44b604
push 0
push dword [esp + 0x2c]
lea eax, [esp + 0x58]
mov edx, edi
push eax
push ebp
push dword [esp + 0x108]
mov ecx, esi
push dword [esp + 0x84]
push dword [esp + 0x3c]
push dword [esp + 0x74]
push dword [esp + 0x94]
push dword [esp + 0x3c]
push dword [esp + 0x7c]
call fcn.0043cd35
add esp, 0x2c
cmp dword [esp + 0x50], 0
jne 0x44b4e5
cmp byte [esp + 0x70], 0
je 0x44b51f
cmp dword [esp + 0x1c], 0
mov ecx, ebx
je 0x44b50b
push dword [esp + 0x94]
push dword [esp + 0x40]
push ebp
push dword [esp + 0x24]
push 0x1c
pop edx
call fcn.0041b7ff
add esp, 0x10
jmp 0x44b51f
push dword [esp + 0x24]
push ebp
push dword [esp + 0x20]
push 0x1f
pop edx
call fcn.0041b599
add esp, 0xc
cmp dword [esp + 0x34], 0
je 0x44b543
push dword [esp + 0xac]
mov edx, edi
mov ecx, esi
push dword [esp + 0x2c]
push 0
push dword [esp + 0x30]
call fcn.0043ad1c
add esp, 0x10
push 0xffffffffffffffff
push dword [esp + 0x58]
mov edx, edi
mov ecx, esi
push dword [esp + 0x7c]
push dword [esp + 0x24]
call fcn.0043806f
mov eax, dword [esp + 0x44]
xor ecx, ecx
inc ecx
add esp, 0x10
cmp eax, ecx
jg 0x44b56f
cmp byte [esp + 0x70], 0
je 0x44b588
push 0
push 0
push dword [esp + 0x20]
mov ecx, ebx
push 0x7b
pop edx
call fcn.0041b599
mov eax, dword [esp + 0x40]
add esp, 0xc
test eax, eax
je 0x44b5a9
push dword [esp + 0xac]
mov edx, edi
mov ecx, esi
push dword [esp + 0x2c]
push dword [esp + 0x60]
push 0
call fcn.0043ad1c
add esp, 0x10
cmp dword [esp + 0x38], 2
mov edx, edi
push 0
push 0
push 4
pop eax
push 6
pop ecx
cmove eax, ecx
mov ecx, esi
push eax
push dword [esp + 0x60]
push dword [esp + 0x68]
push dword [esp + 0x88]
push dword [esp + 0x30]
call fcn.0043d920
add esp, 0x1c
cmp dword [esp + 0x34], 0
je 0x44b604
push dword [esp + 0xac]
mov edx, edi
mov ecx, esi
push dword [esp + 0x2c]
push dword [esp + 0x2c]
push dword [esp + 0xfc]
call fcn.0043b836
add esp, 0x10
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x44b623
xor ecx, ecx
push 0
inc ecx
push ecx
push eax
push 0x53
pop edx
mov ecx, ebx
call fcn.0041b599
add esp, 0xc
mov edx, dword [esp + 0x40]
mov ecx, esi
push ebp
push dword [esp + 0xfc]
push dword [esp + 0x2c]
push edi
push 2
push dword [esp + 0x104]
push 0x7d
call fcn.0044a458
mov eax, dword [esp + 0x54]
xor ecx, ecx
inc ecx
add esp, 0x1c
cmp eax, ecx
je 0x44b69a
mov edx, ebp
mov ecx, ebx
cmp eax, 2
jne 0x44b66d
call fcn.0041b898
mov ecx, dword [esp + 0x30]
call fcn.0045518f
jmp 0x44b69a
cmp dword [esp + 0x1c], 0
je 0x44b695
call fcn.0041b898
push 0
push dword [esp + 0xc0]
mov ecx, ebx
push dword [esp + 0x64]
push 5
pop edx
call fcn.0041b599
add esp, 0xc
jmp 0x44b69a
call fcn.0041b616
mov edx, dword [esp + 0x2c]
mov ecx, ebx
call fcn.0041b898
cmp byte [esi + 0x12], 0
jne 0x44b6c8
cmp dword [esi + 0x70], 0
jne 0x44b6c8
cmp dword [esp + 0x104], 0
jne 0x44b6c8
cmp dword [esi + 0x68], 0
je 0x44b6c8
mov ecx, esi
call fcn.0043bccc
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x44b707
xor ecx, ecx
push 0
inc ecx
push ecx
push eax
push 0x51
pop edx
mov ecx, ebx
call fcn.0041b599
xor eax, eax
add esp, 0xc
mov ecx, ebx
lea edx, [eax + 1]
call fcn.0041c8aa
push 0
push str.rows_updated
push ecx
xor edx, edx
mov ecx, ebx
call fcn.0041c906
add esp, 0xc
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x44b71f
mov ecx, dword [esp + 0xb4]
mov dword [eax + 0xe8], ecx
mov ebx, dword [esp + 0x7c]
mov ecx, ebx
mov edx, dword [esp + 0x28]
call fcn.0040494c
mov edx, dword [esp + 0x60]
mov ecx, ebx
call fcn.00436427
mov eax, dword [esp + 0xf0]
test eax, eax
je 0x44b74d
mov edx, eax
mov ecx, ebx
call fcn.0042ad35
mov edx, dword [esp + 0xf4]
mov ecx, ebx
call fcn.0042a1dc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xdc
ret