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

Disassembly:
sub esp, 0xbc
push ebx
push ebp
mov ebp, ecx
mov ebx, edx
xor edx, edx
mov dword [esp + 0x10], ebx
push esi
or ecx, 0xffffffff
mov dword [esp + 0x18], edx
push edi
mov edi, dword [ebp]
mov dword [esp + 0x44], edx
mov dword [esp + 0x74], edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], edx
mov byte [esp + 0x13], dl
mov dword [esp + 0x3c], edx
mov dword [esp + 0x70], edx
mov dword [esp + 0x84], edx
mov dword [esp + 0x58], edx
mov dword [esp + 0x68], edi
cmp dword [ebp + 0x24], edx
jne 0x4434b8
cmp byte [edi + 0x51], dl
jne 0x4434b8
mov esi, dword [esp + 0xd0]
mov dword [esp + 0x94], edx
mov dword [esp + 0x14], esi
test esi, esi
je 0x442640
test dword [esi + 8], 0x200
je 0x442640
cmp dword [esi + 0x34], edx
jne 0x442640
mov eax, dword [esi]
mov ecx, edi
mov dword [esi], edx
mov edx, esi
mov dword [esp + 0x3c], eax
call fcn.00448cf9
and dword [esp + 0x14], 0
mov edx, ebx
mov ecx, ebp
call fcn.0043dc6c
mov ebx, eax
mov dword [esp + 0x5c], ebx
test ebx, ebx
je 0x4434c1
mov edx, dword [ebx + 0x48]
mov ecx, edi
call fcn.00448606
mov esi, eax
mov eax, dword [edi + 0x10]
mov ecx, esi
mov dword [esp + 0x50], esi
add ecx, ecx
push dword [eax + ecx*8]
mov ecx, ebp
push 0
push dword [ebx]
push 0x12
pop edx
call fcn.004387a4
add esp, 0xc
test eax, eax
jne 0x442ac9
mov eax, dword [ebx + 0x24]
mov edx, ebx
shr eax, 5
mov ecx, ebp
and eax, 0xffffff01
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x48]
push eax
push 0
push 0x7b
call fcn.004506b2
add esp, 0xc
mov dword [esp + 0x60], eax
mov eax, dword [ebx + 0xc]
mov edx, ebx
mov ecx, ebp
mov dword [esp + 0x4c], eax
call fcn.0043ac6d
test eax, eax
jne 0x442ac9
push dword [esp + 0x48]
mov edx, ebx
mov ecx, ebp
call fcn.0043dca9
pop ecx
test eax, eax
jne 0x442ac9
mov ecx, ebp
call fcn.0044a8ea
mov edi, eax
mov dword [esp + 0x20], edi
test edi, edi
je 0x442ac9
cmp byte [ebp + 0x12], 0
jne 0x442705
or dword [edi + 0x98], 0x20
cmp dword [esp + 0x14], 0
jne 0x442717
cmp dword [esp + 0x60], 0
jne 0x442717
xor edx, edx
jmp 0x44271a
xor edx, edx
inc edx
push esi
mov ecx, ebp
call fcn.0043d08c
cmp dword [esp + 0xd8], 0
pop ecx
jne 0x44274d
push esi
push dword [esp + 0xdc]
mov edx, ebx
mov ecx, ebp
push dword [esp + 0x1c]
call fcn.00444488
add esp, 0xc
test eax, eax
jne 0x44345b
push ebx
mov edx, esi
mov ecx, ebp
call fcn.0044237b
pop ecx
mov ecx, dword [ebp + 0x2c]
mov dword [esp + 0x38], eax
movsx eax, word [ebx + 0x2a]
inc eax
lea esi, [ecx + 1]
add eax, ecx
mov edx, esi
mov dword [ebp + 0x2c], eax
cmp dword [ebx + 0x38], 0
mov dword [esp + 0x64], esi
mov dword [esp + 0x2c], edx
je 0x442787
lea edx, [esi + 1]
inc eax
mov dword [esp + 0x2c], edx
mov dword [ebp + 0x2c], eax
mov ecx, dword [ebx + 0x24]
lea eax, [edx + 1]
mov edx, dword [esp + 0xd4]
shr ecx, 7
not cl
mov dword [esp + 0x6c], eax
and ecx, 0xffffff01
mov dword [esp + 0x28], ecx
test edx, edx
je 0x4428b8
mov eax, dword [edx + 4]
xor ecx, ecx
test eax, eax
jle 0x4427c7
mov eax, dword [edx]
or dword [eax + ecx*8 + 4], 0xffffffff
inc ecx
mov eax, dword [edx + 4]
cmp ecx, eax
jl 0x4427b8
xor esi, esi
test eax, eax
jle 0x4428b8
movzx eax, word [ebx + 0x2a]
cwde
xor edx, edx
mov dword [esp + 0x40], edx
mov dword [esp + 0x80], eax
test eax, eax
jle 0x442861
mov eax, dword [esp + 0xd4]
mov eax, dword [eax]
mov dword [esp + 0x88], eax
mov ecx, dword [eax + esi*8]
mov eax, dword [ebx + 4]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x24], eax
mov edx, dword [eax]
call fcn.0040d786
mov edx, dword [esp + 0x40]
test eax, eax
je 0x442833
mov eax, dword [esp + 0x24]
inc edx
mov ecx, dword [esp + 0x34]
add eax, 0x10
mov dword [esp + 0x40], edx
mov dword [esp + 0x24], eax
cmp edx, dword [esp + 0x80]
jl 0x442805
jmp 0x442861
mov eax, dword [esp + 0x88]
cmp esi, edx
mov ecx, dword [esp + 0x28]
push 0
mov dword [eax + esi*8 + 4], edx
movzx eax, cl
pop ecx
cmove ecx, eax
movsx eax, word [ebx + 0x28]
mov byte [esp + 0x28], cl
cmp edx, eax
jne 0x442861
mov dword [esp + 0x54], esi
mov byte [esp + 0x28], cl
movzx eax, word [ebx + 0x2a]
cwde
cmp edx, eax
jl 0x4428a3
mov eax, dword [esp + 0xd4]
mov eax, dword [eax]
mov eax, dword [eax + esi*8]
mov ecx, eax
mov dword [esp + 0x88], eax
call fcn.0043191c
test eax, eax
je 0x442a69
cmp byte [esp + 0x8c], 0
jne 0x442a69
mov dword [esp + 0x54], esi
mov byte [esp + 0x28], 0
mov ecx, dword [esp + 0xd4]
inc esi
movzx eax, word [ebx + 0x2a]
cmp esi, dword [ecx + 4]
jl 0x4427d5
cmp dword [esp + 0x14], 0
je 0x442a8b
inc dword [ebp + 0x2c]
mov ecx, edi
mov esi, dword [edi + 0x6c]
mov eax, dword [ebp + 0x2c]
inc esi
push esi
push 0
push eax
push 0xd
pop edx
mov dword [esp + 0x30], eax
call fcn.00421dad
mov eax, dword [esp + 0x30]
add esp, 0xc
and dword [esp + 0xa0], 0
mov ecx, ebp
mov edx, dword [esp + 0x14]
mov dword [esp + 0x94], eax
xor eax, eax
cmp byte [esp + 0x28], al
mov byte [esp + 0x90], 0xd
cmovne eax, dword [esp + 0x6c]
mov dword [esp + 0x98], eax
movsx eax, word [ebx + 0x2a]
mov dword [esp + 0x9c], eax
lea eax, [esp + 0x90]
push eax
call fcn.0044dd9c
pop ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x70], ecx
test eax, eax
jne 0x442ac9
mov eax, dword [esp + 0x68]
cmp byte [eax + 0x51], 0
jne 0x442ac9
cmp dword [ebp + 0x24], 0
jne 0x442ac9
mov edx, dword [esp + 0x24]
mov ecx, edi
call fcn.00422045
lea edx, [esi - 1]
mov ecx, edi
call fcn.00422510
cmp dword [esp + 0x60], 0
mov ecx, dword [edi + 0x6c]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov esi, dword [eax]
mov dword [esp + 0x34], esi
jne 0x44299c
mov edx, dword [esp + 0x50]
mov ecx, ebp
push ebx
call fcn.004422f6
pop ecx
test eax, eax
je 0x442b3c
mov edx, dword [ebp + 0x28]
mov ecx, ebp
mov byte [esp + 0x13], 1
mov dword [esp + 0x30], edx
lea eax, [edx + 1]
mov dword [ebp + 0x28], eax
call fcn.00435291
mov edi, eax
call fcn.00435291
mov ecx, dword [esp + 0x20]
mov ebx, eax
push 0
push esi
push edx
push 0x70
pop edx
call fcn.00421dad
mov ecx, dword [esp + 0x2c]
add esp, 0xc
push 0
push 0
push dword [esp + 0x9c]
push 0xe
pop edx
call fcn.00421dad
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov esi, eax
push edi
push dword [esp + 0x38]
push dword [esp + 0x78]
push 0x5c
pop edx
call fcn.00421dad
mov ecx, dword [esp + 0x2c]
add esp, 0xc
push 0
push ebx
push dword [esp + 0x38]
push 0x79
pop edx
call fcn.00421dad
mov ecx, dword [esp + 0x2c]
add esp, 0xc
push ebx
push edi
push dword [esp + 0x38]
push 0x7a
pop edx
call fcn.00421dad
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov edx, esi
call fcn.00421e2a
mov ecx, dword [esp + 0x20]
mov edx, esi
call fcn.00422510
mov ecx, dword [ecx + 0x6c]
mov edx, edi
mov dword [eax + 8], ecx
mov ecx, ebp
call fcn.004352b0
mov edx, ebx
call fcn.004352b0
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x34]
jmp 0x442b38
push dword [esp + 0x88]
mov edi, dword [esp + 0x1c]
push 0
push edi
push str.table__S_has_no_column_named__s
push ebp
call fcn.0040d6b3
add esp, 0x14
mov byte [ebp + 0x11], 1
jmp 0x442acd
or dword [esp + 0x30], 0xffffffff
lea edi, [esp + 0xa8]
push 8
xor eax, eax
pop ecx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xa8], ebp
test eax, eax
je 0x442b32
mov esi, dword [eax]
lea ecx, [esp + 0xa8]
mov edx, eax
mov dword [esp + 0x34], esi
call fcn.0042fd4e
test eax, eax
je 0x442b38
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0xdc]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x68]
mov edx, edi
mov ecx, ebp
call fcn.0043cc3d
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x442af6
mov edx, eax
mov ecx, ebp
call fcn.00431549
mov edx, esi
mov ecx, ebp
call fcn.0045225f
mov edx, ebx
mov ecx, ebp
call fcn.00448cf9
mov edx, dword [esp + 0xd4]
mov ecx, ebp
call fcn.0043c9ae
mov eax, dword [esp + 0x58]
test eax, eax
je 0x442b27
mov edx, eax
mov ecx, ebp
call fcn.0040b163
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xbc
ret
xor esi, esi
mov dword [esp + 0x34], esi
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0xd4]
test eax, eax
jne 0x442b53
test esi, esi
jle 0x442b53
movsx ecx, word [ebx + 0x28]
mov dword [esp + 0x54], ecx
movsx ecx, word [ebx + 0x2a]
test ecx, ecx
jle 0x442b7e
mov edx, dword [ebx + 4]
mov esi, ecx
add edx, 0xf
movzx eax, byte [edx]
lea edx, [edx + 0x10]
shr eax, 1
and eax, 1
add dword [esp + 0x1c], eax
sub esi, 1
jne 0x442b63
mov eax, dword [esp + 0xd4]
mov edx, dword [esp + 0x34]
test eax, eax
jne 0x442bad
test edx, edx
je 0x442bc9
sub ecx, dword [esp + 0x1c]
cmp edx, ecx
je 0x442bc9
mov edi, dword [esp + 0x18]
push edx
push ecx
push eax
push edi
push str.table__S_has__d_columns_but__d_values_were_supplied
push ebp
call fcn.0040d6b3
add esp, 0x18
jmp 0x442acd
cmp edx, dword [eax + 4]
je 0x442bc9
push dword [eax + 4]
push edx
push str._d_values_for__d_columns
push ebp
call fcn.0040d6b3
add esp, 0x10
jmp 0x442ac9
mov esi, dword [esp + 0x68]
xor ecx, ecx
mov eax, dword [esi + 0x20]
and eax, 0x80
or eax, ecx
je 0x442c04
cmp byte [ebp + 0x12], cl
jne 0x442c04
cmp dword [ebp + 0x70], ecx
jne 0x442c04
inc dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
push ecx
push eax
push ecx
push 0x46
pop edx
mov ecx, edi
mov dword [esp + 0x90], eax
call fcn.00421dad
add esp, 0xc
xor ecx, ecx
cmp dword [esp + 0x4c], 0
jne 0x442c92
lea eax, [esp + 0x74]
mov edx, ebx
push eax
lea eax, [esp + 0x48]
push eax
push ecx
push 0xffffffffffffffff
push ecx
push 0x62
mov ecx, ebp
call fcn.0044429e
mov dword [esp + 0x3c], eax
mov ecx, esi
push 0
lea eax, [eax*4 + 8]
push eax
call fcn.0040b343
add esp, 0x20
mov dword [esp + 0x58], eax
test eax, eax
je 0x442ac9
mov esi, dword [ebx + 8]
xor edx, edx
cmp dword [esp + 0x24], edx
jle 0x442c84
mov edi, dword [esp + 0x24]
mov ebx, eax
inc dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
mov dword [ebx + edx*4], eax
movzx ecx, word [esi + 0x34]
mov eax, dword [ebp + 0x2c]
add eax, ecx
inc edx
mov dword [ebp + 0x2c], eax
mov esi, dword [esi + 0x14]
cmp edx, edi
jl 0x442c5d
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x20]
jmp 0x442c87
mov eax, dword [ebp + 0x2c]
mov ecx, dword [esp + 0x58]
inc eax
mov dword [ebp + 0x2c], eax
mov dword [ecx + edx*4], eax
mov esi, dword [esp + 0xdc]
test esi, esi
je 0x442cf6
cmp dword [ebx + 0x38], 0
je 0x442cbc
push dword [ebx]
push str.UPSERT_not_implemented_for_virtual_table___s_
push ebp
call fcn.0040d6b3
add esp, 0xc
mov edi, dword [esp + 0x18]
jmp 0x442ad4
mov edx, dword [esi]
mov ecx, ebp
call fcn.0043ba17
test eax, eax
jne 0x442cb3
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x6c]
mov dword [edx + 0x34], ecx
cmp dword [esi], 0
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x74]
mov dword [esi + 0x14], edx
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], eax
je 0x442cf6
push esi
mov ecx, ebp
call fcn.0045231c
pop ecx
cmp byte [esp + 0x13], 0
je 0x442d22
push 0
push 0
push dword [esp + 0x38]
mov ecx, edi
push 0x24
pop edx
call fcn.00421dad
mov dword [esp + 0x88], eax
mov eax, dword [edi + 0x6c]
mov dword [esp + 0x84], eax
jmp 0x442d4e
cmp dword [esp + 0x14], 0
je 0x442d51
push 0
push 0
push dword [esp + 0x9c]
mov ecx, edi
push 0xe
pop edx
call fcn.00421dad
mov ecx, eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ecx
add esp, 0xc
dec dword [ebp + 0x38]
test byte [esp + 0x48], 1
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x40], eax
je 0x442fb6
movsx edx, word [ebx + 0x2a]
mov ecx, ebp
inc edx
call fcn.004352c9
mov esi, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x1c], esi
test eax, eax
jns 0x442d89
or eax, 0xffffffff
mov ecx, esi
push 0x46
jmp 0x442dfa
cmp byte [esp + 0x13], 0
push esi
je 0x442da5
push eax
push dword [esp + 0x38]
mov ecx, edi
push 0x5a
pop edx
call fcn.00421dad
add esp, 0xc
jmp 0x442db8
imul edx, eax, 0x18
mov ecx, ebp
mov eax, dword [esp + 0x40]
mov edx, dword [edx + eax + 4]
call fcn.00433ded
pop ecx
push 0
push 0
push esi
push 0x33
pop edx
mov ecx, edi
call fcn.00421dad
add esp, 0xc
mov ecx, edi
mov esi, eax
push 0
push dword [esp + 0x20]
push 0xffffffffffffffff
push 0x46
pop edx
call fcn.00421dad
add esp, 0xc
mov edx, esi
mov ecx, edi
call fcn.00422510
mov ecx, dword [edi + 0x6c]
mov esi, dword [esp + 0x1c]
push 0xf
mov dword [eax + 8], ecx
mov eax, esi
xor ecx, ecx
pop edx
push 0
push ecx
push eax
mov ecx, edi
call fcn.00421dad
movzx eax, word [ebx + 0x2a]
xor edx, edx
and dword [esp + 0x5c], edx
add esp, 0xc
mov ecx, eax
mov dword [esp + 0x48], edx
cmp word [esp + 0x50], ax
jge 0x442f5d
and dword [esp + 0x24], edx
lea ecx, [esi + 1]
or eax, 0xffffffff
mov dword [esp + 0x28], ecx
sub eax, esi
mov dword [esp + 0x80], eax
mov esi, dword [esp + 0xd4]
test esi, esi
je 0x442e81
xor edx, edx
mov dword [esp + 0x48], edx
cmp dword [esi + 4], edx
jle 0x442e81
mov ecx, dword [esi]
mov edi, dword [esp + 0x28]
add ecx, 4
mov ebx, dword [esp + 0x80]
lea eax, [ebx + edi]
cmp dword [ecx], eax
je 0x442e71
inc edx
add ecx, 8
cmp edx, dword [esi + 4]
jl 0x442e61
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x48], edx
mov al, byte [esp + 0x13]
test al, al
jne 0x442e90
cmp dword [esp + 0x3c], 0
je 0x442e99
test esi, esi
je 0x442eaf
cmp edx, dword [esi + 4]
jl 0x442eaf
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x24]
push ecx
mov ecx, ebp
mov edx, dword [edx + eax + 4]
call fcn.00433ded
pop ecx
jmp 0x442f1b
push ecx
test al, al
je 0x442ec8
push edx
push dword [esp + 0x38]
mov ecx, edi
push 0x5a
pop edx
call fcn.00421dad
add esp, 0xc
jmp 0x442f1b
mov esi, dword [ebp + 8]
mov ecx, ebp
imul eax, edx, 0x18
mov edx, dword [esp + 0x40]
mov ebx, dword [eax + edx + 4]
mov edx, ebx
call fcn.00433ded
inc dword [ebp + 0x2c]
mov edi, dword [ebp + 0x2c]
pop ecx
push 0
push edi
push dword [esp + 0x30]
mov ecx, esi
push 0x4e
pop edx
call fcn.00421dad
add esp, 0xc
mov ecx, ebx
call fcn.0042ff37
mov ebx, dword [esp + 0x5c]
mov cl, byte [eax]
and dword [eax + 4], 0xffffefff
mov dword [eax + 0x18], edi
mov edi, dword [esp + 0x20]
mov byte [eax + 0x22], cl
mov byte [eax], 0xab
mov ecx, dword [esp + 0x48]
add dword [esp + 0x24], 0x10
mov esi, dword [esp + 0x28]
inc esi
cmp dword [esp + 0xd4], 0
lea edx, [ecx + 1]
mov dword [esp + 0x28], esi
cmovne edx, ecx
mov ecx, dword [esp + 0x80]
add ecx, esi
mov dword [esp + 0x48], edx
movzx esi, word [ebx + 0x2a]
movsx eax, si
cmp ecx, eax
mov ecx, dword [esp + 0x28]
jl 0x442e3b
mov ecx, esi
cmp dword [esp + 0x4c], 0
mov esi, dword [esp + 0x1c]
movzx eax, cx
jne 0x442f7d
lea eax, [esi + 1]
mov edx, ebx
push eax
mov ecx, edi
call fcn.0044224b
movzx eax, word [ebx + 0x2a]
pop ecx
push dword [esp + 0x40]
mov edx, dword [esp + 0x64]
mov ecx, esi
push dword [esp + 0xdc]
cwde
sub ecx, eax
dec ecx
push ecx
push ebx
push 1
push 0
push 0x7b
mov ecx, ebp
call fcn.00450c70
movsx eax, word [ebx + 0x2a]
add esp, 0x1c
inc eax
mov edx, esi
mov ecx, ebp
push eax
call fcn.004352ff
add esp, 4
cmp dword [esp + 0x4c], 0
jne 0x4432d3
mov ecx, dword [ebx + 0x38]
test ecx, ecx
je 0x442fe0
push 0
push dword [esp + 0x68]
mov ecx, edi
push 0
push 0x49
pop edx
call fcn.00421dad
mov ecx, dword [ebx + 0x38]
add esp, 0xc
mov eax, dword [esp + 0x54]
test eax, eax
js 0x4430de
cmp byte [esp + 0x13], 0
je 0x44300c
mov esi, dword [esp + 0x2c]
push esi
push eax
push dword [esp + 0x38]
push 0x5a
pop edx
mov ecx, edi
call fcn.00421dad
add esp, 0xc
jmp 0x443067
cmp dword [esp + 0x14], 0
je 0x443023
mov esi, dword [esp + 0x2c]
add eax, dword [esp + 0x70]
push 0
push esi
push eax
push 0x4e
jmp 0x442fff
mov edx, dword [esp + 0x3c]
imul eax, eax, 0x18
mov edx, dword [eax + edx + 4]
cmp byte [edx], 0x75
jne 0x44305a
test ecx, ecx
jne 0x44305a
push dword [esp + 0x38]
mov ecx, edi
push dword [esp + 0x30]
push dword [esp + 0x4c]
push 0x79
pop edx
call fcn.00421dad
add esp, 0xc
mov dword [esp + 0x1c], 1
jmp 0x4430d8
mov esi, dword [esp + 0x2c]
mov ecx, ebp
push esi
call fcn.00433ded
pop ecx
xor eax, eax
mov ecx, edi
push eax
cmp dword [ebx + 0x38], eax
jne 0x4430ae
push eax
push esi
push 0x33
pop edx
call fcn.00421dad
add esp, 0xc
mov ecx, edi
mov esi, eax
push dword [esp + 0x38]
push dword [esp + 0x30]
push dword [esp + 0x4c]
push 0x79
pop edx
call fcn.00421dad
add esp, 0xc
mov edx, esi
mov ecx, edi
call fcn.00422510
mov ecx, dword [edi + 0x6c]
mov esi, dword [esp + 0x2c]
mov dword [eax + 8], ecx
jmp 0x4430c1
mov eax, dword [edi + 0x6c]
add eax, 2
push eax
push esi
push 0x32
pop edx
call fcn.00421dad
add esp, 0xc
push 0
push 0
push esi
push 0xf
pop edx
mov ecx, edi
call fcn.00421dad
add esp, 0xc
and dword [esp + 0x1c], 0
mov esi, dword [esp + 0x2c]
jmp 0x44312a
test ecx, ecx
jne 0x44310f
cmp byte [esp + 0x8c], cl
jne 0x44310f
push dword [esp + 0x38]
mov esi, dword [esp + 0x30]
mov ecx, edi
push esi
push dword [esp + 0x4c]
push 0x79
pop edx
call fcn.00421dad
add esp, 0xc
mov dword [esp + 0x1c], 1
jmp 0x44312a
mov esi, dword [esp + 0x2c]
mov ecx, edi
push 0
push esi
push 0
push 0x49
pop edx
call fcn.00421dad
add esp, 0xc
and dword [esp + 0x1c], 0
mov eax, dword [esp + 0x38]
test eax, eax
jle 0x443146
mov ecx, dword [ebp + 8]
mov edx, 0x97
push 0
push esi
push eax
call fcn.00421dad
add esp, 0xc
and dword [esp + 0x38], 0
xor eax, eax
xor esi, esi
cmp ax, word [ebx + 0x2a]
jge 0x443270
xor ecx, ecx
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x6c]
movsx eax, word [ebx + 0x28]
add edx, esi
mov dword [esp + 0x50], edx
cmp esi, eax
jne 0x443188
push 0
push 0
push edx
push 0x4a
pop edx
mov ecx, edi
call fcn.00421dad
add esp, 0xc
jmp 0x443258
mov eax, dword [esp + 0xd4]
test eax, eax
jne 0x4431be
mov eax, dword [ebx + 4]
mov dl, byte [eax + ecx + 0xf]
mov eax, dword [esp + 0x38]
and dl, 2
je 0x4431a8
or ecx, 0xffffffff
jmp 0x4431ac
mov ecx, esi
sub ecx, eax
inc eax
test dl, dl
mov edx, dword [esp + 0x50]
cmove eax, dword [esp + 0x38]
mov dword [esp + 0x38], eax
jmp 0x4431e2
xor ecx, ecx
cmp dword [eax + 4], ecx
jle 0x4431ed
mov eax, dword [eax]
mov ebx, dword [esp + 0xd4]
add eax, 4
cmp dword [eax], esi
je 0x4431de
inc ecx
add eax, 8
cmp ecx, dword [ebx + 4]
jl 0x4431d1
mov ebx, dword [esp + 0x5c]
test ecx, ecx
js 0x443244
mov eax, dword [esp + 0xd4]
cmp dword [esp + 0x34], 0
je 0x443244
test eax, eax
je 0x4431fd
cmp ecx, dword [eax + 4]
jge 0x443244
cmp byte [esp + 0x13], 0
je 0x443211
push edx
push ecx
push dword [esp + 0x38]
push 0x5a
jmp 0x443178
cmp dword [esp + 0x14], 0
je 0x44322f
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x6c]
je 0x443258
push 0
push edx
add eax, ecx
push eax
push 0x4f
jmp 0x443178
mov eax, dword [esp + 0x3c]
push edx
imul edx, ecx, 0x18
mov ecx, ebp
mov edx, dword [edx + eax + 4]
call fcn.00433ded
jmp 0x443257
mov eax, dword [esp + 0x4c]
mov ecx, ebp
push edx
mov edx, dword [ebx + 4]
mov edx, dword [edx + eax + 4]
call fcn.00433e6d
pop ecx
mov ecx, dword [esp + 0x4c]
inc esi
movsx eax, word [ebx + 0x2a]
add ecx, 0x10
mov dword [esp + 0x4c], ecx
cmp esi, eax
jl 0x44315f
cmp dword [ebx + 0x38], 0
mov edx, ebx
je 0x44337b
mov ecx, dword [esp + 0x68]
call fcn.00452ebf
mov ecx, ebp
mov esi, eax
call fcn.00453b49
movsx eax, word [ebx + 0x2a]
mov ecx, edi
push 0xfffffffffffffff4
push esi
push dword [esp + 0x6c]
push 2
pop esi
add eax, esi
push eax
push 1
push 0xa
pop edx
call fcn.00421eea
mov eax, dword [esp + 0xec]
add esp, 0x14
cmp eax, 0xb
movzx edx, ax
mov ecx, edi
cmove edx, esi
call fcn.0042227b
cmp dword [ebp + 0x6c], 0
mov eax, ebp
cmovne eax, dword [ebp + 0x6c]
mov byte [eax + 0x15], 1
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x84]
test eax, eax
je 0x4432f4
push 0
push 1
push eax
push 0x53
pop edx
mov ecx, edi
call fcn.00421dad
add esp, 0xc
mov edx, dword [esp + 0x60]
test edx, edx
je 0x443324
movsx eax, word [ebx + 0x2a]
mov ecx, dword [esp + 0x6c]
push esi
push dword [esp + 0xdc]
sub ecx, eax
push 2
pop eax
sub ecx, eax
push ecx
push ebx
push eax
push 0
push 0x7b
mov ecx, ebp
call fcn.00450c70
add esp, 0x1c
mov edx, esi
mov ecx, edi
call fcn.004220ac
cmp byte [esp + 0x13], 0
je 0x443438
mov ebx, dword [esp + 0x30]
mov ecx, edi
push 0
push dword [esp + 0x7c]
push ebx
push 5
pop edx
call fcn.00421dad
mov edx, dword [esp + 0x88]
add esp, 0xc
mov ecx, edi
call fcn.00422510
mov ecx, dword [edi + 0x6c]
push 0
push 0
push ebx
mov dword [eax + 8], ecx
mov ecx, edi
push 0x75
pop edx
call fcn.00421dad
add esp, 0xc
jmp 0x44345b
push dword [esp + 0xdc]
mov esi, dword [esp + 0x44]
lea eax, [esp + 0x54]
push 0
push eax
mov eax, dword [esp + 0x60]
mov ecx, ebp
push esi
push dword [esp + 0xe8]
shr eax, 0x1f
xor al, 1
movzx eax, al
push eax
push 0
push dword [esp + 0x80]
push dword [esp + 0x94]
push dword [esp + 0x68]
push dword [esp + 0x80]
call fcn.0044354b
add esp, 0x2c
xor eax, eax
mov edx, ebx
mov ecx, ebp
push eax
push eax
push dword [esp + 0x6c]
push eax
call fcn.00441532
add esp, 0x10
cmp dword [esp + 0x50], 0
je 0x44340a
cmp dword [esp + 0x60], 0
jne 0x443406
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x20]
and eax, 0x4000
or eax, 0
je 0x44340a
mov ecx, ebx
call fcn.004412f2
test eax, eax
je 0x44340a
xor eax, eax
jmp 0x44340d
xor eax, eax
inc eax
push eax
push dword [esp + 0x20]
mov edx, ebx
mov ecx, ebp
push 0
push dword [esp + 0x64]
push dword [esp + 0x74]
push dword [esp + 0x88]
push dword [esp + 0x5c]
call fcn.00444136
add esp, 0x1c
jmp 0x4432d7
cmp dword [esp + 0x14], 0
je 0x44345b
mov edx, dword [esp + 0x78]
mov ecx, edi
call fcn.00421e2a
mov edx, dword [esp + 0x7c]
mov ecx, edi
call fcn.00422510
mov ecx, dword [edi + 0x6c]
mov dword [eax + 8], ecx
cmp byte [ebp + 0x12], 0
jne 0x443474
cmp dword [ebp + 0x70], 0
jne 0x443474
cmp dword [ebp + 0x68], 0
je 0x443474
mov ecx, ebp
call fcn.004424e2
mov eax, dword [esp + 0x84]
test eax, eax
je 0x442ac9
push 0
push 1
push eax
push 0x51
pop edx
mov ecx, edi
call fcn.00421dad
add esp, 0xc
xor edx, edx
inc edx
mov ecx, edi
call fcn.004230be
push 0
push str.rows_inserted
push ecx
xor edx, edx
mov ecx, edi
call fcn.0042311a
add esp, 0xc
jmp 0x442ac9
mov ebx, dword [esp + 0xd0]
jmp 0x4434c5
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0xdc]
jmp 0x442ad8