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

Disassembly:
sub esp, 0xd4
mov eax, dword [0x490004]
xor eax, esp
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xe4]
push ebx
mov ebx, dword [esp + 0xdc]
push ebp
mov ebp, ecx
mov dword [esp + 0x74], eax
xor ecx, ecx
mov dword [esp + 0x64], edx
mov eax, ecx
mov dword [esp + 0xc], ebx
push esi
mov esi, dword [esp + 0xe8]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x90], eax
or eax, 0xffffffff
push edi
mov edi, dword [ebp]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], ecx
mov byte [esp + 0x13], cl
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], edi
cmp dword [ebp + 0x24], ecx
jne 0x43ddf2
cmp byte [edi + 0x51], cl
jne 0x43ddf2
mov dword [esp + 0xc8], ecx
test ebx, ebx
je 0x43d948
test dword [ebx + 8], 0x200
je 0x43d948
cmp dword [ebx + 0x34], ecx
jne 0x43d948
mov eax, dword [ebx]
mov edx, ebx
mov dword [ebx], ecx
mov ecx, edi
mov dword [esp + 0x3c], eax
call fcn.0044415a
and dword [esp + 0x14], 0
mov edx, dword [esp + 0x6c]
mov ecx, ebp
call fcn.00438da6
mov ebx, eax
mov dword [esp + 0x5c], ebx
test ebx, ebx
je 0x43ddee
mov edx, dword [ebx + 0x48]
mov ecx, edi
call fcn.00443a21
mov esi, eax
mov eax, dword [edi + 0x10]
mov ecx, esi
mov dword [esp + 0xc0], esi
add ecx, ecx
push dword [eax + ecx*8]
mov ecx, ebp
push 0
push dword [ebx]
push 0x12
pop edx
call fcn.004337d2
add esp, 0xc
test eax, eax
jne 0x43de78
mov eax, dword [ebx + 0x24]
mov edx, ebx
shr eax, 5
mov ecx, ebp
and eax, 0xffffff01
mov dword [esp + 0x98], eax
lea eax, [esp + 0x70]
push eax
push 0
push 0x7b
call fcn.0044bbe9
add esp, 0xc
mov dword [esp + 0x64], eax
mov eax, dword [ebx + 0xc]
mov edx, ebx
mov ecx, ebp
mov dword [esp + 0x4c], eax
call fcn.00435cfd
test eax, eax
jne 0x43de78
push dword [esp + 0x70]
mov edx, ebx
mov ecx, ebp
call fcn.00438de3
pop ecx
test eax, eax
jne 0x43de78
mov ecx, ebp
call fcn.00445df8
mov edi, eax
mov dword [esp + 0x20], edi
test edi, edi
je 0x43de78
cmp byte [ebp + 0x12], 0
jne 0x43da12
or dword [edi + 0x98], 0x20
cmp dword [esp + 0x14], 0
jne 0x43da24
cmp dword [esp + 0x64], 0
jne 0x43da24
xor edx, edx
jmp 0x43da27
xor edx, edx
inc edx
push esi
mov ecx, ebp
call fcn.004381a2
cmp dword [esp + 0x1c], 0
mov eax, dword [esp + 0xf4]
pop ecx
mov dword [esp + 0x88], eax
jne 0x43da5f
push esi
push eax
push dword [esp + 0x1c]
mov edx, ebx
mov ecx, ebp
call fcn.0043f7be
add esp, 0xc
test eax, eax
jne 0x43e6ac
push ebx
mov edx, esi
mov ecx, ebp
call fcn.0043d632
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 + 0x60], esi
mov dword [esp + 0x30], edx
je 0x43da99
lea edx, [esi + 1]
inc eax
mov dword [esp + 0x30], edx
mov dword [ebp + 0x2c], eax
mov ecx, dword [ebx + 0x24]
lea eax, [edx + 1]
mov esi, dword [esp + 0x18]
shr ecx, 7
not cl
mov dword [esp + 0x68], eax
and ecx, 0xffffff01
mov dword [esp + 0x24], ecx
test esi, esi
je 0x43dbc4
mov eax, dword [esi + 4]
xor ecx, ecx
test eax, eax
jle 0x43dad6
mov eax, dword [esi]
or dword [eax + ecx*8 + 4], 0xffffffff
inc ecx
mov eax, dword [esi + 4]
cmp ecx, eax
jl 0x43dac7
xor esi, esi
test eax, eax
jle 0x43de81
movzx eax, word [ebx + 0x2a]
cwde
xor edx, edx
mov dword [esp + 0x40], edx
mov dword [esp + 0x2c], eax
test eax, eax
jle 0x43db6f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 0x90], eax
mov ecx, dword [eax + esi*8]
mov eax, dword [ebx + 4]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x28], eax
mov edx, dword [eax]
call fcn.00406f32
mov edx, dword [esp + 0x40]
test eax, eax
je 0x43db3f
mov eax, dword [esp + 0x28]
inc edx
mov ecx, dword [esp + 0x9c]
add eax, 0x10
mov dword [esp + 0x40], edx
mov dword [esp + 0x28], eax
cmp edx, dword [esp + 0x2c]
jl 0x43db11
jmp 0x43db6f
mov eax, dword [esp + 0x90]
cmp esi, edx
mov ecx, dword [esp + 0x24]
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 + 0x24], cl
cmp edx, eax
jne 0x43db6f
mov eax, esi
mov byte [esp + 0x24], cl
mov dword [esp + 0x50], eax
movzx eax, word [ebx + 0x2a]
cwde
cmp edx, eax
jl 0x43dbb0
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov eax, dword [eax + esi*8]
mov ecx, eax
mov dword [esp + 0x90], eax
call fcn.0042c616
test eax, eax
je 0x43de59
cmp byte [esp + 0x98], 0
jne 0x43de59
mov eax, esi
mov byte [esp + 0x24], 0
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x18]
inc esi
movzx eax, word [ebx + 0x2a]
cmp esi, dword [ecx + 4]
jl 0x43dae4
mov esi, ecx
cmp dword [esp + 0x14], 0
je 0x43de8a
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 + 0x34], eax
call fcn.0041c3a0
mov eax, dword [esp + 0x34]
add esp, 0xc
and dword [esp + 0xd4], 0
mov ecx, ebp
mov edx, dword [esp + 0x14]
mov dword [esp + 0xc8], eax
xor eax, eax
cmp byte [esp + 0x24], al
mov byte [esp + 0xc4], 0xd
cmovne eax, dword [esp + 0x68]
mov dword [esp + 0xcc], eax
movsx eax, word [ebx + 0x2a]
mov dword [esp + 0xd0], eax
lea eax, [esp + 0xc4]
push eax
call fcn.004493e5
pop ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x84], ecx
test eax, eax
jne 0x43de78
mov eax, dword [esp + 0x54]
cmp byte [eax + 0x51], 0
jne 0x43de78
cmp dword [ebp + 0x24], 0
jne 0x43de78
mov edx, dword [esp + 0x28]
mov ecx, edi
call fcn.0041c63b
lea edx, [esi - 1]
mov ecx, edi
call fcn.0041cb08
cmp dword [esp + 0x64], 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 + 0x2c], esi
jne 0x43dcae
mov edx, dword [esp + 0xc0]
mov ecx, ebp
push ebx
call fcn.0043d5ad
pop ecx
test eax, eax
je 0x43dd79
mov edx, dword [ebp + 0x28]
mov ecx, ebp
mov byte [esp + 0x13], 1
mov dword [esp + 0x34], edx
lea eax, [edx + 1]
mov dword [ebp + 0x28], eax
call fcn.004300e8
mov edi, eax
call fcn.004300e8
mov ecx, dword [esp + 0x20]
mov ebx, eax
push 0
push esi
push edx
push 0x70
pop edx
call fcn.0041c3a0
mov ecx, dword [esp + 0x2c]
add esp, 0xc
push 0
push 0
push dword [esp + 0xd0]
push 0xe
pop edx
call fcn.0041c3a0
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov esi, eax
push edi
push dword [esp + 0x30]
push dword [esp + 0x8c]
push 0x5c
pop edx
call fcn.0041c3a0
mov ecx, dword [esp + 0x2c]
add esp, 0xc
push 0
push ebx
push dword [esp + 0x3c]
push 0x79
pop edx
call fcn.0041c3a0
mov ecx, dword [esp + 0x2c]
add esp, 0xc
push ebx
push edi
push dword [esp + 0x3c]
push 0x7a
pop edx
call fcn.0041c3a0
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov edx, esi
call fcn.0041c41c
mov ecx, dword [esp + 0x20]
mov edx, esi
call fcn.0041cb08
mov ecx, dword [ecx + 0x6c]
mov edx, edi
mov dword [eax + 8], ecx
mov ecx, ebp
call fcn.00430107
mov edx, ebx
call fcn.00430107
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
test esi, esi
jne 0x43dd91
test eax, eax
jle 0x43dd91
movsx eax, word [ebx + 0x28]
mov dword [esp + 0x50], eax
movsx ecx, word [ebx + 0x2a]
test ecx, ecx
jle 0x43ddb9
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 0x43dda1
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
test esi, esi
jne 0x43dee0
test edx, edx
je 0x43defc
sub ecx, dword [esp + 0x1c]
cmp edx, ecx
je 0x43defc
push edx
push ecx
push esi
push dword [esp + 0x78]
push str.table__S_has__d_columns_but__d_values_were_supplied
push ebp
call fcn.00406e5f
add esp, 0x18
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x54]
mov ecx, ebp
mov edx, dword [esp + 0x6c]
call fcn.00437d53
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x43de12
mov edx, eax
mov ecx, ebp
call fcn.0042c217
mov edx, dword [esp + 0x7c]
mov ecx, ebp
call fcn.0044d80d
mov edx, ebx
mov ecx, ebp
call fcn.0044415a
mov edx, esi
mov ecx, ebp
call fcn.00437ac4
mov eax, dword [esp + 0x58]
test eax, eax
je 0x43de40
mov edx, eax
mov ecx, ebp
call fcn.004047d8
mov ecx, dword [esp + 0xdc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004614f6
add esp, 0xd4
ret
push dword [esp + 0x90]
push 0
push dword [esp + 0x74]
push str.table__S_has_no_column_named__s
push ebp
call fcn.00406e5f
add esp, 0x14
mov byte [ebp + 0x11], 1
mov esi, dword [esp + 0x18]
jmp 0x43ddee
mov esi, dword [esp + 0x18]
jmp 0x43dbc4
or dword [esp + 0x34], 0xffffffff
lea edi, [esp + 0xa0]
push 8
xor eax, eax
pop ecx
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xa0], ebp
test ecx, ecx
je 0x43ded1
mov eax, dword [ecx]
mov edx, ecx
lea ecx, [esp + 0xa0]
mov dword [esp + 0x2c], eax
call fcn.0042a973
test eax, eax
jne 0x43ddee
mov edi, dword [esp + 0x20]
jmp 0x43dd7d
mov edi, dword [esp + 0x20]
xor eax, eax
mov dword [esp + 0x2c], eax
jmp 0x43dd81
cmp edx, dword [esi + 4]
je 0x43defc
push dword [esi + 4]
push edx
push str._d_values_for__d_columns
push ebp
call fcn.00406e5f
add esp, 0x10
jmp 0x43ddee
mov eax, dword [esp + 0x54]
xor ecx, ecx
mov eax, dword [eax + 0x20]
and eax, 0x80
or eax, ecx
je 0x43df37
cmp byte [ebp + 0x12], cl
jne 0x43df37
cmp dword [ebp + 0x70], ecx
jne 0x43df37
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 + 0x98], eax
call fcn.0041c3a0
add esp, 0xc
xor ecx, ecx
cmp dword [esp + 0x4c], 0
jne 0x43dfe4
lea eax, [esp + 0x94]
mov edx, ebx
push eax
lea eax, [esp + 0x4c]
push eax
push ecx
push 0xffffffffffffffff
push ecx
push 0x62
mov ecx, ebp
call fcn.0043f5d4
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x40], eax
push 0
lea eax, [eax*4 + 8]
push eax
call fcn.004049b8
add esp, 0x20
mov dword [esp + 0x58], eax
test eax, eax
je 0x43ddee
mov esi, dword [ebx + 8]
xor edx, edx
cmp dword [esp + 0x28], edx
jle 0x43dfbc
mov edi, dword [esp + 0x28]
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 0x43df95
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x20]
jmp 0x43dfbf
mov eax, dword [ebp + 0x2c]
mov ecx, dword [esp + 0x58]
inc eax
mov esi, dword [esp + 0x18]
mov dword [ebp + 0x2c], eax
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x80], eax
mov edx, dword [esp + 0x7c]
test edx, edx
je 0x43e04e
cmp dword [ebx + 0x38], 0
je 0x43e007
push dword [ebx]
push str.UPSERT_not_implemented_for_virtual_table___s_
push ebp
call fcn.00406e5f
add esp, 0xc
jmp 0x43ddee
mov edx, dword [edx]
mov ecx, ebp
call fcn.00436ad2
test eax, eax
jne 0x43ddee
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x68]
mov dword [esi + 0x34], ecx
cmp dword [edx], 0
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0x80]
mov dword [edx + 0x14], esi
mov dword [edx + 0x1c], ecx
mov dword [edx + 0x20], eax
je 0x43e04e
push edx
mov edx, esi
mov ecx, ebp
call fcn.0044d8ca
pop ecx
cmp byte [esp + 0x13], 0
je 0x43e07a
push 0
push 0
push dword [esp + 0x3c]
mov ecx, edi
push 0x24
pop edx
call fcn.0041c3a0
mov dword [esp + 0x84], eax
mov eax, dword [edi + 0x6c]
mov dword [esp + 0x80], eax
jmp 0x43e0a6
cmp dword [esp + 0x14], 0
je 0x43e0a9
push 0
push 0
push dword [esp + 0xd0]
mov ecx, edi
push 0xe
pop edx
call fcn.0041c3a0
mov ecx, eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], ecx
add esp, 0xc
dec dword [ebp + 0x38]
test byte [esp + 0x70], 1
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x40], eax
je 0x43e308
movsx edx, word [ebx + 0x2a]
mov ecx, ebp
inc edx
call fcn.00430120
mov esi, eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c], esi
test eax, eax
jns 0x43e0e1
or eax, 0xffffffff
mov ecx, esi
push 0x46
jmp 0x43e155
cmp byte [esp + 0x13], 0
push esi
lfence
je 0x43e100
push eax
push dword [esp + 0x3c]
mov ecx, edi
push 0x5a
pop edx
call fcn.0041c3a0
add esp, 0xc
jmp 0x43e113
imul edx, eax, 0x18
mov ecx, ebp
mov eax, dword [esp + 0x40]
mov edx, dword [edx + eax + 4]
call fcn.0042ebb4
pop ecx
push 0
push 0
push esi
push 0x33
pop edx
mov ecx, edi
call fcn.0041c3a0
add esp, 0xc
mov ecx, edi
mov esi, eax
push 0
push dword [esp + 0x20]
push 0xffffffffffffffff
push 0x46
pop edx
call fcn.0041c3a0
add esp, 0xc
mov edx, esi
mov ecx, edi
call fcn.0041cb08
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.0041c3a0
movzx eax, word [ebx + 0x2a]
xor edx, edx
and dword [esp + 0xcc], edx
add esp, 0xc
mov ecx, eax
mov dword [esp + 0x48], edx
cmp word [esp + 0xc0], ax
jge 0x43e2af
and dword [esp + 0x28], edx
lea ecx, [esi + 1]
or eax, 0xffffffff
mov dword [esp + 0x24], ecx
sub eax, esi
mov dword [esp + 0x70], eax
mov esi, dword [esp + 0x18]
test esi, esi
je 0x43e1d9
xor edx, edx
mov dword [esp + 0x48], edx
cmp dword [esi + 4], edx
jle 0x43e1d9
mov ecx, dword [esi]
mov edi, dword [esp + 0x24]
add ecx, 4
mov ebx, dword [esp + 0x70]
lea eax, [ebx + edi]
cmp dword [ecx], eax
je 0x43e1c9
inc edx
add ecx, 8
cmp edx, dword [esi + 4]
jl 0x43e1b9
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x48], edx
mov al, byte [esp + 0x13]
test al, al
jne 0x43e1e8
cmp dword [esp + 0x3c], 0
je 0x43e1f1
test esi, esi
je 0x43e207
cmp edx, dword [esi + 4]
jl 0x43e207
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, ebp
mov edx, dword [edx + eax + 4]
call fcn.0042ebb4
pop ecx
jmp 0x43e273
push ecx
test al, al
je 0x43e220
push edx
push dword [esp + 0x3c]
mov ecx, edi
push 0x5a
pop edx
call fcn.0041c3a0
add esp, 0xc
jmp 0x43e273
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.0042ebb4
inc dword [ebp + 0x2c]
mov edi, dword [ebp + 0x2c]
pop ecx
push 0
push edi
push dword [esp + 0x2c]
mov ecx, esi
push 0x4e
pop edx
call fcn.0041c3a0
add esp, 0xc
mov ecx, ebx
call fcn.0042abaa
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 + 0x28], 0x10
mov esi, dword [esp + 0x24]
inc esi
cmp dword [esp + 0x18], 0
lea edx, [ecx + 1]
mov dword [esp + 0x24], esi
cmovne edx, ecx
mov ecx, dword [esp + 0x70]
add ecx, esi
mov dword [esp + 0x48], edx
movzx esi, word [ebx + 0x2a]
movsx eax, si
cmp ecx, eax
mov ecx, dword [esp + 0x24]
jl 0x43e199
mov ecx, esi
cmp dword [esp + 0x4c], 0
mov esi, dword [esp + 0x1c]
movzx eax, cx
jne 0x43e2cf
lea eax, [esi + 1]
mov edx, ebx
push eax
mov ecx, edi
call fcn.0043d502
movzx eax, word [ebx + 0x2a]
pop ecx
push dword [esp + 0x40]
mov edx, dword [esp + 0x68]
mov ecx, esi
push dword [esp + 0x8c]
cwde
sub ecx, eax
dec ecx
push ecx
push ebx
push 1
push 0
push 0x7b
mov ecx, ebp
call fcn.0044c1d1
movsx eax, word [ebx + 0x2a]
add esp, 0x1c
inc eax
mov edx, esi
mov ecx, ebp
push eax
call fcn.00430156
add esp, 4
cmp dword [esp + 0x4c], 0
jne 0x43e609
mov eax, dword [ebx + 0x38]
xor esi, esi
test eax, eax
je 0x43e332
push esi
push dword [esp + 0x64]
mov ecx, edi
push esi
push 0x49
pop edx
call fcn.0041c3a0
mov eax, dword [ebx + 0x38]
add esp, 0xc
mov ecx, dword [esp + 0x50]
test ecx, ecx
js 0x43e43b
cmp byte [esp + 0x13], 0
lfence
je 0x43e361
mov esi, dword [esp + 0x30]
push esi
push ecx
push dword [esp + 0x3c]
push 0x5a
pop edx
mov ecx, edi
call fcn.0041c3a0
add esp, 0xc
jmp 0x43e3c8
cmp dword [esp + 0x14], 0
je 0x43e37c
mov eax, dword [esp + 0x84]
push esi
mov esi, dword [esp + 0x34]
add eax, ecx
push esi
push eax
push 0x4e
jmp 0x43e354
imul edx, ecx, 0x18
mov ecx, dword [esp + 0x3c]
mov eax, dword [edx + ecx + 4]
cmp byte [eax], 0x75
jne 0x43e3b4
cmp dword [ebx + 0x38], esi
jne 0x43e3b4
push dword [esp + 0x38]
mov ecx, edi
push dword [esp + 0x34]
push dword [esp + 0x4c]
push 0x79
pop edx
call fcn.0041c3a0
mov dword [esp + 0x28], 1
jmp 0x43e460
mov esi, dword [esp + 0x30]
lfence
mov edx, dword [edx + ecx + 4]
mov ecx, ebp
push esi
call fcn.0042ebb4
pop ecx
xor eax, eax
mov ecx, edi
push eax
cmp dword [ebx + 0x38], eax
jne 0x43e40f
push eax
push esi
push 0x33
pop edx
call fcn.0041c3a0
add esp, 0xc
mov ecx, edi
mov esi, eax
push dword [esp + 0x38]
push dword [esp + 0x34]
push dword [esp + 0x4c]
push 0x79
pop edx
call fcn.0041c3a0
add esp, 0xc
mov edx, esi
mov ecx, edi
call fcn.0041cb08
mov ecx, dword [edi + 0x6c]
mov esi, dword [esp + 0x30]
mov dword [eax + 8], ecx
jmp 0x43e422
mov eax, dword [edi + 0x6c]
add eax, 2
push eax
push esi
push 0x32
pop edx
call fcn.0041c3a0
add esp, 0xc
push 0
push 0
push esi
push 0xf
pop edx
mov ecx, edi
call fcn.0041c3a0
add esp, 0xc
and dword [esp + 0x1c], 0
jmp 0x43e463
test eax, eax
jne 0x43e44c
cmp byte [esp + 0x98], al
je 0x43e391
push esi
push dword [esp + 0x34]
mov ecx, edi
push esi
push 0x49
pop edx
call fcn.0041c3a0
mov dword [esp + 0x28], esi
add esp, 0xc
push dword [esp + 0x30]
mov edx, dword [esp + 0x3c]
mov ecx, ebp
call fcn.0043d799
and dword [esp + 0x3c], 0
xor eax, eax
xor esi, esi
pop ecx
cmp ax, word [ebx + 0x2a]
jge 0x43e5a6
xor ecx, ecx
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x68]
movsx eax, word [ebx + 0x28]
add edx, esi
mov dword [esp + 0xc0], edx
cmp esi, eax
jne 0x43e4b8
push 0
push 0
push edx
push 0x4a
pop edx
mov ecx, edi
call fcn.0041c3a0
add esp, 0xc
jmp 0x43e58e
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x43e4ee
mov eax, dword [ebx + 4]
mov dl, byte [eax + ecx + 0xf]
mov eax, dword [esp + 0x38]
and dl, 2
je 0x43e4d5
or ecx, 0xffffffff
jmp 0x43e4d9
mov ecx, esi
sub ecx, eax
inc eax
test dl, dl
mov edx, dword [esp + 0xc0]
cmove eax, dword [esp + 0x38]
mov dword [esp + 0x38], eax
jmp 0x43e50f
xor ecx, ecx
cmp dword [eax + 4], ecx
jle 0x43e517
mov eax, dword [eax]
mov ebx, dword [esp + 0x18]
add eax, 4
cmp dword [eax], esi
je 0x43e50b
inc ecx
add eax, 8
cmp ecx, dword [ebx + 4]
jl 0x43e4fe
mov ebx, dword [esp + 0x5c]
test ecx, ecx
js 0x43e57a
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x2c], 0
je 0x43e57a
test eax, eax
je 0x43e527
cmp ecx, dword [eax + 4]
jge 0x43e57a
cmp byte [esp + 0x13], 0
je 0x43e53e
push edx
push ecx
push dword [esp + 0x3c]
lfence
push 0x5a
jmp 0x43e4a8
cmp dword [esp + 0x14], 0
je 0x43e562
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x68]
je 0x43e58e
push 0
push edx
add eax, ecx
push eax
lfence
push 0x4f
jmp 0x43e4a8
mov eax, dword [esp + 0x3c]
push edx
imul edx, ecx, 0x18
mov ecx, ebp
lfence
mov edx, dword [edx + eax + 4]
call fcn.0042ebb4
jmp 0x43e58d
mov eax, dword [esp + 0x4c]
mov ecx, ebp
push edx
mov edx, dword [ebx + 4]
mov edx, dword [edx + eax + 4]
call fcn.0042ec34
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 0x43e48c
cmp dword [ebx + 0x38], 0
mov edx, ebx
je 0x43e70d
mov ecx, dword [esp + 0x54]
call fcn.0044e4c5
mov ecx, ebp
mov esi, eax
call fcn.0044f1ac
movsx eax, word [ebx + 0x2a]
mov ecx, edi
push 0xfffffffffffffff4
push esi
push dword [esp + 0x68]
push 2
pop esi
add eax, esi
push eax
push 1
push 0xa
pop edx
call fcn.0041c4e0
mov eax, dword [esp + 0x9c]
add esp, 0x14
cmp eax, 0xb
movzx edx, ax
mov ecx, edi
cmove edx, esi
call fcn.0041c871
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 + 0x8c]
test eax, eax
je 0x43e62a
push 0
push 1
push eax
push 0x53
pop edx
mov ecx, edi
call fcn.0041c3a0
add esp, 0xc
mov edx, dword [esp + 0x64]
test edx, edx
je 0x43e65a
movsx eax, word [ebx + 0x2a]
mov ecx, dword [esp + 0x68]
push esi
push dword [esp + 0x8c]
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.0044c1d1
add esp, 0x1c
mov edx, esi
mov ecx, edi
call fcn.0041c6a2
cmp byte [esp + 0x13], 0
je 0x43e7ca
mov ebx, dword [esp + 0x34]
mov ecx, edi
push 0
push dword [esp + 0x78]
push ebx
push 5
pop edx
call fcn.0041c3a0
mov edx, dword [esp + 0x84]
add esp, 0xc
mov ecx, edi
call fcn.0041cb08
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.0041c3a0
add esp, 0xc
mov ebx, dword [esp + 0x14]
cmp byte [ebp + 0x12], 0
jne 0x43e6c9
cmp dword [ebp + 0x70], 0
jne 0x43e6c9
cmp dword [ebp + 0x68], 0
je 0x43e6c9
mov ecx, ebp
call fcn.0043d7b8
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x43e704
push 0
push 1
push eax
push 0x51
pop edx
mov ecx, edi
call fcn.0041c3a0
add esp, 0xc
xor edx, edx
inc edx
mov ecx, edi
call fcn.0041d6ce
push 0
push str.rows_inserted
push ecx
xor edx, edx
mov ecx, edi
call fcn.0041d72a
add esp, 0xc
mov esi, dword [esp + 0x18]
jmp 0x43ddf2
push dword [esp + 0x7c]
mov esi, dword [esp + 0x44]
lea eax, [esp + 0xc4]
push 0
push eax
mov eax, dword [esp + 0x5c]
mov ecx, ebp
push esi
push dword [esp + 0x98]
shr eax, 0x1f
xor al, 1
movzx eax, al
push eax
push 0
push dword [esp + 0x7c]
push dword [esp + 0xa0]
push dword [esp + 0x68]
push dword [esp + 0x80]
call fcn.0043e881
add esp, 0x2c
xor eax, eax
mov edx, ebx
mov ecx, ebp
push eax
push eax
push dword [esp + 0x68]
push eax
call fcn.0043c7b6
add esp, 0x10
cmp dword [esp + 0xc0], 0
je 0x43e79c
cmp dword [esp + 0x64], 0
jne 0x43e798
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 0x20]
and eax, 0x4000
or eax, 0
je 0x43e79c
mov ecx, ebx
call fcn.0043c576
test eax, eax
je 0x43e79c
xor eax, eax
jmp 0x43e79f
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 + 0x70]
push dword [esp + 0x94]
push dword [esp + 0x5c]
call fcn.0043f46c
add esp, 0x1c
jmp 0x43e60d
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x43e6b0
mov edx, dword [esp + 0x74]
mov ecx, edi
call fcn.0041c41c
mov edx, dword [esp + 0x78]
mov ecx, edi
call fcn.0041cb08
mov ecx, dword [edi + 0x6c]
mov dword [eax + 8], ecx
jmp 0x43e6b0