Function at 0x44a89b
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 0x44ba35
cmp byte [ebx + 0x51], al
jne 0x44ba35
call fcn.0043775d
mov edi, eax
mov dword [esp + 0xb4], edi
test edi, edi
je 0x44ba35
mov edx, dword [edi + 0x48]
mov ecx, dword [esi]
call fcn.004420f7
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.0044a1a1
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.0043475e
test eax, eax
jne 0x44ba35
push dword [esp + 0xa8]
mov edx, edi
mov ecx, esi
call fcn.0043779a
pop ecx
test eax, eax
jne 0x44ba35
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 0x44a9ad
and dword [esp + 0x1c], 0
jmp 0x44a9bc
mov ecx, edi
call fcn.00432db5
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 0x44a9f7
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 0x44a9ce
mov edx, dword [esp + 0x80]
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x104]
test eax, eax
je 0x44aa13
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.00404e37
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x28], ecx
test ecx, ecx
je 0x44ba35
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.00461a70
xor edx, edx
xor eax, eax
add esp, 0xc
mov byte [ebx + ebp + 1], dl
mov ecx, edx
cmp ax, word [edi + 0x2a]
jge 0x44aa98
mov esi, dword [esp + 0x28]
or dword [esi + ecx*4], 0xffffffff
inc ecx
movsx eax, word [edi + 0x2a]
cmp ecx, eax
jl 0x44aa84
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 0x44ac5e
lea ebp, [ecx + 4]
mov edx, dword [ebp]
lea ecx, [esp + 0xc8]
call fcn.004297ca
test eax, eax
jne 0x44ba26
movsx eax, word [edi + 0x2a]
xor ebx, ebx
test eax, eax
jle 0x44ab98
mov eax, dword [edi + 4]
mov dword [esp + 0x30], eax
mov edx, dword [ebp + 4]
mov ecx, dword [eax]
call fcn.0040727a
test eax, eax
je 0x44ab4c
mov eax, dword [esp + 0x30]
inc ebx
movsx ecx, word [edi + 0x2a]
add eax, 0x10
mov dword [esp + 0x30], eax
cmp ebx, ecx
jl 0x44ab28
jmp 0x44ab98
movsx eax, word [edi + 0x28]
cmp ebx, eax
jne 0x44ab64
xor eax, eax
inc eax
mov byte [esp + 0x17], al
mov eax, dword [ebp]
mov dword [esp + 0x48], eax
jmp 0x44ab8d
cmp dword [esp + 0x1c], 0
je 0x44ab8d
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 0x44abde
cmp dword [esp + 0x1c], 0
jne 0x44ac79
mov ecx, dword [ebp + 4]
call fcn.0042b410
test eax, eax
je 0x44ac79
xor eax, eax
or ebx, 0xffffffff
inc eax
mov byte [esp + 0x17], al
mov eax, dword [ebp]
mov dword [esp + 0x48], eax
jmp 0x44abe2
test ebx, ebx
jns 0x44abe9
mov edx, str.ROWID
jmp 0x44ac03
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.00432298
xor ecx, ecx
add esp, 0xc
inc ecx
cmp eax, ecx
je 0x44ba26
cmp eax, 2
jne 0x44ac3b
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 0x44ab00
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 0x44aca2
or eax, 0xffffffff
or ecx, 0xffffffff
jmp 0x44acbc
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.004071a7
xor eax, eax
add esp, 0xc
inc eax
mov byte [esi + 0x11], al
jmp 0x44ba26
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.0043b528
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 0x44ae37
mov eax, dword [esp + 0x68]
mov edi, ebp
inc eax
mov dword [esp + 0x2c], eax
cmp byte [esp + 0x70], 0
jne 0x44ade8
xor ecx, ecx
inc ecx
cmp edx, ecx
jg 0x44ade8
cmp ebx, dword [esp + 0x1c]
je 0x44ade8
mov ecx, dword [ebx + 0x24]
test ecx, ecx
je 0x44ad56
movzx eax, byte [esp + 0x17]
mov edx, edi
push eax
call fcn.0043cff9
pop ecx
test eax, eax
jne 0x44ade8
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 0x44adff
mov dword [esp + 0x20], edx
mov eax, dword [ebx + 4]
movzx eax, word [eax + ecx*2]
test ax, ax
js 0x44ad85
cwde
mov eax, dword [edi + eax*4]
not eax
shr eax, 0x1f
jmp 0x44ada6
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.0043cff9
mov edx, dword [esp + 0x24]
pop ecx
mov ecx, dword [esp + 0x30]
test eax, eax
jne 0x44adc0
movzx eax, word [ebx + 0x32]
inc ecx
add edx, 0x18
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], edx
cmp ecx, eax
jl 0x44ad6e
jmp 0x44adfb
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 0x44adf7
cmp byte [ebx + 0x36], 5
jne 0x44adf7
xor eax, eax
inc eax
mov dword [esp + 0x50], eax
jmp 0x44adf7
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 0x44ae04
mov eax, dword [esp + 0x2c]
mov byte [eax], 0
jmp 0x44ae08
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 0x44ad15
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 0x44ae64
mov eax, dword [esp + 0xa4]
inc eax
push eax
xor eax, eax
inc eax
push eax
push dword [esp + 0x70]
call fcn.00461a70
add esp, 0xc
mov ecx, esi
call fcn.004443db
mov ebx, eax
test ebx, ebx
je 0x44ba26
cmp byte [esi + 0x12], 0
jne 0x44ae82
or dword [ebx + 0x98], 0x20
cmp dword [esp + 0x40], 0
jne 0x44ae94
cmp dword [esp + 0x34], 0
jne 0x44ae94
xor edx, edx
jmp 0x44ae99
xor eax, eax
lea edx, [eax + 1]
push dword [esp + 0x44]
mov ecx, esi
call fcn.00436b7d
cmp dword [edi + 0x38], 0
pop ecx
jne 0x44af30
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 0x44aeeb
cmp dword [esp + 0x40], 0
jne 0x44aeeb
mov eax, dword [esp + 0x34]
mov ecx, edx
test eax, eax
je 0x44af02
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 0x44af14
cmp dword [esp + 0x40], 0
jne 0x44af14
test eax, eax
je 0x44af20
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 0x44af70
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.00437825
add esp, 0x10
jmp 0x44af8c
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.004297ca
test eax, eax
jne 0x44ba0e
xor ecx, ecx
cmp dword [edi + 0x38], ecx
je 0x44afdc
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.0044ba6d
add esp, 0x18
jmp 0x44ba0e
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 0x44b02c
cmp dword [esi + 0x70], ecx
jne 0x44b02c
cmp byte [esi + 0x12], cl
jne 0x44b02c
cmp dword [esp + 0x104], ecx
jne 0x44b02c
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.0041b8a1
add esp, 0xc
xor ecx, ecx
test byte [edi + 0x24], 0x20
jne 0x44b075
push dword [esp + 0x24]
push dword [esp + 0x94]
push ecx
push 0x49
pop edx
mov ecx, ebx
call fcn.0041b8a1
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 0x44b0f1
jmp 0x44b1a9
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 0x44b1a5
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.0041b8a1
add esp, 0xc
mov ecx, ebx
push 0
push ebp
push dword [esp + 0x64]
push 0x70
pop edx
call fcn.0041b8a1
mov edx, dword [esp + 0x28]
add esp, 0xc
mov ecx, esi
mov dword [esp + 0xa0], eax
call fcn.0041bfe9
mov ebp, dword [esp + 0x30]
cmp byte [esi + 0x12], 0
mov ecx, 0x1004
jne 0x44b11c
cmp dword [esp + 0x40], 0
jne 0x44b11c
cmp dword [esp + 0x34], 0
jne 0x44b11c
cmp byte [esp + 0x70], 0
jne 0x44b11c
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.00454add
mov edx, eax
add esp, 0x14
mov dword [esp + 0x30], edx
test edx, edx
je 0x44ba0e
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 0x44b1f2
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 0x44b1f6
test ecx, ecx
js 0x44b1f6
cmp ecx, edx
je 0x44b1f6
mov eax, ecx
mov ecx, dword [esp + 0x68]
sub eax, dword [esp + 0x80]
cmp byte [eax + ecx], 0
je 0x44b1f6
and dword [esp + 0x38], 0
jmp 0x44b1f6
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.0042df3a
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 0x44b24e
mov ebp, dword [esp + 0x24]
mov ecx, ebx
push 0
push ebp
push edx
mov edx, 0x80
call fcn.0041b8a1
mov edx, dword [esp + 0x44]
add esp, 0xc
test edx, edx
jne 0x44b309
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.0041b8a1
add esp, 0xc
jmp 0x44b305
and dword [esp + 0x6c], 0
movsx ebp, bp
test ebp, ebp
jle 0x44b28e
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.0042c826
mov edx, dword [esp + 0x24]
add esp, 0xc
inc esi
cmp esi, ebp
jl 0x44b25e
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0x38]
test edx, edx
je 0x44b2bf
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x44b2ae
mov edx, eax
mov ecx, ebx
call fcn.0041beac
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x94], ebp
mov dword [esp + 0x3c], eax
jmp 0x44b309
mov edx, dword [esp + 0x1c]
push ebp
push ecx
mov ecx, dword [esp + 0x84]
call fcn.0043bc94
pop ecx
push eax
push dword [esp + 0x44]
mov ecx, ebx
push ebp
push dword [esp + 0x30]
push 0x5c
pop edx
call fcn.0041b9de
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.0041bb07
add esp, 0x10
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x104], 0
jne 0x44b4d2
cmp edx, 2
je 0x44b329
mov ecx, dword [esp + 0x30]
call fcn.00455496
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x78]
test eax, eax
jne 0x44b3d7
xor ebp, ebp
test edx, edx
je 0x44b3a2
mov eax, dword [esp + 0x98]
test eax, eax
js 0x44b355
sub eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x68]
mov byte [eax + ecx], 0
mov ecx, dword [esp + 0x44]
test ecx, ecx
js 0x44b375
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 0x44b3a2
xor eax, eax
test ecx, ecx
mov ecx, dword [esp + 0xa4]
setns al
sub ecx, eax
test ecx, ecx
jle 0x44b3a2
xor eax, eax
mov ecx, ebx
push eax
push eax
push eax
push 0x11
pop edx
call fcn.0041b8a1
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.0043dd8f
add esp, 0x18
test ebp, ebp
je 0x44b3d3
mov edx, ebp
mov ecx, ebx
call fcn.0041c004
mov ecx, dword [ebx + 0x6c]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x78]
mov ebp, dword [esp + 0x38]
test ebp, ebp
je 0x44b440
test eax, eax
jne 0x44b413
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x98], eax
je 0x44b413
cmp dword [esp + 0x44], eax
je 0x44b413
push dword [esp + 0x94]
mov ecx, ebx
push dword [esp + 0x40]
push dword [esp + 0x34]
push eax
push 0x1c
pop edx
call fcn.0041bb07
add esp, 0x10
xor eax, eax
inc eax
cmp ebp, eax
je 0x44b424
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 0x44b4c7
cmp dword [esp + 0x1c], 0
mov ecx, ebx
je 0x44b4a0
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.0041b8a1
add esp, 0xc
mov ecx, ebx
push 0
push dword [esp + 0x40]
push dword [esp + 0x64]
push 0x7f
pop edx
call fcn.0041b8a1
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.0041bb07
add esp, 0x10
jmp 0x44b4d2
mov ebp, dword [esp + 0x24]
push ebp
push dword [esp + 0x30]
push dword [esp + 0x98]
push 0x29
pop edx
call fcn.0041b8a1
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.0041b8a1
add esp, 0xc
cmp byte [esp + 0x17], 0
je 0x44b4fc
mov ebp, dword [esp + 0x58]
mov ecx, esi
mov edx, dword [esp + 0x48]
push ebp
call fcn.0042d8e1
pop ecx
push 0
push 0
push ebp
push 0xf
pop edx
mov ecx, ebx
call fcn.0041b8a1
add esp, 0xc
cmp byte [esp + 0x84], 0
mov eax, dword [esp + 0x34]
jne 0x44b518
test eax, eax
jne 0x44b51c
cmp dword [esp + 0x40], eax
je 0x44b602
test eax, eax
je 0x44b529
mov edx, edi
mov ecx, esi
call fcn.0043b456
mov ebp, eax
jmp 0x44b52b
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.0044a7b3
or ebp, eax
add esp, 0x14
mov dword [esp + 0x98], ebp
xor eax, eax
xor ebp, ebp
cmp ax, word [edi + 0x2a]
jge 0x44b5dd
mov esi, dword [esp + 0x98]
xor edx, edx
mov dword [esp + 0x44], edx
cmp esi, 0xffffffff
je 0x44b5a7
cmp ebp, 0x20
jge 0x44b581
xor eax, eax
mov ecx, ebp
inc eax
shl eax, cl
test esi, eax
jne 0x44b5a7
mov eax, dword [edi + 4]
xor ecx, ecx
inc ecx
test byte [eax + edx + 0xf], cl
jne 0x44b5a7
mov eax, dword [esp + 0x8c]
mov ecx, ebx
push 0
add eax, ebp
push eax
push 0
push 0x49
pop edx
call fcn.0041b8a1
jmp 0x44b5bf
mov eax, dword [esp + 0x8c]
mov edx, edi
add eax, ebp
mov ecx, ebx
push eax
push ebp
push dword [esp + 0x20]
call fcn.0042c826
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 0x44b56c
mov esi, dword [esp + 0x88]
cmp byte [esp + 0x17], 0
jne 0x44b602
cmp dword [esp + 0x1c], 0
jne 0x44b602
push 0
push dword [esp + 0x5c]
mov ecx, ebx
push dword [esp + 0x2c]
push 0x4e
pop edx
call fcn.0041b8a1
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.0044a7b3
mov edx, eax
add esp, 0x14
xor eax, eax
mov dword [esp + 0x8c], edx
xor ebp, ebp
cmp ax, word [edi + 0x2a]
jge 0x44b6c9
movsx eax, word [edi + 0x28]
cmp ebp, eax
jne 0x44b65a
mov eax, dword [esp + 0x4c]
mov ecx, ebx
push 0
add eax, ebp
push eax
push 0
push 0x49
pop edx
call fcn.0041b8a1
jmp 0x44b6b2
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + ebp*4]
test ecx, ecx
js 0x44b684
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.0042d8e1
pop ecx
jmp 0x44b6b5
xor eax, eax
inc eax
test dword [esp + 0xa8], eax
je 0x44b69d
cmp ebp, 0x1f
jg 0x44b69d
mov ecx, ebp
shl eax, cl
test edx, eax
je 0x44b643
mov eax, dword [esp + 0x4c]
mov edx, edi
add eax, ebp
mov ecx, ebx
push eax
push ebp
push dword [esp + 0x20]
call fcn.0042c826
add esp, 0xc
movsx eax, word [edi + 0x2a]
inc ebp
mov edx, dword [esp + 0x8c]
cmp ebp, eax
jl 0x44b63b
xor eax, eax
inc eax
test byte [esp + 0xa8], al
je 0x44b792
push dword [esp + 0x4c]
mov edx, edi
mov ecx, ebx
call fcn.0043bd3c
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.0044a75f
add esp, 0x1c
mov ecx, ebx
cmp dword [esp + 0x1c], 0
je 0x44b739
push dword [esp + 0x94]
push dword [esp + 0x40]
push ebp
push dword [esp + 0x24]
push 0x1c
pop edx
call fcn.0041bb07
add esp, 0x10
jmp 0x44b74d
push dword [esp + 0x24]
push ebp
push dword [esp + 0x20]
push 0x1f
pop edx
call fcn.0041b8a1
add esp, 0xc
xor eax, eax
xor ebp, ebp
cmp ax, word [edi + 0x2a]
jge 0x44b792
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
cmp dword [eax + ebp*4], 0
jge 0x44b782
movsx eax, word [edi + 0x28]
cmp ebp, eax
je 0x44b782
mov eax, dword [esp + 0x4c]
mov edx, edi
add eax, ebp
mov ecx, ebx
push eax
push ebp
push esi
call fcn.0042c826
add esp, 0xc
movsx eax, word [edi + 0x2a]
inc ebp
cmp ebp, eax
jl 0x44b75b
mov esi, dword [esp + 0x88]
cmp dword [esp + 0x78], 0
mov ebp, dword [esp + 0x64]
jne 0x44b90b
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.0043d03c
add esp, 0x2c
cmp dword [esp + 0x50], 0
jne 0x44b7ec
cmp byte [esp + 0x70], 0
je 0x44b826
cmp dword [esp + 0x1c], 0
mov ecx, ebx
je 0x44b812
push dword [esp + 0x94]
push dword [esp + 0x40]
push ebp
push dword [esp + 0x24]
push 0x1c
pop edx
call fcn.0041bb07
add esp, 0x10
jmp 0x44b826
push dword [esp + 0x24]
push ebp
push dword [esp + 0x20]
push 0x1f
pop edx
call fcn.0041b8a1
add esp, 0xc
cmp dword [esp + 0x34], 0
je 0x44b84a
push dword [esp + 0xac]
mov edx, edi
mov ecx, esi
push dword [esp + 0x2c]
push 0
push dword [esp + 0x30]
call fcn.0043b023
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.00438376
mov eax, dword [esp + 0x44]
xor ecx, ecx
inc ecx
add esp, 0x10
cmp eax, ecx
jg 0x44b876
cmp byte [esp + 0x70], 0
je 0x44b88f
push 0
push 0
push dword [esp + 0x20]
mov ecx, ebx
push 0x7b
pop edx
call fcn.0041b8a1
mov eax, dword [esp + 0x40]
add esp, 0xc
test eax, eax
je 0x44b8b0
push dword [esp + 0xac]
mov edx, edi
mov ecx, esi
push dword [esp + 0x2c]
push dword [esp + 0x60]
push 0
call fcn.0043b023
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.0043dc27
add esp, 0x1c
cmp dword [esp + 0x34], 0
je 0x44b90b
push dword [esp + 0xac]
mov edx, edi
mov ecx, esi
push dword [esp + 0x2c]
push dword [esp + 0x2c]
push dword [esp + 0xfc]
call fcn.0043bb3d
add esp, 0x10
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x44b92a
xor ecx, ecx
push 0
inc ecx
push ecx
push eax
push 0x53
pop edx
mov ecx, ebx
call fcn.0041b8a1
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.0044a75f
mov eax, dword [esp + 0x54]
xor ecx, ecx
inc ecx
add esp, 0x1c
cmp eax, ecx
je 0x44b9a1
mov edx, ebp
mov ecx, ebx
cmp eax, 2
jne 0x44b974
call fcn.0041bba0
mov ecx, dword [esp + 0x30]
call fcn.00455496
jmp 0x44b9a1
cmp dword [esp + 0x1c], 0
je 0x44b99c
call fcn.0041bba0
push 0
push dword [esp + 0xc0]
mov ecx, ebx
push dword [esp + 0x64]
push 5
pop edx
call fcn.0041b8a1
add esp, 0xc
jmp 0x44b9a1
call fcn.0041b91e
mov edx, dword [esp + 0x2c]
mov ecx, ebx
call fcn.0041bba0
cmp byte [esi + 0x12], 0
jne 0x44b9cf
cmp dword [esi + 0x70], 0
jne 0x44b9cf
cmp dword [esp + 0x104], 0
jne 0x44b9cf
cmp dword [esi + 0x68], 0
je 0x44b9cf
mov ecx, esi
call fcn.0043bfd3
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x44ba0e
xor ecx, ecx
push 0
inc ecx
push ecx
push eax
push 0x51
pop edx
mov ecx, ebx
call fcn.0041b8a1
xor eax, eax
add esp, 0xc
mov ecx, ebx
lea edx, [eax + 1]
call fcn.0041cbb2
push 0
push str.rows_updated
push ecx
xor edx, edx
mov ecx, ebx
call fcn.0041cc0e
add esp, 0xc
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x44ba26
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.00404c57
mov edx, dword [esp + 0x60]
mov ecx, ebx
call fcn.0043672e
mov eax, dword [esp + 0xf0]
test eax, eax
je 0x44ba54
mov edx, eax
mov ecx, ebx
call fcn.0042b03d
mov edx, dword [esp + 0xf4]
mov ecx, ebx
call fcn.0042a4e4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xdc
ret