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

Disassembly:
sub esp, 0x90
xor ecx, ecx
or eax, 0xffffffff
push ebp
mov ebp, dword [esp + 0x98]
mov dword [esp + 0x20], eax
mov dword [esp + 0x3c], eax
mov eax, dword [ebp]
mov dword [esp + 0x34], eax
cmp dword [ebp + 0x40], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x44], ecx
jne 0x444615
mov ecx, dword [esp + 0x34]
mov al, byte [ecx + 0x1e]
test al, al
jne 0x444615
mov edx, dword [esp + 0x9c]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x444615
push edi
mov eax, edx
push eax
push ebp
call fcn.0043d690
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x10], edi
je 0x444614
mov ecx, dword [edi + 0x4c]
push esi
mov esi, dword [esp + 0x3c]
push ecx
push esi
call fcn.004141a0
mov ecx, dword [edi]
mov dword [esp + 0x58], eax
lea edx, [eax + eax*2]
mov eax, dword [esi + 8]
mov eax, dword [eax + edx*8]
push eax
push 0
push ecx
push 0x12
push ebp
call fcn.00434aa0
add esp, 0x1c
test eax, eax
jne 0x444613
push ebx
push eax
push 0x65
push edi
push ebp
call fcn.004327c0
mov esi, dword [edi + 0x18]
xor edx, edx
test esi, esi
mov ebx, eax
setne dl
push ebx
push edi
push ebp
mov dword [esp + 0x68], ebx
mov dword [esp + 0x74], edx
call fcn.0043d6f0
add esp, 0x1c
test eax, eax
jne 0x444612
push edi
push ebp
call fcn.00428620
add esp, 8
test eax, eax
jne 0x444612
push ebp
call fcn.00437320
mov esi, eax
add esp, 4
test esi, esi
je 0x444612
mov al, byte [ebp + 0x13]
test al, al
jne 0x4439c3
push esi
call fcn.00416800
add esp, 4
mov eax, dword [esp + 0xb0]
test eax, eax
jne 0x4439d6
test ebx, ebx
jne 0x4439d6
xor eax, eax
jmp 0x4439db
mov eax, 1
mov ebx, dword [esp + 0x54]
push ebx
push eax
push ebp
call fcn.00427fc0
mov eax, dword [esp + 0x58]
add esp, 0xc
test eax, eax
je 0x4439fd
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x48], eax
inc eax
mov dword [ebp + 0x44], eax
mov eax, dword [esp + 0xb4]
test eax, eax
jne 0x443a2e
mov eax, dword [esp + 0xb8]
push ebx
push eax
mov eax, dword [esp + 0xb8]
push edi
push ebp
call fcn.00443370
add esp, 0x10
test eax, eax
jne 0x444612
mov ebx, dword [esp + 0x54]
push edi
mov edx, ebx
mov ecx, ebp
call fcn.004428e0
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xb4]
add esp, 4
test eax, eax
je 0x443bfc
push 0
push 0
push 0x5a
push esi
call fcn.00414d50
push esi
mov dword [esp + 0x3c], eax
call fcn.00414f00
push esi
mov dword [esp + 0x38], eax
call fcn.00414d70
push eax
lea ecx, [esp + 0xb0]
push 0xa
push ecx
mov dword [esp + 0x38], eax
call fcn.00434f10
mov eax, dword [esp + 0xd4]
push 0
push 0
push 0
push 0
lea edx, [esp + 0xc8]
push edx
push eax
push ebp
call fcn.00438a80
add esp, 0x40
test eax, eax
jne 0x444612
mov eax, dword [ebp + 0x40]
test eax, eax
jne 0x444612
mov ecx, dword [esp + 0x40]
mov al, byte [ecx + 0x1e]
test al, al
jne 0x444612
mov edx, dword [esp + 0x9c]
push esi
mov dword [esp + 0x64], edx
call fcn.00414d70
push eax
push 0
push 0x5a
push esi
mov dword [esp + 0x48], eax
call fcn.00414d50
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax]
mov eax, dword [esp + 0x60]
mov ebx, dword [ecx]
add esp, 0x14
test eax, eax
mov dword [esp + 0x38], ebx
jne 0x443b19
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x20]
push edx
push esi
call fcn.00442850
add esp, 8
test eax, eax
je 0x443be9
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x24], eax
inc eax
push ebp
mov dword [esp + 0x40], 1
mov dword [ebp + 0x44], eax
call fcn.0043a620
push ebp
mov edi, eax
call fcn.0043a620
mov ebx, eax
mov eax, dword [esp + 0x1c]
push eax
push esi
call fcn.00414dc0
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x70]
push edi
push ecx
push edx
push 0x54
push esi
call fcn.00414ca0
mov eax, dword [esp + 0x48]
push ebx
push eax
push 0x18
push esi
call fcn.00414d50
mov ecx, dword [esp + 0x58]
push ebx
push edi
push ecx
push 0x68
push esi
call fcn.00414ca0
add esp, 0x48
push 0
push 0
push 0x17
push esi
call fcn.00414d50
push edi
push ebp
call fcn.0043a650
push ebx
push ebp
call fcn.0043a650
mov edx, dword [esp + 0x48]
push edx
push esi
call fcn.004150a0
mov edi, dword [esp + 0x4c]
push 0
push edi
push 0x6f
push esi
call fcn.00414d50
mov eax, dword [esp + 0x70]
push eax
push edi
push 0x61
push esi
call fcn.00414d50
mov ecx, dword [esp + 0x68]
add esp, 0x48
push ecx
push 0
push 0x5a
push esi
call fcn.00414d50
mov edx, dword [esp + 0x44]
push edx
push esi
call fcn.00414dc0
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x50]
add esp, 0x18
jmp 0x443cac
mov eax, dword [esp + 0x28]
push eax
push esi
call fcn.004150a0
add esp, 8
jmp 0x443cac
mov eax, dword [esp + 0xac]
xor ecx, ecx
test eax, eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x24], 0xffffffff
je 0x443c4c
mov ebx, dword [eax]
jmp 0x443c4e
xor ebx, ebx
test ebx, ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x10], 0
jle 0x443cac
mov dword [esp + 0x18], 0
jmp 0x443c70
mov eax, dword [esp + 0xac]
nop
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + edx]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.0043bc70
add esp, 8
test eax, eax
jne 0x444612
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x38]
inc eax
add edx, 0xc
cmp eax, ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], edx
jl 0x443c68
mov al, byte [edi + 0x39]
test al, al
je 0x443ce5
mov ecx, dword [edi + 4]
test ecx, ecx
jle 0x443ce5
mov eax, dword [edi + 8]
add eax, 0x13
mov dword [esp + 0x28], ecx
mov dl, byte [eax]
xor ecx, ecx
test dl, dl
mov edx, dword [esp + 0x1c]
setne cl
add eax, 0x14
add edx, ecx
mov ecx, dword [esp + 0x28]
dec ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x28], ecx
jne 0x443cc4
mov ecx, dword [esp + 0xb4]
test ecx, ecx
jne 0x443d2a
test ebx, ebx
je 0x443e58
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x1c]
mov edx, eax
sub edx, ecx
cmp ebx, edx
je 0x443e4d
push ebx
push eax
mov eax, dword [esp + 0xb0]
push 0
push eax
push str.table__S_has__d_columns_but__d_values_were_supplied
push ebp
call fcn.00418370
add esp, 0x18
jmp 0x444612
mov edx, dword [ecx + 4]
cmp ebx, edx
je 0x443d46
push edx
push ebx
push str._d_values_for__d_columns
push ebp
call fcn.00418370
add esp, 0x10
jmp 0x444612
xor eax, eax
test edx, edx
jle 0x443d62
lea esp, [esp]
mov edx, dword [ecx]
mov dword [edx + eax*8 + 4], 0xffffffff
mov edx, dword [ecx + 4]
inc eax
cmp eax, edx
jl 0x443d50
mov eax, dword [ecx + 4]
test eax, eax
mov dword [esp + 0x10], 0
jle 0x443e58
mov eax, dword [edi + 4]
xor ebx, ebx
test eax, eax
jle 0x443dd9
mov dword [esp + 0x18], ebx
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + eax]
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax]
push edx
mov edx, dword [esp + 0x14]
mov eax, dword [ecx + edx*8]
push eax
call fcn.004184a0
add esp, 8
test eax, eax
je 0x443dbf
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + 4]
inc ebx
add ecx, 0x14
cmp ebx, eax
mov dword [esp + 0x18], ecx
jl 0x443d82
jmp 0x443dd9
mov ecx, dword [esp + 0xb4]
mov edx, dword [ecx]
mov eax, dword [esp + 0x10]
mov dword [edx + eax*8 + 4], ebx
cmp ebx, dword [edi + 0xc]
jne 0x443dd9
mov dword [esp + 0x2c], eax
cmp ebx, dword [edi + 4]
jl 0x443dff
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax]
mov ebx, dword [esp + 0x10]
mov edx, dword [ecx + ebx*8]
push edx
call fcn.0043a1b0
add esp, 4
test eax, eax
je 0x443e1c
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xb4]
mov edx, dword [ecx + 4]
inc eax
cmp eax, edx
mov dword [esp + 0x10], eax
jl 0x443d75
jmp 0x443e58
mov edx, dword [esp + 0xb4]
mov eax, dword [edx]
mov ecx, dword [eax + ebx*8]
mov edx, dword [esp + 0xa8]
push ecx
push 0
push edx
push str.table__S_has_no_column_named__s
push ebp
call fcn.00418370
mov eax, dword [ebp + 0x40]
add esp, 0x14
inc eax
mov dword [ebp + 0x40], eax
jmp 0x444612
test ebx, ebx
jle 0x443e58
mov eax, dword [edi + 0xc]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x443e7f
mov ebx, dword [esp + 0x48]
push 0
push ebx
push 0x6e
push esi
call fcn.00414d50
mov ecx, dword [edi + 4]
push ecx
push ebx
push 0x61
push esi
call fcn.00414d50
add esp, 0x20
mov edx, dword [esp + 0x40]
mov al, byte [edx + 0xc]
test al, al
jns 0x443ea5
mov edx, dword [ebp + 0x48]
inc edx
mov eax, edx
push eax
push 0
push 0x2e
push esi
mov dword [ebp + 0x48], edx
mov dword [esp + 0x6c], eax
call fcn.00414d50
add esp, 0x10
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x443eff
mov eax, dword [ebp + 0x44]
push 8
push eax
push edi
push ebp
mov dword [esp + 0x40], eax
call fcn.00443260
mov ecx, dword [esp + 0x50]
mov ebx, eax
lea eax, [ebx*4 + 4]
push eax
push ecx
call fcn.004182a0
add esp, 0x18
test eax, eax
mov dword [esp + 0x50], eax
je 0x444612
xor eax, eax
test ebx, ebx
jle 0x443eff
mov edx, dword [esp + 0x50]
jmp 0x443ef0
mov ecx, dword [ebp + 0x48]
inc ecx
mov dword [ebp + 0x48], ecx
mov dword [edx + eax*4], ecx
inc eax
cmp eax, ebx
jl 0x443ef0
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x443f31
push esi
call fcn.00414d70
mov edx, dword [esp + 0x28]
push eax
push edx
push 0x73
push esi
mov dword [esp + 0x80], eax
call fcn.00414d50
push esi
call fcn.00414f00
mov dword [esp + 0x80], eax
jmp 0x443f56
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x443f59
mov eax, dword [esp + 0x20]
push eax
push 0
push 0x5a
push esi
call fcn.00414d50
mov ecx, dword [esp + 0x24]
push ecx
push esi
call fcn.00414dc0
add esp, 0x18
mov edx, dword [ebp + 0x48]
inc edx
mov dword [ebp + 0x48], edx
mov eax, edx
mov edx, dword [edi + 4]
lea ebx, [eax + 1]
lea eax, [edx + eax + 1]
mov dword [ebp + 0x48], eax
mov cl, byte [edi + 0x39]
test cl, cl
mov dword [esp + 0x28], ebx
mov dword [esp + 0x10], ebx
je 0x443f87
inc ebx
inc eax
mov dword [esp + 0x10], ebx
mov dword [ebp + 0x48], eax
push esi
call fcn.00414d70
mov dword [esp + 0x1c], eax
mov al, byte [esp + 0x50]
add esp, 4
test al, 1
je 0x444181
push ebp
call fcn.0043a620
mov ebx, eax
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
mov dword [esp + 0x20], ebx
push ebx
jge 0x443fc7
push 0xffffffffffffffff
push 0x2e
push esi
call fcn.00414d50
add esp, 0x10
jmp 0x444028
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x443fe2
push eax
mov eax, dword [esp + 0x2c]
push eax
push 2
push esi
call fcn.00414ca0
add esp, 0x14
jmp 0x444028
mov edx, dword [esp + 0xb0]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + ecx*4]
push ecx
push ebp
call fcn.0043a400
push ebx
push 0x42
push esi
call fcn.00414d30
push ebx
push 0xffffffffffffffff
push 0x2e
push esi
mov dword [esp + 0x3c], eax
call fcn.00414d50
mov edx, dword [esp + 0x3c]
push edx
push esi
call fcn.004150a0
push ebx
push 0x24
push esi
call fcn.00414d30
add esp, 0x3c
mov eax, dword [edi + 4]
push eax
push ebp
call fcn.0043a670
mov dword [esp + 0x24], eax
mov eax, dword [edi + 4]
add esp, 8
xor ebx, ebx
test eax, eax
jle 0x4440ea
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0xb4]
test ecx, ecx
jne 0x444079
mov eax, ebx
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x4440b2
mov edx, dword [esp + 0x1c]
add edx, ebx
push edx
push eax
mov eax, dword [esp + 0x2c]
push eax
push 2
push esi
call fcn.00414ca0
add esp, 0x14
jmp 0x4440d3
mov edx, dword [ecx + 4]
xor eax, eax
test edx, edx
jle 0x444093
mov ecx, dword [ecx]
add ecx, 4
cmp dword [ecx], ebx
je 0x444093
inc eax
add ecx, 8
cmp eax, edx
jl 0x444087
cmp eax, edx
jl 0x444057
mov ecx, dword [esp + 0x1c]
mov edx, dword [edi + 8]
mov eax, dword [esp + 0x14]
add ecx, ebx
push ecx
mov ecx, dword [edx + eax + 4]
push ecx
push ebp
call fcn.0043a400
jmp 0x4440d0
mov ecx, dword [esp + 0x1c]
add ecx, ebx
lea edx, [eax + eax*2]
mov eax, dword [esp + 0xac]
push ecx
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + edx*4]
push edx
push ebp
call fcn.0043a440
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov eax, dword [edi + 4]
inc ebx
add ecx, 0x14
cmp ebx, eax
mov dword [esp + 0x14], ecx
jl 0x44404a
push ebp
call fcn.0043a620
mov ecx, dword [esp + 0x20]
mov ebx, eax
mov eax, dword [edi + 4]
push ebx
push eax
push ecx
push 0x54
push esi
call fcn.00414ca0
mov eax, dword [esp + 0x70]
add esp, 0x18
test eax, eax
jne 0x444119
push edi
push esi
call fcn.004427e0
add esp, 8
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x48]
push edx
push ebx
push eax
push 0x68
push esi
call fcn.00414ca0
push ebx
push ebp
call fcn.0043a650
mov ecx, dword [esp + 0x3c]
push ecx
push ebp
call fcn.0043a650
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x40]
push edx
push eax
push ebp
call fcn.0043a6a0
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xe8]
mov eax, dword [esp + 0x78]
push 0
push 0
push ecx
push edx
push 0xffffffffffffffff
push eax
push edi
push 1
push 0
push 0x65
push ebp
call fcn.00432ac0
add esp, 0x5c
test eax, eax
jne 0x444612
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x4444a6
mov al, byte [edi + 0x39]
test al, al
je 0x4441a6
mov ecx, dword [esp + 0x28]
push ecx
push 0
push 0x70
push esi
call fcn.00414d50
add esp, 0x10
mov eax, dword [esp + 0x2c]
test eax, eax
jl 0x444282
mov eax, dword [esp + 0x3c]
test eax, eax
push ebx
je 0x44420c
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
push edx
push eax
push 2
push esi
call fcn.00414ca0
add esp, 0x14
push ebx
push 0x42
push esi
call fcn.00414d30
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x50]
push eax
push ebx
push ecx
push 0x18
push esi
call fcn.00414ca0
mov edx, dword [esp + 0x34]
push edx
push esi
call fcn.004150a0
push ebx
push 0x24
push esi
call fcn.00414d30
add esp, 0x34
jmp 0x4442b7
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x44422f
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x64]
add ecx, edx
push ecx
push 7
push esi
call fcn.00414d50
add esp, 0x10
jmp 0x4441d0
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0x30]
mov edx, dword [ecx + 0xc]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*4]
push eax
push ebp
call fcn.0043a400
push esi
call fcn.00414f00
dec eax
push eax
push esi
call fcn.004150d0
add esp, 0x18
test eax, eax
je 0x4441d0
cmp byte [eax], 0x70
jne 0x4441d0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x44]
mov byte [eax], 0x18
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
jmp 0x4442af
mov al, byte [edi + 0x39]
test al, al
je 0x444299
push ebx
push 0
push 0x70
push esi
call fcn.00414d50
add esp, 0x10
jmp 0x4442b7
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x30]
push eax
push ebx
push ecx
push 0x18
push esi
call fcn.00414ca0
add esp, 0x14
mov dword [esp + 0x64], 1
mov eax, dword [esp + 0x44]
test eax, eax
jle 0x4442d1
push ebx
mov edx, eax
mov eax, dword [ebp + 0xc]
push edx
push 0x2b
push eax
call fcn.00414d50
add esp, 0x10
mov ecx, dword [edi + 4]
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], eax
jle 0x44435f
inc ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ebx
jmp 0x4442f0
mov ecx, dword [esp + 0x10]
cmp ecx, dword [edi + 0xc]
jne 0x444309
push ebx
push 0
push 0x70
push esi
call fcn.00414d50
add esp, 0x10
jmp 0x44433f
mov ecx, dword [esp + 0xb4]
test ecx, ecx
jne 0x44439e
mov edx, dword [edi + 8]
mov eax, dword [esp + 0x20]
cmp byte [edx + eax + 0x13], cl
je 0x444394
inc dword [esp + 0x1c]
mov ecx, dword [edi + 8]
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + edx + 4]
push ebx
push eax
push ebp
call fcn.0043a400
add esp, 0xc
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov ecx, dword [edi + 4]
inc eax
inc ebx
add edx, 0x14
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], edx
jl 0x4442f0
mov al, byte [edi + 0x39]
test al, al
je 0x444442
mov edx, dword [esp + 0x28]
push 0xfffffffffffffff6
mov dword [ebp + 0xf0], edi
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 4]
push ecx
push edx
add eax, 2
push eax
push 1
push 0x76
push esi
call fcn.00416ee0
add esp, 0x1c
jmp 0x4444a6
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x1c]
jmp 0x4443cb
mov edx, dword [ecx + 4]
xor eax, eax
test edx, edx
jle 0x4443d3
mov ecx, dword [ecx]
add ecx, 4
lea esp, [esp]
mov ebx, dword [esp + 0x10]
cmp dword [ecx], ebx
je 0x4443c0
inc eax
add ecx, 8
cmp eax, edx
jl 0x4443b0
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0xb4]
test eax, eax
jl 0x444329
mov edx, dword [esp + 0x38]
test edx, edx
je 0x444329
test ecx, ecx
je 0x4443ec
cmp eax, dword [ecx + 4]
jge 0x444329
mov ecx, dword [esp + 0x3c]
test ecx, ecx
push ebx
je 0x44440b
mov ecx, dword [esp + 0x28]
push eax
push ecx
push 2
push esi
call fcn.00414ca0
add esp, 0x14
jmp 0x44433f
mov ecx, dword [esp + 0xb4]
test ecx, ecx
je 0x44442d
mov edx, dword [esp + 0x64]
add eax, edx
push eax
push 7
push esi
call fcn.00414d50
add esp, 0x10
jmp 0x44433f
mov ecx, dword [esp + 0xb0]
mov edx, dword [ecx + 0xc]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*4]
jmp 0x444335
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x54]
push edx
mov edx, dword [esp + 0x34]
xor eax, eax
test edx, edx
mov edx, dword [esp + 0x38]
setge al
push 0
push eax
push ecx
push ebx
push edx
push edi
push ebp
call fcn.00442a60
mov al, byte [esp + 0x70]
add esp, 0x24
test al, 2
je 0x444484
mov eax, dword [esp + 0x48]
jmp 0x444487
or eax, 0xffffffff
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x50]
push ecx
push eax
mov eax, dword [esp + 0x38]
push 0
push 0
push edx
push ebx
push eax
push edi
push ebp
call fcn.00443160
add esp, 0x24
mov ecx, dword [esp + 0x40]
mov al, byte [ecx + 0xc]
test al, al
jns 0x4444c3
mov edx, dword [esp + 0x5c]
push 1
push edx
push 0x28
push esi
call fcn.00414d50
add esp, 0x10
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4444fb
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x48]
push 0
push 0
push eax
push ecx
push 0xffffffffffffffff
push edx
push edi
push 2
push 0
push 0x65
push ebp
call fcn.00432ac0
add esp, 0x2c
test eax, eax
jne 0x444612
mov eax, dword [esp + 0x18]
push eax
push esi
call fcn.00414dc0
mov eax, dword [esp + 0x44]
add esp, 8
test eax, eax
je 0x44453e
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x24]
push ecx
push ebx
push 0x66
push esi
call fcn.00414d50
mov edx, dword [esp + 0x7c]
push edx
push esi
call fcn.00414dc0
push 0
push ebx
push 0x1f
push esi
call fcn.00414d50
add esp, 0x28
jmp 0x444563
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x444563
push 0
push 0
push 0x17
push esi
call fcn.00414d50
mov eax, dword [esp + 0x44]
push eax
push esi
call fcn.00414dc0
add esp, 0x18
mov al, byte [edi + 0x39]
test al, al
jne 0x4445b6
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x4445b6
mov ecx, dword [esp + 0x30]
push 0
push ecx
push 0x1f
push esi
call fcn.00414d50
mov ebx, dword [edi + 0x10]
add esp, 0x10
test ebx, ebx
je 0x4445b6
mov edx, dword [esp + 0x30]
inc edx
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x34]
push 0
push eax
push 0x1f
push esi
call fcn.00414d50
mov ecx, dword [esp + 0x44]
mov ebx, dword [ebx + 0x20]
add esp, 0x10
inc ecx
test ebx, ebx
mov dword [esp + 0x34], ecx
jne 0x444594
mov ecx, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x58]
mov edx, edi
mov eax, ebp
call fcn.004429d0
mov edx, dword [esp + 0x44]
mov al, byte [edx + 0xc]
add esp, 4
test al, al
jns 0x444612
mov al, byte [ebp + 0x13]
test al, al
jne 0x444612
mov eax, dword [ebp + 0xdc]
test eax, eax
jne 0x444612
mov eax, dword [esp + 0x5c]
push 1
push eax
push 0x55
push esi
call fcn.00414d50
push 1
push esi
call fcn.004158a0
push 0xfffffffffffffffe
push str.rows_inserted
push 0
push 0
push esi
call fcn.00415930
add esp, 0x2c
pop ebx
pop esi
pop edi
mov ecx, dword [esp + 0x9c]
push ecx
call fcn.00427c90
mov edx, dword [esp + 0xa4]
push edx
call fcn.00439fd0
mov eax, dword [esp + 0xac]
push eax
call fcn.00435000
mov ecx, dword [esp + 0xb4]
push ecx
call fcn.00427ba0
mov edx, dword [esp + 0x54]
push edx
call fcn.00410e30
add esp, 0x14
pop ebp
add esp, 0x90
ret