Function at 0x43bd8d
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 0x43cca2
cmp byte [edi + 0x51], dl
jne 0x43cca2
mov esi, dword [esp + 0xd0]
mov dword [esp + 0x94], edx
mov dword [esp + 0x14], esi
test esi, esi
je 0x43be2a
test dword [esi + 8], 0x200
je 0x43be2a
cmp dword [esi + 0x34], edx
jne 0x43be2a
mov eax, dword [esi]
mov ecx, edi
mov dword [esi], edx
mov edx, esi
mov dword [esp + 0x3c], eax
call fcn.004424e3
and dword [esp + 0x14], 0
mov edx, ebx
mov ecx, ebp
call fcn.00437456
mov ebx, eax
mov dword [esp + 0x5c], ebx
test ebx, ebx
je 0x43ccab
mov edx, dword [ebx + 0x48]
mov ecx, edi
call fcn.00441df0
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.00431f91
add esp, 0xc
test eax, eax
jne 0x43c2b3
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.00449e9a
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.00434457
test eax, eax
jne 0x43c2b3
push dword [esp + 0x48]
mov edx, ebx
mov ecx, ebp
call fcn.00437493
pop ecx
test eax, eax
jne 0x43c2b3
mov ecx, ebp
call fcn.004440d4
mov edi, eax
mov dword [esp + 0x20], edi
test edi, edi
je 0x43c2b3
cmp byte [ebp + 0x12], 0
jne 0x43beef
or dword [edi + 0x98], 0x20
cmp dword [esp + 0x14], 0
jne 0x43bf01
cmp dword [esp + 0x60], 0
jne 0x43bf01
xor edx, edx
jmp 0x43bf04
xor edx, edx
inc edx
push esi
mov ecx, ebp
call fcn.00436876
cmp dword [esp + 0xd8], 0
pop ecx
jne 0x43bf37
push esi
push dword [esp + 0xdc]
mov edx, ebx
mov ecx, ebp
push dword [esp + 0x1c]
call fcn.0043dc72
add esp, 0xc
test eax, eax
jne 0x43cc45
push ebx
mov edx, esi
mov ecx, ebp
call fcn.0043bb65
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 0x43bf71
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 0x43c0a2
mov eax, dword [edx + 4]
xor ecx, ecx
test eax, eax
jle 0x43bfb1
mov eax, dword [edx]
or dword [eax + ecx*8 + 4], 0xffffffff
inc ecx
mov eax, dword [edx + 4]
cmp ecx, eax
jl 0x43bfa2
xor esi, esi
test eax, eax
jle 0x43c0a2
movzx eax, word [ebx + 0x2a]
cwde
xor edx, edx
mov dword [esp + 0x40], edx
mov dword [esp + 0x80], eax
test eax, eax
jle 0x43c04b
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.00406f6f
mov edx, dword [esp + 0x40]
test eax, eax
je 0x43c01d
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 0x43bfef
jmp 0x43c04b
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 0x43c04b
mov dword [esp + 0x54], esi
mov byte [esp + 0x28], cl
movzx eax, word [ebx + 0x2a]
cwde
cmp edx, eax
jl 0x43c08d
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.0042b108
test eax, eax
je 0x43c253
cmp byte [esp + 0x8c], 0
jne 0x43c253
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 0x43bfbf
cmp dword [esp + 0x14], 0
je 0x43c275
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.0041b599
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.00447584
pop ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x70], ecx
test eax, eax
jne 0x43c2b3
mov eax, dword [esp + 0x68]
cmp byte [eax + 0x51], 0
jne 0x43c2b3
cmp dword [ebp + 0x24], 0
jne 0x43c2b3
mov edx, dword [esp + 0x24]
mov ecx, edi
call fcn.0041b831
lea edx, [esi - 1]
mov ecx, edi
call fcn.0041bcfc
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 0x43c186
mov edx, dword [esp + 0x50]
mov ecx, ebp
push ebx
call fcn.0043bae0
pop ecx
test eax, eax
je 0x43c326
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.0042ea7d
mov edi, eax
call fcn.0042ea7d
mov ecx, dword [esp + 0x20]
mov ebx, eax
push 0
push esi
push edx
push 0x70
pop edx
call fcn.0041b599
mov ecx, dword [esp + 0x2c]
add esp, 0xc
push 0
push 0
push dword [esp + 0x9c]
push 0xe
pop edx
call fcn.0041b599
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.0041b599
mov ecx, dword [esp + 0x2c]
add esp, 0xc
push 0
push ebx
push dword [esp + 0x38]
push 0x79
pop edx
call fcn.0041b599
mov ecx, dword [esp + 0x2c]
add esp, 0xc
push ebx
push edi
push dword [esp + 0x38]
push 0x7a
pop edx
call fcn.0041b599
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov edx, esi
call fcn.0041b616
mov ecx, dword [esp + 0x20]
mov edx, esi
call fcn.0041bcfc
mov ecx, dword [ecx + 0x6c]
mov edx, edi
mov dword [eax + 8], ecx
mov ecx, ebp
call fcn.0042ea9c
mov edx, ebx
call fcn.0042ea9c
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x34]
jmp 0x43c322
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.00406e9c
add esp, 0x14
mov byte [ebp + 0x11], 1
jmp 0x43c2b7
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 0x43c31c
mov esi, dword [eax]
lea ecx, [esp + 0xa8]
mov edx, eax
mov dword [esp + 0x34], esi
call fcn.0042953a
test eax, eax
je 0x43c322
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.00436427
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x43c2e0
mov edx, eax
mov ecx, ebp
call fcn.0042ad35
mov edx, esi
mov ecx, ebp
call fcn.0044ba47
mov edx, ebx
mov ecx, ebp
call fcn.004424e3
mov edx, dword [esp + 0xd4]
mov ecx, ebp
call fcn.00436198
mov eax, dword [esp + 0x58]
test eax, eax
je 0x43c311
mov edx, eax
mov ecx, ebp
call fcn.0040494c
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 0x43c33d
test esi, esi
jle 0x43c33d
movsx ecx, word [ebx + 0x28]
mov dword [esp + 0x54], ecx
movsx ecx, word [ebx + 0x2a]
test ecx, ecx
jle 0x43c368
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 0x43c34d
mov eax, dword [esp + 0xd4]
mov edx, dword [esp + 0x34]
test eax, eax
jne 0x43c397
test edx, edx
je 0x43c3b3
sub ecx, dword [esp + 0x1c]
cmp edx, ecx
je 0x43c3b3
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.00406e9c
add esp, 0x18
jmp 0x43c2b7
cmp edx, dword [eax + 4]
je 0x43c3b3
push dword [eax + 4]
push edx
push str._d_values_for__d_columns
push ebp
call fcn.00406e9c
add esp, 0x10
jmp 0x43c2b3
mov esi, dword [esp + 0x68]
xor ecx, ecx
mov eax, dword [esi + 0x20]
and eax, 0x80
or eax, ecx
je 0x43c3ee
cmp byte [ebp + 0x12], cl
jne 0x43c3ee
cmp dword [ebp + 0x70], ecx
jne 0x43c3ee
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.0041b599
add esp, 0xc
xor ecx, ecx
cmp dword [esp + 0x4c], 0
jne 0x43c47c
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.0043da88
mov dword [esp + 0x3c], eax
mov ecx, esi
push 0
lea eax, [eax*4 + 8]
push eax
call fcn.00404b2c
add esp, 0x20
mov dword [esp + 0x58], eax
test eax, eax
je 0x43c2b3
mov esi, dword [ebx + 8]
xor edx, edx
cmp dword [esp + 0x24], edx
jle 0x43c46e
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 0x43c447
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x20]
jmp 0x43c471
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 0x43c4e0
cmp dword [ebx + 0x38], 0
je 0x43c4a6
push dword [ebx]
push str.UPSERT_not_implemented_for_virtual_table___s_
push ebp
call fcn.00406e9c
add esp, 0xc
mov edi, dword [esp + 0x18]
jmp 0x43c2be
mov edx, dword [esi]
mov ecx, ebp
call fcn.00435201
test eax, eax
jne 0x43c49d
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 0x43c4e0
push esi
mov ecx, ebp
call fcn.0044bb04
pop ecx
cmp byte [esp + 0x13], 0
je 0x43c50c
push 0
push 0
push dword [esp + 0x38]
mov ecx, edi
push 0x24
pop edx
call fcn.0041b599
mov dword [esp + 0x88], eax
mov eax, dword [edi + 0x6c]
mov dword [esp + 0x84], eax
jmp 0x43c538
cmp dword [esp + 0x14], 0
je 0x43c53b
push 0
push 0
push dword [esp + 0x9c]
mov ecx, edi
push 0xe
pop edx
call fcn.0041b599
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 0x43c7a0
movsx edx, word [ebx + 0x2a]
mov ecx, ebp
inc edx
call fcn.0042eab5
mov esi, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x1c], esi
test eax, eax
jns 0x43c573
or eax, 0xffffffff
mov ecx, esi
push 0x46
jmp 0x43c5e4
cmp byte [esp + 0x13], 0
push esi
je 0x43c58f
push eax
push dword [esp + 0x38]
mov ecx, edi
push 0x5a
pop edx
call fcn.0041b599
add esp, 0xc
jmp 0x43c5a2
imul edx, eax, 0x18
mov ecx, ebp
mov eax, dword [esp + 0x40]
mov edx, dword [edx + eax + 4]
call fcn.0042d5d9
pop ecx
push 0
push 0
push esi
push 0x33
pop edx
mov ecx, edi
call fcn.0041b599
add esp, 0xc
mov ecx, edi
mov esi, eax
push 0
push dword [esp + 0x20]
push 0xffffffffffffffff
push 0x46
pop edx
call fcn.0041b599
add esp, 0xc
mov edx, esi
mov ecx, edi
call fcn.0041bcfc
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.0041b599
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 0x43c747
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 0x43c66b
xor edx, edx
mov dword [esp + 0x48], edx
cmp dword [esi + 4], edx
jle 0x43c66b
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 0x43c65b
inc edx
add ecx, 8
cmp edx, dword [esi + 4]
jl 0x43c64b
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 0x43c67a
cmp dword [esp + 0x3c], 0
je 0x43c683
test esi, esi
je 0x43c699
cmp edx, dword [esi + 4]
jl 0x43c699
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x24]
push ecx
mov ecx, ebp
mov edx, dword [edx + eax + 4]
call fcn.0042d5d9
pop ecx
jmp 0x43c705
push ecx
test al, al
je 0x43c6b2
push edx
push dword [esp + 0x38]
mov ecx, edi
push 0x5a
pop edx
call fcn.0041b599
add esp, 0xc
jmp 0x43c705
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.0042d5d9
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.0041b599
add esp, 0xc
mov ecx, ebx
call fcn.00429723
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 0x43c625
mov ecx, esi
cmp dword [esp + 0x4c], 0
mov esi, dword [esp + 0x1c]
movzx eax, cx
jne 0x43c767
lea eax, [esi + 1]
mov edx, ebx
push eax
mov ecx, edi
call fcn.0043ba35
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.0044a458
movsx eax, word [ebx + 0x2a]
add esp, 0x1c
inc eax
mov edx, esi
mov ecx, ebp
push eax
call fcn.0042eaeb
add esp, 4
cmp dword [esp + 0x4c], 0
jne 0x43cabd
mov ecx, dword [ebx + 0x38]
test ecx, ecx
je 0x43c7ca
push 0
push dword [esp + 0x68]
mov ecx, edi
push 0
push 0x49
pop edx
call fcn.0041b599
mov ecx, dword [ebx + 0x38]
add esp, 0xc
mov eax, dword [esp + 0x54]
test eax, eax
js 0x43c8c8
cmp byte [esp + 0x13], 0
je 0x43c7f6
mov esi, dword [esp + 0x2c]
push esi
push eax
push dword [esp + 0x38]
push 0x5a
pop edx
mov ecx, edi
call fcn.0041b599
add esp, 0xc
jmp 0x43c851
cmp dword [esp + 0x14], 0
je 0x43c80d
mov esi, dword [esp + 0x2c]
add eax, dword [esp + 0x70]
push 0
push esi
push eax
push 0x4e
jmp 0x43c7e9
mov edx, dword [esp + 0x3c]
imul eax, eax, 0x18
mov edx, dword [eax + edx + 4]
cmp byte [edx], 0x75
jne 0x43c844
test ecx, ecx
jne 0x43c844
push dword [esp + 0x38]
mov ecx, edi
push dword [esp + 0x30]
push dword [esp + 0x4c]
push 0x79
pop edx
call fcn.0041b599
add esp, 0xc
mov dword [esp + 0x1c], 1
jmp 0x43c8c2
mov esi, dword [esp + 0x2c]
mov ecx, ebp
push esi
call fcn.0042d5d9
pop ecx
xor eax, eax
mov ecx, edi
push eax
cmp dword [ebx + 0x38], eax
jne 0x43c898
push eax
push esi
push 0x33
pop edx
call fcn.0041b599
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.0041b599
add esp, 0xc
mov edx, esi
mov ecx, edi
call fcn.0041bcfc
mov ecx, dword [edi + 0x6c]
mov esi, dword [esp + 0x2c]
mov dword [eax + 8], ecx
jmp 0x43c8ab
mov eax, dword [edi + 0x6c]
add eax, 2
push eax
push esi
push 0x32
pop edx
call fcn.0041b599
add esp, 0xc
push 0
push 0
push esi
push 0xf
pop edx
mov ecx, edi
call fcn.0041b599
add esp, 0xc
and dword [esp + 0x1c], 0
mov esi, dword [esp + 0x2c]
jmp 0x43c914
test ecx, ecx
jne 0x43c8f9
cmp byte [esp + 0x8c], cl
jne 0x43c8f9
push dword [esp + 0x38]
mov esi, dword [esp + 0x30]
mov ecx, edi
push esi
push dword [esp + 0x4c]
push 0x79
pop edx
call fcn.0041b599
add esp, 0xc
mov dword [esp + 0x1c], 1
jmp 0x43c914
mov esi, dword [esp + 0x2c]
mov ecx, edi
push 0
push esi
push 0
push 0x49
pop edx
call fcn.0041b599
add esp, 0xc
and dword [esp + 0x1c], 0
mov eax, dword [esp + 0x38]
test eax, eax
jle 0x43c930
mov ecx, dword [ebp + 8]
mov edx, 0x97
push 0
push esi
push eax
call fcn.0041b599
add esp, 0xc
and dword [esp + 0x38], 0
xor eax, eax
xor esi, esi
cmp ax, word [ebx + 0x2a]
jge 0x43ca5a
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 0x43c972
push 0
push 0
push edx
push 0x4a
pop edx
mov ecx, edi
call fcn.0041b599
add esp, 0xc
jmp 0x43ca42
mov eax, dword [esp + 0xd4]
test eax, eax
jne 0x43c9a8
mov eax, dword [ebx + 4]
mov dl, byte [eax + ecx + 0xf]
mov eax, dword [esp + 0x38]
and dl, 2
je 0x43c992
or ecx, 0xffffffff
jmp 0x43c996
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 0x43c9cc
xor ecx, ecx
cmp dword [eax + 4], ecx
jle 0x43c9d7
mov eax, dword [eax]
mov ebx, dword [esp + 0xd4]
add eax, 4
cmp dword [eax], esi
je 0x43c9c8
inc ecx
add eax, 8
cmp ecx, dword [ebx + 4]
jl 0x43c9bb
mov ebx, dword [esp + 0x5c]
test ecx, ecx
js 0x43ca2e
mov eax, dword [esp + 0xd4]
cmp dword [esp + 0x34], 0
je 0x43ca2e
test eax, eax
je 0x43c9e7
cmp ecx, dword [eax + 4]
jge 0x43ca2e
cmp byte [esp + 0x13], 0
je 0x43c9fb
push edx
push ecx
push dword [esp + 0x38]
push 0x5a
jmp 0x43c962
cmp dword [esp + 0x14], 0
je 0x43ca19
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x6c]
je 0x43ca42
push 0
push edx
add eax, ecx
push eax
push 0x4f
jmp 0x43c962
mov eax, dword [esp + 0x3c]
push edx
imul edx, ecx, 0x18
mov ecx, ebp
mov edx, dword [edx + eax + 4]
call fcn.0042d5d9
jmp 0x43ca41
mov eax, dword [esp + 0x4c]
mov ecx, ebp
push edx
mov edx, dword [ebx + 4]
mov edx, dword [edx + eax + 4]
call fcn.0042d659
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 0x43c949
cmp dword [ebx + 0x38], 0
mov edx, ebx
je 0x43cb65
mov ecx, dword [esp + 0x68]
call fcn.0044c6a7
mov ecx, ebp
mov esi, eax
call fcn.0044d331
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.0041b6d6
mov eax, dword [esp + 0xec]
add esp, 0x14
cmp eax, 0xb
movzx edx, ax
mov ecx, edi
cmove edx, esi
call fcn.0041ba67
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 0x43cade
push 0
push 1
push eax
push 0x53
pop edx
mov ecx, edi
call fcn.0041b599
add esp, 0xc
mov edx, dword [esp + 0x60]
test edx, edx
je 0x43cb0e
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.0044a458
add esp, 0x1c
mov edx, esi
mov ecx, edi
call fcn.0041b898
cmp byte [esp + 0x13], 0
je 0x43cc22
mov ebx, dword [esp + 0x30]
mov ecx, edi
push 0
push dword [esp + 0x7c]
push ebx
push 5
pop edx
call fcn.0041b599
mov edx, dword [esp + 0x88]
add esp, 0xc
mov ecx, edi
call fcn.0041bcfc
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.0041b599
add esp, 0xc
jmp 0x43cc45
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.0043cd35
add esp, 0x2c
xor eax, eax
mov edx, ebx
mov ecx, ebp
push eax
push eax
push dword [esp + 0x6c]
push eax
call fcn.0043ad1c
add esp, 0x10
cmp dword [esp + 0x50], 0
je 0x43cbf4
cmp dword [esp + 0x60], 0
jne 0x43cbf0
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x20]
and eax, 0x4000
or eax, 0
je 0x43cbf4
mov ecx, ebx
call fcn.0043aadc
test eax, eax
je 0x43cbf4
xor eax, eax
jmp 0x43cbf7
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.0043d920
add esp, 0x1c
jmp 0x43cac1
cmp dword [esp + 0x14], 0
je 0x43cc45
mov edx, dword [esp + 0x78]
mov ecx, edi
call fcn.0041b616
mov edx, dword [esp + 0x7c]
mov ecx, edi
call fcn.0041bcfc
mov ecx, dword [edi + 0x6c]
mov dword [eax + 8], ecx
cmp byte [ebp + 0x12], 0
jne 0x43cc5e
cmp dword [ebp + 0x70], 0
jne 0x43cc5e
cmp dword [ebp + 0x68], 0
je 0x43cc5e
mov ecx, ebp
call fcn.0043bccc
mov eax, dword [esp + 0x84]
test eax, eax
je 0x43c2b3
push 0
push 1
push eax
push 0x51
pop edx
mov ecx, edi
call fcn.0041b599
add esp, 0xc
xor edx, edx
inc edx
mov ecx, edi
call fcn.0041c8aa
push 0
push str.rows_inserted
push ecx
xor edx, edx
mov ecx, edi
call fcn.0041c906
add esp, 0xc
jmp 0x43c2b3
mov ebx, dword [esp + 0xd0]
jmp 0x43ccaf
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0xdc]
jmp 0x43c2c2