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

Disassembly:
sub esp, 0x98
mov eax, dword [esp + 0xa0]
xor edx, edx
push ebx
mov dword [esp + 0x68], edx
push ebp
mov ebp, dword [esp + 0xa4]
mov ecx, dword [ebp]
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], edx
push esi
push edi
xor edi, edi
mov dword [esp + 0x80], edx
cmp dword [ebp + 0x40], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x48], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x38], ecx
jne 0x447906
mov dl, byte [ecx + 0x1e]
test dl, dl
jne 0x447906
cmp dword [eax + 0xc], edi
je 0x447906
push ebp
call fcn.00442e70
mov ebx, eax
add esp, 4
cmp ebx, edi
mov dword [esp + 0x10], ebx
je 0x447906
mov esi, dword [ebx + 0x44]
mov ecx, dword [esp + 0x38]
call fcn.0040fc30
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 8]
mov dword [esp + 0x2c], eax
shl eax, 4
mov eax, dword [eax + edx]
push eax
mov eax, dword [ebx + 4]
push edi
push eax
push 0x12
mov eax, ebp
call fcn.0041ab60
add esp, 0x10
test eax, eax
jne 0x447906
lea ecx, [esp + 0x50]
push ecx
push edi
push 0x69
push ebp
mov eax, ebx
call fcn.00410290
mov dword [esp + 0x64], eax
mov eax, dword [ebx + 0x1c]
xor edx, edx
cmp eax, edi
setne dl
push ebx
push ebp
mov dword [esp + 0x7c], edx
call fcn.00446950
add esp, 0x18
test eax, eax
jne 0x447906
mov eax, dword [esp + 0x50]
push eax
mov edx, ebx
mov eax, ebp
call fcn.0041b9d0
add esp, 4
test eax, eax
jne 0x447906
mov edi, ebp
call fcn.0041c720
mov esi, eax
test esi, esi
mov dword [esp + 0x4c], esi
je 0x447906
mov al, byte [ebp + 0x13]
test al, al
jne 0x446be5
mov eax, esi
call fcn.0040dcc0
mov eax, dword [esp + 0xb8]
test eax, eax
jne 0x446bfc
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x446bfc
xor eax, eax
jmp 0x446c01
mov eax, 1
mov edi, dword [esp + 0x2c]
push eax
mov ecx, edi
mov eax, ebp
call fcn.0042cdb0
mov eax, dword [esp + 0xc0]
add esp, 4
test eax, eax
jne 0x446c3f
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xb8]
push edi
push ecx
push ebx
push ebp
call fcn.00443220
add esp, 0x10
test eax, eax
jne 0x44789f
mov ebx, dword [esp + 0x10]
push edi
mov edx, ebp
call fcn.00416af0
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xbc]
xor ebx, ebx
add esp, 4
cmp eax, ebx
je 0x446e94
mov esi, dword [ebp + 0x48]
mov edi, dword [esp + 0x4c]
inc esi
push edi
mov eax, esi
xor ecx, ecx
mov edx, 7
mov dword [ebp + 0x48], esi
mov dword [esp + 0x40], esi
call fcn.00414e70
mov eax, dword [ebp + 0x48]
inc eax
mov edx, eax
mov dword [ebp + 0x48], eax
push 0xa
lea eax, [esp + 0x7c]
call fcn.0040fcc0
mov eax, edi
call fcn.0040d5c0
mov ebx, eax
mov eax, dword [esp + 0x80]
add ebx, 2
lea ecx, [ebx - 1]
push edi
mov edx, 7
call fcn.00414e70
push edi
xor eax, eax
xor ecx, ecx
mov edx, 1
call fcn.00414e70
lea edx, [esp + 0x84]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xc8]
push edx
push eax
push ebp
call fcn.00443d60
add esp, 0x1c
test eax, eax
jne 0x447906
mov eax, dword [ebp + 0x40]
test eax, eax
jne 0x447906
mov ecx, dword [esp + 0x38]
mov al, byte [ecx + 0x1e]
test al, al
jne 0x447906
push edi
mov eax, esi
mov ecx, 1
mov edx, 7
call fcn.00414e70
mov eax, dword [esp + 0x7c]
push edi
mov ecx, 4
call fcn.00414e50
mov eax, 2
push edi
mov ecx, eax
mov edx, 6
call fcn.00414e70
mov edx, dword [esp + 0x34]
push edx
mov ecx, edi
call fcn.0040d680
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx]
mov dword [esp + 0x80], eax
mov eax, dword [edx]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x64]
add esp, 0x10
test eax, eax
jne 0x446d89
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
push ecx
push edx
mov eax, ebx
mov ecx, ebp
call fcn.00421620
add esp, 8
test eax, eax
je 0x446e53
mov esi, dword [ebp + 0x44]
lea eax, [esi + 1]
mov dword [ebp + 0x44], eax
mov eax, ebp
mov dword [esp + 0x48], 1
mov dword [esp + 0x44], esi
call fcn.0040ec00
mov ebx, eax
mov eax, ebp
call fcn.0040ec00
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x34]
push edi
mov ecx, esi
mov edx, 0x29
call fcn.00414e70
mov eax, dword [esp + 0x7c]
push edi
mov ecx, 4
call fcn.00414e50
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
push edi
mov ecx, 0x1a
call fcn.00414e50
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x88]
push ebx
push ecx
push edx
mov dword [esp + 0x44], eax
push 0x1e
mov eax, edi
call fcn.00414dd0
mov eax, dword [esp + 0x38]
push edi
mov ecx, esi
mov edx, 0x36
call fcn.00414e70
mov eax, dword [esp + 0x3c]
push eax
push ebx
push esi
push 0x37
mov eax, edi
call fcn.00414dd0
mov eax, dword [esp + 0x58]
push edi
xor ecx, ecx
mov edx, 1
call fcn.00414e70
mov ecx, dword [esp + 0x60]
push ecx
mov ecx, edi
call fcn.0040d680
add esp, 0x38
mov esi, ebx
mov edx, ebp
call fcn.0040ec20
mov esi, dword [esp + 0x1c]
call fcn.0040ec20
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x10]
test byte [ebx + 0x22], 0x10
je 0x446f4e
mov esi, dword [ebx + 0xc]
test esi, esi
jle 0x446f4e
mov eax, dword [ebx + 0x10]
mov edi, dword [esp + 0x14]
add eax, 0x17
lea ebx, [ebx]
xor ecx, ecx
cmp byte [eax], cl
setne cl
add eax, 0x18
add edi, ecx
dec esi
jne 0x446e80
jmp 0x446f52
mov eax, dword [esp + 0xb4]
xor edx, edx
cmp eax, ebx
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], edx
mov dword [esp + 0x84], ebp
mov dword [esp + 0x44], 0xffffffff
je 0x446ef3
mov eax, dword [eax]
jmp 0x446ef5
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x34], eax
jle 0x446e53
mov dword [esp + 0x1c], ebx
jmp 0x446f10
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x1c]
mov edi, dword [ecx + edx]
lea esi, [esp + 0x84]
call fcn.00424ba0
test eax, eax
jne 0x447906
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
inc ebx
add ecx, 0x14
cmp ebx, edx
mov dword [esp + 0x1c], ecx
jl 0x446f10
jmp 0x446e57
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0xbc]
test ecx, ecx
jne 0x446f91
test edx, edx
je 0x4470ac
mov eax, dword [ebx + 0xc]
sub eax, edi
cmp edx, eax
je 0x4470a1
push edx
mov edx, dword [esp + 0xb4]
push eax
push ecx
push edx
push str.table__S_has__d_columns_but__d_values_were_supplied
mov edi, ebp
call fcn.00418b00
add esp, 0x14
jmp 0x447906
mov esi, dword [ecx + 4]
cmp edx, esi
je 0x446fae
push esi
push edx
push str._d_values_for__d_columns
mov edi, ebp
call fcn.00418b00
add esp, 0xc
jmp 0x447906
xor eax, eax
test esi, esi
jle 0x446fc5
or edx, 0xffffffff
mov esi, dword [ecx]
mov dword [esi + eax*8 + 4], edx
mov esi, dword [ecx + 4]
inc eax
cmp eax, esi
jl 0x446fb7
mov eax, dword [ecx + 4]
test eax, eax
mov dword [esp + 0x18], 0
jle 0x4470ac
jmp 0x446fe0
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0xc]
xor esi, esi
test ebx, ebx
jle 0x447041
mov ecx, dword [esp + 0xbc]
mov edx, dword [ecx]
mov eax, dword [esp + 0x18]
mov ecx, dword [edx + eax*8]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 0x10]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], ecx
nop
mov edx, dword [edi]
mov ecx, dword [esp + 0x28]
call fcn.00408450
test eax, eax
je 0x447029
inc esi
add edi, 0x18
cmp esi, ebx
jl 0x447010
jmp 0x447041
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
mov dword [eax + 4], esi
cmp esi, dword [ecx + 8]
jne 0x447041
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0xc]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0xbc]
jl 0x447067
mov ecx, dword [ebx]
mov esi, dword [ecx + edi*8]
call fcn.0040e880
test eax, eax
je 0x447079
mov dword [esp + 0x20], edi
mov eax, dword [ebx + 4]
inc edi
cmp edi, eax
mov dword [esp + 0x18], edi
jl 0x446fe0
jmp 0x4470ac
mov edx, dword [ebx]
mov eax, dword [edx + edi*8]
mov ecx, dword [esp + 0xb0]
push eax
push 0
push ecx
push str.table__S_has_no_column_named__s
mov edi, ebp
call fcn.00418b00
add esp, 0x10
mov byte [ebp + 0x12], 1
jmp 0x447906
test edx, edx
jle 0x4470ac
mov edx, dword [ebx + 8]
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0xc]
test ch, 0x10
mov ebx, dword [esp + 0x4c]
je 0x4470d9
mov edx, dword [ebp + 0x48]
inc edx
mov eax, edx
mov dword [ebp + 0x48], edx
push ebx
xor ecx, ecx
mov edx, 7
mov dword [esp + 0x6c], eax
call fcn.00414e70
add esp, 4
mov eax, dword [esp + 0x64]
test eax, eax
jne 0x447130
mov eax, dword [ebp + 0x44]
mov ecx, dword [esp + 0x10]
push 0x27
push eax
push ecx
push ebp
mov dword [esp + 0x50], eax
call fcn.00431a70
mov esi, dword [esp + 0x48]
mov edi, eax
add esp, 0x10
lea ecx, [edi*4 + 4]
call fcn.00412930
test eax, eax
mov dword [esp + 0x58], eax
je 0x447906
xor eax, eax
test edi, edi
jle 0x447130
mov edx, dword [esp + 0x58]
mov ecx, dword [ebp + 0x48]
inc ecx
mov dword [ebp + 0x48], ecx
mov dword [edx + eax*4], ecx
inc eax
cmp eax, edi
jl 0x447121
mov eax, dword [esp + 0x48]
test eax, eax
je 0x44715b
mov eax, dword [esp + 0x44]
push ebx
mov ecx, 0x41
call fcn.00414e50
mov dword [esp + 0x60], eax
add esp, 4
mov eax, ebx
call fcn.0040d5c0
mov dword [esp + 0x60], eax
jmp 0x44718f
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x44718f
mov eax, dword [esp + 0x78]
push ebx
mov ecx, 4
call fcn.00414e50
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x40]
push ebx
mov ecx, 0x1a
call fcn.00414e50
add esp, 8
mov dword [esp + 0x5c], eax
mov esi, dword [ebp + 0x48]
mov edi, dword [esp + 0x10]
inc esi
mov dword [ebp + 0x48], esi
mov edx, dword [edi + 0xc]
mov eax, esi
lea ecx, [eax + 1]
lea eax, [edx + eax + 1]
mov dword [ebp + 0x48], eax
test byte [edi + 0x22], 0x10
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x24], ecx
je 0x4471c0
inc ecx
inc eax
mov dword [esp + 0x24], ecx
mov dword [ebp + 0x48], eax
mov esi, dword [esp + 0x24]
inc esi
mov eax, ebx
mov dword [esp + 0x3c], esi
call fcn.00414e90
mov dword [esp + 0x1c], eax
test byte [esp + 0x50], 1
je 0x4473df
mov esi, dword [edi + 0xc]
inc esi
mov ecx, ebp
call fcn.0040ec60
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
test eax, eax
jge 0x447210
mov eax, dword [esp + 0x14]
push ebx
or ecx, 0xffffffff
mov edx, 7
call fcn.00414e70
add esp, 4
jmp 0x447295
mov eax, dword [esp + 0x48]
test eax, eax
je 0x447235
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x44]
push eax
push ecx
push edx
push 0x1c
mov eax, ebx
call fcn.00414dd0
add esp, 0x10
jmp 0x447258
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx + 0xc]
mov esi, dword [esp + 0x14]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4]
mov edi, ebp
call fcn.00415dc0
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push ebx
mov ecx, 0x4a
call fcn.00414e50
mov esi, eax
mov eax, dword [esp + 0x18]
push ebx
or ecx, 0xffffffff
mov edx, 7
call fcn.00414e70
push esi
mov ecx, ebx
call fcn.0040d680
mov eax, dword [esp + 0x20]
push ebx
mov ecx, 0x15
call fcn.00414e50
add esp, 0x10
mov ecx, dword [edi + 0xc]
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x18], eax
jle 0x447379
mov esi, dword [esp + 0x14]
inc esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0xbc]
test ecx, ecx
je 0x4472e0
mov edx, dword [ecx + 4]
xor eax, eax
test edx, edx
jle 0x4472e0
mov ecx, dword [ecx]
mov esi, dword [esp + 0x18]
add ecx, 4
cmp dword [ecx], esi
je 0x4472dc
inc eax
add ecx, 8
cmp eax, edx
jl 0x4472d0
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x48]
test edx, edx
jne 0x4472f3
mov ecx, dword [esp + 0xb4]
test ecx, ecx
je 0x447303
mov ecx, dword [esp + 0xbc]
test ecx, ecx
je 0x44731b
cmp eax, dword [ecx + 4]
jl 0x44731b
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
mov ecx, dword [esp + 0x50]
mov eax, dword [eax + ecx + 4]
mov edi, ebp
call fcn.00415dc0
jmp 0x447351
test edx, edx
je 0x447334
mov edx, dword [esp + 0x44]
push esi
push eax
push edx
push 0x1c
mov eax, ebx
call fcn.00414dd0
add esp, 0x10
jmp 0x447355
mov ecx, dword [esp + 0xb4]
mov edx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov ebx, dword [edx + eax*4]
mov ecx, esi
mov eax, ebp
call fcn.00415df0
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x18]
add ecx, 0x18
inc eax
mov dword [esp + 0x50], ecx
mov ecx, dword [edi + 0xc]
inc esi
cmp eax, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], esi
jl 0x4472b3
mov eax, dword [esp + 0x64]
test eax, eax
jne 0x44739f
mov ecx, dword [esp + 0x14]
mov eax, dword [edi + 0xc]
inc ecx
push ebx
mov edx, 0x1d
call fcn.00414e70
push ebx
mov esi, edi
call fcn.00416a70
add esp, 8
mov eax, dword [esp + 0x1c]
mov esi, dword [edi + 0xc]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0xc0]
push eax
mov eax, dword [esp + 0x58]
push ecx
sub edx, esi
dec edx
push edx
push edi
push 1
push 0
push 0x69
push eax
push ebp
call fcn.0044ab00
mov esi, dword [edi + 0xc]
mov ecx, dword [esp + 0x38]
add esp, 0x24
inc esi
mov eax, ebp
call fcn.0040ec90
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x64]
test eax, eax
jne 0x447796
test byte [edi + 0x22], 0x10
je 0x447405
mov eax, dword [esp + 0x2c]
push ebx
xor ecx, ecx
mov edx, 0xa
call fcn.00414e70
add esp, 4
mov eax, dword [esp + 0x20]
test eax, eax
jl 0x44753a
mov eax, dword [esp + 0x48]
test eax, eax
je 0x447479
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x44]
push ecx
push edx
push eax
push 0x1c
mov eax, ebx
call fcn.00414dd0
add esp, 0x10
mov eax, dword [esp + 0x10]
test byte [eax + 0x22], 0x10
jne 0x447506
mov esi, dword [esp + 0x24]
push ebx
mov eax, esi
mov ecx, 0x4a
call fcn.00414e50
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x44]
push ecx
push esi
push edx
mov edi, eax
push 0x36
mov eax, ebx
call fcn.00414dd0
push edi
mov ecx, ebx
call fcn.0040d680
add esp, 0x18
jmp 0x447524
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x4474a2
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x24]
add ecx, edx
push ebx
mov edx, 0xf
call fcn.00414e70
add esp, 4
jmp 0x447434
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx + 0xc]
mov esi, dword [esp + 0x24]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4]
mov edi, ebp
call fcn.00415dc0
or eax, 0xffffffff
mov ecx, ebx
call fcn.0040d6f0
test eax, eax
je 0x447434
cmp byte [eax], 0xa
jne 0x447434
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x22], 0x10
jne 0x447434
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x10]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x30]
mov ecx, esi
mov byte [eax], 0x36
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
jmp 0x447571
mov eax, ebx
call fcn.0040d5c0
mov esi, dword [esp + 0x24]
add eax, 2
push ebx
mov ecx, esi
mov edx, 0x49
call fcn.00414e70
add esp, 4
push ebx
mov eax, esi
mov ecx, 0x15
call fcn.00414e50
mov edi, dword [esp + 0x14]
add esp, 4
jmp 0x447579
test byte [edi + 0x22], 0x10
je 0x447556
mov eax, dword [esp + 0x24]
push ebx
xor ecx, ecx
mov edx, 0xa
call fcn.00414e70
add esp, 4
jmp 0x447579
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x40]
push eax
push ecx
push edx
push 0x36
mov eax, ebx
call fcn.00414dd0
add esp, 0x10
mov dword [esp + 0x6c], 1
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
push eax
mov eax, ebp
call fcn.00416b60
mov ecx, dword [edi + 0xc]
xor eax, eax
add esp, 4
cmp ecx, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
jle 0x447619
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
cmp eax, dword [edi + 8]
jne 0x4475be
push ebx
mov eax, esi
xor ecx, ecx
mov edx, 0xa
call fcn.00414e70
add esp, 4
jmp 0x4475fd
mov ecx, dword [esp + 0xbc]
test ecx, ecx
jne 0x447672
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0x30]
cmp byte [ecx + edx + 0x17], 0
je 0x44766c
inc dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
mov ecx, dword [esp + 0x30]
mov eax, dword [eax + ecx + 4]
mov edi, ebp
call fcn.00415dc0
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ecx, dword [edi + 0xc]
inc eax
add edx, 0x18
inc esi
cmp eax, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], edx
jl 0x4475a5
test byte [edi + 0x22], 0x10
je 0x447723
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov eax, edi
call fcn.004103b0
mov esi, eax
mov eax, ebp
call fcn.00416ed0
mov ecx, dword [edi + 0xc]
mov eax, dword [esp + 0x2c]
push 0xfffffffffffffff6
push esi
add ecx, 2
push 0x85
mov edx, 1
mov edi, ebx
call fcn.004197c0
add esp, 0xc
mov ecx, ebp
call fcn.0040f330
mov edi, dword [esp + 0x10]
jmp 0x447792
sub eax, dword [esp + 0x14]
jmp 0x4476a0
mov edx, dword [ecx + 4]
xor eax, eax
test edx, edx
jle 0x4476af
mov ecx, dword [esp + 0xbc]
mov ecx, dword [ecx]
mov edi, dword [esp + 0x18]
add ecx, 4
jmp 0x447690
cmp dword [ecx], edi
je 0x44769c
inc eax
add ecx, 8
cmp eax, edx
jl 0x447690
mov edi, dword [esp + 0x10]
test eax, eax
jl 0x4475e3
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x34]
test edx, edx
je 0x4475e3
test ecx, ecx
je 0x4476c8
cmp eax, dword [ecx + 4]
jge 0x4475e3
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x4476e8
mov edx, dword [esp + 0x44]
push esi
push eax
push edx
push 0x1c
mov eax, ebx
call fcn.00414dd0
add esp, 0x10
jmp 0x4475fd
mov ecx, dword [esp + 0xb8]
test ecx, ecx
je 0x44770e
mov ecx, dword [esp + 0x70]
add ecx, eax
push ebx
mov eax, esi
mov edx, 0xf
call fcn.00414e70
add esp, 4
jmp 0x4475fd
lea edx, [eax + eax*4]
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + edx*4]
jmp 0x4475f2
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc0]
mov esi, dword [esp + 0x2c]
lea edx, [esp + 0x28]
push edx
push eax
mov eax, dword [esp + 0x28]
xor edx, edx
push ecx
mov ecx, dword [esp + 0x4c]
test eax, eax
mov eax, dword [esp + 0x64]
setge dl
push 0
push edx
push eax
push esi
push ecx
push edi
push ebp
call fcn.004402e0
push esi
push 0
push edi
push ebp
call fcn.00442ed0
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0xa4]
xor edx, edx
test ecx, ecx
mov ecx, dword [esp + 0x90]
sete dl
push edx
mov edx, dword [esp + 0x7c]
push eax
push 0
push ecx
push esi
push edx
push ebp
mov eax, edi
call fcn.00421970
add esp, 0x54
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0xc]
test ch, 0x10
je 0x4477b9
mov ecx, dword [esp + 0x68]
push ebx
mov eax, 1
mov edx, 0x14
call fcn.00414e70
add esp, 4
mov eax, dword [esp + 0x54]
test eax, eax
je 0x4477e6
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xc0]
push ecx
push edx
sub esi, dword [edi + 0xc]
sub esi, 2
push esi
push edi
push 2
push 0
push 0x69
push eax
push ebp
call fcn.0044ab00
add esp, 0x24
mov edx, dword [esp + 0x1c]
mov ecx, ebx
call fcn.0040d4e0
mov eax, dword [esp + 0x48]
test eax, eax
je 0x44782c
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x60]
push ebx
mov ecx, esi
mov edx, 0x43
call fcn.00414e70
mov ecx, dword [esp + 0x60]
push ecx
mov ecx, ebx
call fcn.0040d680
push ebx
mov eax, esi
mov ecx, 0x2b
call fcn.00414e50
add esp, 0xc
jmp 0x447857
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x447857
mov eax, dword [esp + 0x60]
push ebx
xor ecx, ecx
mov edx, 1
call fcn.00414e70
mov edx, dword [esp + 0x60]
push edx
mov ecx, ebx
call fcn.0040d680
add esp, 8
test byte [edi + 0x22], 0x10
jne 0x44789b
mov eax, dword [esp + 0x64]
test eax, eax
jne 0x44789b
mov eax, dword [esp + 0x40]
push ebx
mov ecx, 0x2b
call fcn.00414e50
mov esi, dword [edi + 0x14]
add esp, 4
test esi, esi
je 0x44789b
mov edi, dword [esp + 0x40]
inc edi
push ebx
mov eax, edi
mov ecx, 0x2b
call fcn.00414e50
mov esi, dword [esi + 0x20]
add esp, 4
inc edi
test esi, esi
jne 0x447883
mov esi, dword [esp + 0x4c]
mov al, byte [ebp + 0x13]
test al, al
jne 0x4478b9
mov eax, dword [ebp + 0x1ac]
test eax, eax
jne 0x4478b9
push ebp
call fcn.004217f0
add esp, 4
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0xc]
test ch, 0x10
je 0x447906
mov al, byte [ebp + 0x13]
test al, al
jne 0x447906
mov eax, dword [ebp + 0x1ac]
test eax, eax
jne 0x447906
mov ecx, dword [esp + 0x68]
push esi
mov eax, 1
mov edx, 0x10
call fcn.00414e70
push 1
call fcn.00419d70
push 0
push str.rows_inserted
push 0
push 0
mov ecx, esi
call fcn.0042e910
add esp, 0x18
mov ecx, dword [esp + 0xb0]
mov edi, dword [esp + 0x38]
push ecx
mov eax, edi
call fcn.0040f240
mov ebx, dword [esp + 0xb8]
call fcn.0040e580
mov edx, dword [esp + 0xbc]
push edx
push edi
call fcn.0040fce0
mov esi, dword [esp + 0xc8]
mov ebx, edi
call fcn.0040f150
mov eax, dword [esp + 0x64]
push eax
push edi
call fcn.00408130
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x98
ret