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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb4
mov eax, dword [0x4f72bc]
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 0x44fa76
cmp byte [ebx + 0x40], al
jne 0x44fa76
mov eax, dword [esp + 0x68]
cmp dword [eax + 0x10], 0
je 0x44fa76
mov edi, dword [esp + 0x10]
mov ecx, eax
call fcn.004465e0
mov dword [esp + 0xc], eax
test eax, eax
je 0x44fa76
mov edi, eax
mov esi, dword [edi + 0x44]
mov ecx, ebx
call fcn.00456e00
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.0043f7c0
add esp, 0x10
test eax, eax
jne 0x44fa76
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.004624c0
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.00442860
test eax, eax
jne 0x44fa76
mov edx, dword [esp + 0x3c]
push edx
mov ecx, esi
call fcn.004466e0
add esp, 4
test eax, eax
jne 0x44fa76
mov eax, edi
push eax
call fcn.00459fa0
mov esi, eax
add esp, 4
mov dword [esp + 0x6c], esi
test esi, esi
je 0x44fa76
mov ecx, edi
cmp byte [ecx + 0x12], 0
jne 0x44f760
or dword [esi + 0x64], 0x10
cmp dword [esp + 0x20], 0
jne 0x44f775
cmp dword [esp + 0x80], 0
jne 0x44f775
xor eax, eax
jmp 0x44f77a
mov eax, 1
mov edi, dword [esp + 0x18]
push eax
mov eax, ecx
call fcn.00445420
add esp, 4
cmp dword [esp + 0x24], 0
jne 0x44f7b5
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.004525b0
add esp, 0x10
test eax, eax
jne 0x4508b7
mov ebx, dword [esp + 0xc]
mov eax, edi
mov edi, dword [esp + 0x10]
push eax
mov edx, edi
call fcn.0044e390
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x24]
xor ebx, ebx
add esp, 4
cmp eax, ebx
je 0x44f915
lea ecx, [esp + 0xac]
push ecx
push eax
push edi
call fcn.0044f3f0
add esp, 0xc
test eax, eax
jne 0x44fa72
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 0x44f843
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
push ecx
mov eax, ebx
call fcn.0044e2b0
add esp, 4
test eax, eax
je 0x44f9ae
jmp 0x44f845
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.0043bd80
mov dword [esp + 0x1c], eax
call fcn.0043bd80
mov ebx, eax
mov eax, dword [esp + 0x54]
push eax
push edi
push 0x35
mov eax, esi
call fcn.00426030
mov ecx, dword [esp + 0xbc]
add esp, 0xc
push ecx
push 0x14
mov eax, esi
call fcn.00425fe0
mov edx, dword [esp + 0x30]
push edx
mov dword [esp + 0x44], eax
push 0x29
mov eax, esi
call fcn.00425fe0
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.00425f30
push ebx
push edi
push 0x43
mov eax, esi
call fcn.00426030
mov eax, dword [esp + 0x48]
add esp, 0x2c
push ebx
push eax
push edi
push 0x44
mov eax, esi
call fcn.00425f30
mov ecx, dword [esp + 0x48]
push ecx
push 0
push 0x10
mov eax, esi
call fcn.00426030
mov eax, dword [esp + 0x78]
add esp, 0x1c
mov edx, esi
call fcn.00426590
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
call fcn.0043bda0
mov esi, ebx
call fcn.0043bda0
jmp 0x44f9a6
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 0x44f96a
mov eax, dword [eax]
jmp 0x44f96c
xor eax, eax
mov dword [esp + 0x54], eax
cmp eax, ebx
jle 0x44f9aa
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.00436360
test eax, eax
jne 0x44fa72
add dword [esp + 0x1c], 0x18
inc ebx
cmp ebx, dword [esp + 0x54]
jl 0x44f978
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0xc]
test byte [edi + 0x2c], 0x10
je 0x44fa2d
movsx ecx, word [edi + 0x26]
xor edx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
cmp ecx, 2
jl 0x44f9f9
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 0x44f9d6
mov edi, dword [esp + 0xc]
movsx eax, word [edi + 0x26]
cmp edx, eax
jge 0x44fa1d
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 0x44fa31
mov ecx, dword [esp + 0x1c]
add ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
add eax, ecx
jmp 0x44fa31
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x44fb49
mov edx, dword [esp + 0x54]
test edx, edx
je 0x44fca4
movsx ecx, word [edi + 0x26]
sub ecx, eax
cmp edx, ecx
je 0x44fc98
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 int.0040b490
add esp, 0x18
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x68]
push ecx
mov eax, ebx
call fcn.00444d90
mov edx, dword [esp + 0x54]
add esp, 4
push edx
push ebx
call fcn.00437e90
add esp, 8
cmp dword [esp + 0x20], 0
je 0x4509bb
mov esi, dword [esp + 0x20]
mov eax, dword [esi]
push eax
push ebx
call fcn.00437e90
mov ecx, dword [esi + 0x28]
push ecx
mov eax, ebx
call fcn.00444d90
mov edx, dword [esi + 0x2c]
add esp, 0xc
push edx
push ebx
call fcn.004372f0
mov eax, dword [esi + 0x30]
push eax
push ebx
call fcn.00437e90
mov ecx, dword [esi + 0x34]
push ecx
push ebx
call fcn.004372f0
mov edx, dword [esi + 0x38]
push edx
push ebx
call fcn.00437e90
mov esi, dword [esi + 0x3c]
mov edi, ebx
call fcn.004577f0
mov esi, dword [esp + 0x40]
mov eax, dword [esi + 0x48]
push eax
push ebx
call fcn.004372f0
mov ecx, dword [esi + 0x4c]
push ecx
push ebx
call fcn.004372f0
add esp, 0x30
mov eax, esi
test ebx, ebx
je 0x4509b2
cmp dword [ebx + 0x200], 0
je 0x45098c
cmp eax, dword [ebx + 0x10c]
jb 0x450978
cmp eax, dword [ebx + 0x110]
jae 0x450978
movzx eax, word [ebx + 0xf0]
mov ecx, dword [ebx + 0x200]
add dword [ecx], eax
jmp 0x4509bb
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x54]
cmp eax, edx
je 0x44fb6d
push edx
mov edx, dword [esp + 0x14]
push eax
push str._d_values_for__d_columns
push edx
call int.0040b490
add esp, 0x10
jmp 0x44fa72
xor eax, eax
test edx, edx
jle 0x44fb82
or edx, 0xffffffff
mov ebx, dword [ecx]
mov dword [ebx + eax*8 + 4], edx
inc eax
cmp eax, dword [ecx + 4]
jl 0x44fb76
cmp dword [ecx + 4], 0
mov dword [esp + 0x14], 0
jle 0x44fca4
movsx eax, word [edi + 0x26]
xor ebx, ebx
mov dword [esp + 0x5c], eax
test eax, eax
jle 0x44fbfb
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 int.0040b5f0
add esp, 8
test eax, eax
je 0x44fbe0
inc ebx
add edi, 0x18
cmp ebx, dword [esp + 0x5c]
jl 0x44fbc0
jmp 0x44fbfb
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xc]
mov dword [ecx + 4], ebx
movsx eax, word [edx + 0x24]
cmp ebx, eax
jne 0x44fbfb
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 0x44fc55
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
mov ebx, dword [edx + edi*8]
push str._ROWID_
push ebx
call int.0040b5f0
add esp, 8
test eax, eax
je 0x44fc4a
push str.ROWID
push ebx
call int.0040b5f0
add esp, 8
test eax, eax
je 0x44fc4a
push 0x4e9608
push ebx
call int.0040b5f0
add esp, 8
test eax, eax
jne 0x44fc6c
cmp dword [esp + 0x30], 0
jne 0x44fc6c
mov dword [esp + 0x48], edi
mov eax, dword [esp + 0x24]
inc edi
mov dword [esp + 0x14], edi
cmp edi, dword [eax + 4]
jge 0x44fca4
mov edi, dword [esp + 0xc]
jmp 0x44fb94
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 int.0040b490
add esp, 0x14
mov byte [esi + 0x11], 1
jmp 0x44fa72
test edx, edx
jle 0x44fca4
movsx edx, word [edi + 0x24]
mov dword [esp + 0x48], edx
mov edi, dword [esp + 0x44]
test byte [edi + 0x18], 0x80
je 0x44fcce
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.00426030
add esp, 0xc
cmp dword [esp + 0x84], 0
jne 0x44fd3c
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.004522a0
mov ebx, eax
add esp, 0x1c
lea ecx, [ebx*4 + 4]
mov esi, edi
call fcn.004092c0
mov dword [esp + 0x58], eax
test eax, eax
je 0x44fa72
xor eax, eax
test ebx, ebx
jle 0x44fd38
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 0x44fd21
mov esi, dword [esp + 0x6c]
cmp dword [esp + 0x64], 0
je 0x44fd5d
mov ecx, dword [esp + 0x40]
push ecx
push 0x67
mov eax, esi
call fcn.00425fe0
mov edx, dword [esi + 0x1c]
add esp, 8
mov dword [esp + 0x74], edx
jmp 0x44fd8d
cmp dword [esp + 0x20], 0
je 0x44fd91
mov eax, dword [esp + 0xb0]
push eax
push 0x14
mov eax, esi
call fcn.00425fe0
mov ecx, dword [esp + 0x30]
push ecx
mov dword [esp + 0x80], eax
push 0x29
mov eax, esi
call fcn.00425fe0
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 0x44fdc1
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.004262a0
test byte [esp + 0x3c], 1
mov dword [esp + 0x1c], eax
je 0x450092
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 0x44fe02
lea edx, [ebx + eax]
sub ecx, eax
mov dword [edi + 0x40], edx
mov dword [edi + 0x3c], ecx
jmp 0x44fe11
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 0x44fe2c
push 0xffffffffffffffff
push 0x17
mov eax, esi
call fcn.00426030
add esp, 0xc
jmp 0x44fe9f
cmp dword [esp + 0x68], 0
mov eax, dword [esp + 0x4c]
je 0x44fe4b
mov ecx, dword [esp + 0x44]
push eax
push ecx
push 0x2b
mov eax, esi
call fcn.00425f30
add esp, 0x10
jmp 0x44fe62
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.0043ab90
add esp, 0xc
push ebx
push 0x4b
mov eax, esi
call fcn.00425fe0
push ebx
mov edi, eax
push 0xffffffffffffffff
push 0x17
mov eax, esi
call fcn.00426030
add esp, 0x14
test edi, edi
js 0x44fe92
mov eax, dword [esi + 0x1c]
cmp eax, edi
jbe 0x44fe92
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.00425fe0
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 0x44ffc8
mov dword [esp + 0x28], eax
lea esp, [esp]
mov edx, dword [esp + 0x24]
test edx, edx
jne 0x44ff12
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x64]
test eax, eax
jne 0x44fede
cmp dword [esp + 0x50], eax
je 0x44fee7
test edx, edx
je 0x44ff32
cmp ebx, dword [edx + 4]
jl 0x44ff32
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.0043ab90
add esp, 0xc
jmp 0x44ffaa
mov ecx, dword [edx + 4]
xor ebx, ebx
test ecx, ecx
jle 0x44fecc
mov eax, dword [edx]
mov edi, dword [esp + 0x14]
add eax, 4
cmp dword [eax], edi
je 0x44fed0
inc ebx
add eax, 8
cmp ebx, ecx
jl 0x44ff24
jmp 0x44fed0
test eax, eax
je 0x44ff88
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x3c], eax
cmp dword [esi + 0x20], eax
jg 0x44ff55
mov edi, esi
call fcn.00425eb0
mov edi, dword [esp + 0x14]
test eax, eax
jne 0x44ffaa
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 0x44ffaa
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.0043ac30
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 0x44fec0
mov ebx, dword [esp + 0x18]
cmp dword [esp + 0x84], 0
jne 0x450030
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 0x44fff9
mov edi, esi
call fcn.00425eb0
test eax, eax
jne 0x450023
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.0044e1e0
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.00462c80
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.004394b0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x3c]
jle 0x45008e
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 0x45064e
mov eax, dword [esp + 0xc]
test byte [eax + 0x2c], 0x10
je 0x4500ef
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x3c], eax
cmp dword [esi + 0x20], eax
jg 0x4500c5
mov edi, esi
call fcn.00425eb0
mov ebx, dword [esp + 0x2c]
test eax, eax
jne 0x4500ef
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 0x450226
cmp dword [esp + 0x64], 0
push ebx
je 0x450175
push eax
mov eax, dword [esp + 0x48]
push eax
push 0x2b
mov eax, esi
call fcn.00425f30
add esp, 0x10
mov edx, dword [esp + 0xc]
test byte [edx + 0x2c], 0x10
mov eax, esi
jne 0x450205
push ebx
push 0x4b
call fcn.00425fe0
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.00425f30
add esp, 0x18
test edi, edi
js 0x450217
mov eax, dword [esi + 0x1c]
cmp eax, edi
jbe 0x450217
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.00425fe0
add esp, 8
jmp 0x450267
cmp dword [esp + 0x24], 0
je 0x450191
mov ecx, dword [esp + 0x7c]
add ecx, eax
push ecx
push 0x1f
mov eax, esi
call fcn.00426030
add esp, 0xc
jmp 0x450115
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.0043ab90
mov ecx, dword [esi]
mov eax, dword [esi + 0x1c]
add esp, 0xc
cmp byte [ecx + 0x40], 0
je 0x4501be
mov eax, 0x4fb480
jmp 0x4501d0
lea edx, [eax + eax*4 - 5]
mov eax, dword [esi + 4]
lea eax, [eax + edx*4]
test eax, eax
je 0x450115
cmp byte [eax], 0x1a
jne 0x450115
mov ecx, dword [esp + 0xc]
test byte [ecx + 0x2c], 0x10
jne 0x450115
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 0x450267
mov edx, dword [esi + 0x1c]
add edx, 2
push edx
push ebx
push 0x4a
call fcn.00426030
add esp, 0xc
push ebx
push 0x23
mov eax, esi
call fcn.00425fe0
add esp, 8
jmp 0x450267
mov eax, dword [esp + 0xc]
test byte [eax + 0x2c], 0x10
jne 0x450258
cmp dword [esp + 0x30], 0
jne 0x450258
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x4c]
push ecx
push ebx
push edx
push 0x43
mov eax, esi
call fcn.00425f30
add esp, 0x10
mov dword [esp + 0x60], 1
jmp 0x450267
push ebx
push 0
push 0x1a
mov eax, esi
call fcn.00426030
add esp, 0xc
cmp dword [esp + 0x34], 0
jle 0x4502b9
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 0x45028e
call fcn.00425eb0
test eax, eax
jne 0x4502b9
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 0x450397
mov dword [esp + 0x18], eax
jmp 0x4502e4
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 0x450336
mov ebx, dword [esi + 0x1c]
cmp dword [esi + 0x20], ebx
jg 0x45030d
mov edi, esi
call fcn.00425eb0
test eax, eax
jne 0x450379
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 0x450379
cmp dword [esp + 0x24], 0
jne 0x45040e
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x18]
test byte [eax + ecx + 0x17], 2
je 0x450400
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.0043ab90
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 0x4502e0
mov edi, dword [esp + 0xc]
test byte [edi + 0x2c], 0x10
je 0x4505c9
mov eax, dword [edi + 0x3c]
mov dword [esp + 0x28], eax
test eax, eax
je 0x4503c3
mov ecx, dword [esp + 0x44]
cmp dword [eax], ecx
je 0x4503bf
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x4503b4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x10]
push edi
call fcn.00467530
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 0x450519
mov edi, esi
call fcn.00425eb0
test eax, eax
je 0x450515
mov ebx, 1
jmp 0x450547
mov ebx, dword [esp + 0x14]
sub ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
jmp 0x450430
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 4]
xor ebx, ebx
test ecx, ecx
jle 0x450438
mov eax, dword [edx]
mov edi, dword [esp + 0x14]
add eax, 4
cmp dword [eax], edi
je 0x450430
inc ebx
add eax, 8
cmp ebx, ecx
jl 0x450424
test ebx, ebx
js 0x450357
cmp dword [esp + 0x54], 0
je 0x450357
test edx, edx
je 0x450450
cmp ebx, dword [edx + 4]
jge 0x450357
cmp dword [esp + 0x64], 0
je 0x4504a8
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x30], eax
cmp dword [esi + 0x20], eax
jg 0x450476
mov edi, esi
call fcn.00425eb0
test eax, eax
jne 0x450379
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 0x450379
cmp dword [esp + 0x20], 0
je 0x4504fe
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x30], eax
cmp dword [esi + 0x20], eax
jg 0x4504ce
mov edi, esi
call fcn.00425eb0
test eax, eax
jne 0x450379
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 0x450379
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 0x45036b
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 0x450592
cmp byte [edi + 0x40], 0
jne 0x450592
test ebx, ebx
jns 0x450560
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.004265b0
mov eax, dword [esp + 0x28]
xor ecx, ecx
mov dword [ebx + 0x10], ecx
cmp eax, ecx
jne 0x450588
mov dword [ebx + 0x10], ecx
mov byte [ebx + 1], cl
jmp 0x450592
mov dword [ebx + 0x10], eax
mov byte [ebx + 1], 0xf6
inc dword [eax + 0xc]
mov edx, dword [ebp + 0x14]
cmp edx, 0xa
jne 0x45059f
mov edx, 2
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x4505b0
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 0x4505c0
mov eax, ecx
mov byte [eax + 0x18], 1
jmp 0x45064e
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.00450aa0
mov ecx, dword [esp + 0x38]
add esp, 0x2c
push 0
push 0
push edi
push 0
push ecx
call fcn.0044c950
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.00451fe0
add esp, 0x24
mov edx, dword [esp + 0x44]
test byte [edx + 0x18], 0x80
je 0x45069a
mov ebx, dword [esi + 0x1c]
cmp dword [esi + 0x20], ebx
jg 0x45066b
mov edi, esi
call fcn.00425eb0
test eax, eax
jne 0x45069a
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 0x4506d5
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.00462c80
add esp, 0x24
or eax, 0xffffffff
sub eax, dword [esp + 0x1c]
js 0x4506eb
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x4506eb
mov edx, dword [esi + 0x1c]
mov dword [ecx + eax*4], edx
cmp dword [esp + 0x64], 0
je 0x45078f
mov ebx, dword [esi + 0x1c]
cmp dword [esi + 0x20], ebx
jg 0x450709
mov edi, esi
call fcn.00425eb0
test eax, eax
jne 0x450734
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 0x45074f
mov ecx, dword [esi + 0x1c]
cmp ecx, eax
jbe 0x45074f
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 0x450768
mov edi, esi
call fcn.00425eb0
test eax, eax
jne 0x4507e9
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 0x4507e9
cmp dword [esp + 0x20], 0
je 0x4507e9
mov ebx, dword [esi + 0x1c]
cmp dword [esi + 0x20], ebx
jg 0x4507a9
mov edi, esi
call fcn.00425eb0
test eax, eax
jne 0x4507d0
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 0x4507e9
mov ecx, dword [esi + 0x1c]
cmp ecx, eax
jbe 0x4507e9
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 0x4508b3
cmp dword [esp + 0x84], 0
jne 0x4508b3
mov ecx, dword [esp + 0x4c]
cmp ecx, dword [esp + 0x70]
jge 0x45084a
mov ebx, dword [esi + 0x1c]
cmp dword [esi + 0x20], ebx
jg 0x450822
mov edi, esi
call fcn.00425eb0
test eax, eax
jne 0x45084a
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 0x45084c
xor ecx, ecx
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0x38], eax
cmp eax, ecx
je 0x4508b3
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x60], ecx
mov ebx, dword [esi + 0x1c]
cmp dword [esi + 0x20], ebx
jg 0x450876
mov edi, esi
call fcn.00425eb0
test eax, eax
jne 0x45089e
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 0x4508a0
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 0x450863
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x12], 0
jne 0x4508d3
cmp dword [eax + 0x1bc], 0
jne 0x4508d3
push eax
call fcn.0044ebf0
add esp, 4
test byte [ebx + 0x18], 0x80
je 0x44fa76
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0x12], 0
jne 0x44fa76
mov edx, ecx
cmp dword [edx + 0x1bc], 0
jne 0x44fa76
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x38], eax
cmp dword [esi + 0x20], eax
jg 0x450915
mov edi, esi
call fcn.00425eb0
test eax, eax
jne 0x450944
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.00427760
mov eax, dword [esi]
add esp, 4
cmp byte [eax + 0x40], 0
jne 0x44fa76
mov edx, dword [esi + 0x10]
push 1
push str.rows_inserted
xor eax, eax
or ecx, 0xffffffff
call fcn.00425450
add esp, 8
jmp 0x44fa76
push eax
call dword [0x4f8be0]
mov ecx, dword [ebx + 0x200]
add esp, 4
add dword [ecx], eax
jmp 0x4509bb
cmp eax, dword [ebx + 0x10c]
jb 0x4509b2
cmp eax, dword [ebx + 0x110]
jae 0x4509b2
mov edx, dword [ebx + 0x108]
mov dword [eax], edx
dec dword [ebx + 0xf4]
mov dword [ebx + 0x108], eax
jmp 0x4509bb
push eax
call fcn.00408fe0
add esp, 4
mov edi, dword [esp + 0x24]
mov esi, ebx
call fcn.004449c0
cmp dword [esp + 0x58], 0
je 0x450a83
mov eax, dword [esp + 0x58]
test ebx, ebx
je 0x450a7a
cmp dword [ebx + 0x200], 0
je 0x450a41
cmp eax, dword [ebx + 0x10c]
jb 0x450a1a
cmp eax, dword [ebx + 0x110]
jae 0x450a1a
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.004cf2b6
mov esp, ebp
pop ebp
ret
push eax
call dword [0x4f8be0]
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.004cf2b6
mov esp, ebp
pop ebp
ret
cmp eax, dword [ebx + 0x10c]
jb 0x450a7a
cmp eax, dword [ebx + 0x110]
jae 0x450a7a
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.004cf2b6
mov esp, ebp
pop ebp
ret
push eax
call fcn.00408fe0
add esp, 4
mov ecx, dword [esp + 0xbc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004cf2b6
mov esp, ebp
pop ebp
ret