Function at 0x43a230
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x48
mov ecx, dword [esp + 0x4c]
xor eax, eax
mov edx, dword [esp + 0x5c]
push ebx
push ebp
mov ecx, dword [ecx]
xor ebp, ebp
push esi
mov dword [esp + 0x40], eax
xor esi, esi
mov dword [esp + 0x24], eax
mov eax, 0xa6
push edi
mov edi, dword [esp + 0x70]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x34], edx
mov dword [edi + 0x1c], 0xffffffff
test eax, eax
je 0x43a309
test byte [edx + 0x18], 6
je 0x43a291
xor edx, edx
mov dword [esp + 0x60], edx
jmp 0x43a30b
mov ebx, dword [ecx + 0x14]
xor esi, esi
test ebx, ebx
jle 0x43a2d3
mov ebp, dword [ecx + 0x10]
mov edi, ebp
nop
push eax
push dword [edi]
call fcn.00475700
add esp, 8
test eax, eax
je 0x43a2bd
mov eax, dword [esp + 0x60]
inc esi
add edi, 0x10
cmp esi, ebx
jl 0x43a2a0
jmp 0x43a2cd
mov eax, esi
add eax, eax
mov eax, dword [ebp + eax*8 + 0xc]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x70]
xor ebp, ebp
cmp esi, ebx
jne 0x43a301
push eax
push str.main
call fcn.00475700
add esp, 8
xor esi, esi
test eax, eax
jne 0x43a303
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x60], edx
jmp 0x43a30b
xor esi, esi
mov edx, dword [esp + 0x60]
jmp 0x43a30b
mov edx, eax
mov eax, dword [esp + 0x6c]
nop
mov eax, dword [eax + 4]
mov dword [esp + 0x4c], eax
test eax, eax
je 0x43a593
xor ecx, ecx
lea ebp, [eax + 8]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], ebp
cmp dword [eax], ecx
jle 0x43a563
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x40], eax
test ebx, ebx
je 0x43a3c9
test dword [ebx + 4], 0x800
je 0x43a3c9
mov ebx, dword [ebx + 0x1c]
xor esi, esi
xor ebp, ebp
cmp dword [ebx], esi
jle 0x43a3b3
lea edi, [ebx + 4]
lea ecx, [ecx]
push edx
push dword [esp + 0x68]
push dword [esp + 0x70]
push edi
call fcn.00467000
add esp, 0x10
test eax, eax
je 0x43a397
mov eax, dword [esp + 0x1c]
mov ebp, 1
inc dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x24], 2
mov word [eax + 0x20], si
mov edx, dword [esp + 0x60]
inc esi
add edi, 0x14
cmp esi, dword [ebx]
jl 0x43a360
mov ecx, dword [esp + 0x20]
test ebp, ebp
jne 0x43a692
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x64]
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x60]
test esi, esi
je 0x43a543
jmp 0x43a3cd
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x24]
test edx, edx
je 0x43a3e2
mov edi, dword [esp + 0x28]
cmp dword [eax + 0x48], edi
jne 0x43a543
test esi, esi
je 0x43a450
mov edi, dword [ebp + 0xc]
mov edx, edi
test edi, edi
jne 0x43a3f1
mov edx, dword [eax]
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [edx + esi]
cmp ecx, eax
jne 0x43a431
test ecx, ecx
jne 0x43a447
mov eax, dword [esp + 0x5c]
cmp byte [eax + 0xc8], 2
jb 0x43a450
test edi, edi
je 0x43a450
mov eax, dword [eax + 0x10c]
test eax, eax
je 0x43a450
mov ecx, dword [esp + 0x70]
add ecx, 0x2c
cmp dword [eax], ecx
je 0x43a44a
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x43a424
jmp 0x43a450
movzx eax, byte [eax + 0x4cf118]
movzx ecx, byte [ecx + 0x4cf118]
sub ecx, eax
jne 0x43a53b
inc edx
jmp 0x43a3f3
mov dword [eax], 0
inc dword [esp + 0x24]
mov eax, ebp
mov esi, dword [esp + 0x68]
test ebx, ebx
push esi
cmovne eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
call fcn.00475740
mov cl, al
xor edi, edi
mov eax, dword [esp + 0x44]
add esp, 4
mov byte [esp + 0x13], cl
mov dword [esp + 0x3c], edi
mov ebx, dword [eax + 4]
movsx eax, word [eax + 0x2a]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x38], eax
test eax, eax
jle 0x43a53b
cmp byte [ebx + 0xf], cl
jne 0x43a51f
mov edx, dword [ebx]
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [edx + esi]
cmp ecx, eax
jne 0x43a601
test ecx, ecx
jne 0x43a617
mov esi, dword [esp + 0x14]
cmp esi, 1
jne 0x43a64d
test byte [ebp + 0x24], 4
jne 0x43a513
mov eax, dword [ebp + 0x34]
test eax, eax
je 0x43a64d
mov ebp, dword [eax + 4]
xor ebx, ebx
test ebp, ebp
jle 0x43a649
mov edi, dword [eax]
mov esi, dword [esp + 0x68]
mov edx, dword [edi]
sub esi, edx
mov edi, edi
movzx eax, byte [edx]
movzx ecx, byte [esi + edx]
cmp eax, ecx
jne 0x43a61d
test eax, eax
jne 0x43a62f
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov cl, byte [esp + 0x13]
mov esi, dword [esp + 0x68]
inc edi
add ebx, 0x14
mov dword [esp + 0x3c], edi
mov dword [esp + 0x48], ebx
cmp edi, eax
jl 0x43a495
mov edx, dword [esp + 0x18]
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x60]
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x4c]
inc ecx
add ebp, 0x48
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], ebp
cmp ecx, dword [eax]
jl 0x43a334
mov ebp, dword [esp + 0x18]
test ebp, ebp
je 0x43a58b
mov eax, dword [ebp + 0x2c]
mov dword [edi + 0x1c], eax
mov eax, dword [ebp + 0x10]
mov dword [edi + 0x2c], eax
test byte [ebp + 0x24], 8
je 0x43a584
or dword [edi + 4], 0x100000
mov eax, dword [eax + 0x48]
mov dword [esp + 0x28], eax
test esi, esi
jne 0x43a9a5
test edx, edx
jne 0x43a94b
mov ecx, dword [esp + 0x5c]
xor ebp, ebp
mov esi, dword [esp + 0x64]
mov eax, dword [ecx + 0x78]
test eax, eax
je 0x43a6e4
mov bl, byte [ecx + 0x90]
cmp byte [ecx + 0x91], dl
je 0x43a69b
mov edx, dword [esp + 0x6c]
test dword [edx + 0x18], 0x400
je 0x43a6e4
test esi, esi
je 0x43a5ee
push dword [eax]
push esi
call fcn.00475700
add esp, 8
test eax, eax
jne 0x43a6e4
mov ecx, dword [esp + 0x5c]
xor eax, eax
cmp bl, 0x7f
setne al
mov dword [edi + 0x1c], eax
mov ebp, dword [ecx + 0x78]
jmp 0x43a6e4
movzx eax, byte [eax + 0x4cf118]
movzx ecx, byte [ecx + 0x4cf118]
sub ecx, eax
jne 0x43a513
inc edx
jmp 0x43a4a2
movzx ecx, byte [ecx + 0x4cf118]
movzx eax, byte [eax + 0x4cf118]
sub eax, ecx
jne 0x43a635
inc edx
jmp 0x43a4f0
inc ebx
add edi, 8
cmp ebx, ebp
jl 0x43a4e6
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
inc esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebp
movsx eax, word [eax + 0x28]
cmp edi, eax
jne 0x43a67a
mov edi, dword [esp + 0x70]
or eax, 0xffffffff
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x60]
mov word [edi + 0x20], ax
jmp 0x43a54b
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x60]
movzx eax, di
mov edi, dword [esp + 0x70]
mov word [edi + 0x20], ax
jmp 0x43a54b
mov ebp, dword [esp + 0x1c]
jmp 0x43a53f
cmp bl, 0x7f
je 0x43a6c4
test esi, esi
je 0x43a6bf
push esi
push 0x4d2da0
call fcn.00475700
add esp, 8
test eax, eax
jne 0x43a6bf
mov dword [edi + 0x1c], 1
jmp 0x43a6dd
cmp bl, 0x7e
je 0x43a6e4
test esi, esi
je 0x43a6e4
push esi
push 0x4d2da4
call fcn.00475700
add esp, 8
test eax, eax
jne 0x43a6e4
mov dword [edi + 0x1c], ebp
mov eax, dword [esp + 0x5c]
mov ebp, dword [eax + 0x78]
mov ebx, dword [esp + 0x6c]
test dword [ebx + 0x18], 0x200
je 0x43a72b
test esi, esi
je 0x43a72b
mov edi, dword [ebx + 8]
test edi, edi
je 0x43a72b
mov edx, str.excluded
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x43a791
test ecx, ecx
jne 0x43a7a3
mov eax, dword [edi + 0x20]
mov ebp, dword [eax + 0x18]
mov eax, dword [esp + 0x70]
mov dword [eax + 0x1c], 2
test ebp, ebp
je 0x43a99f
push dword [esp + 0x68]
call fcn.00475740
movsx edi, word [ebp + 0x2a]
add esp, 4
inc dword [esp + 0x24]
xor esi, esi
mov ecx, dword [ebp + 0x48]
mov ebx, dword [ebp + 4]
mov byte [esp + 0x13], al
mov dword [esp + 0x28], ecx
test edi, edi
jle 0x43a7d4
nop
cmp byte [ebx + 0xf], al
jne 0x43a7c6
mov edi, dword [esp + 0x68]
mov edx, dword [ebx]
sub edi, edx
lea ecx, [ecx]
movzx ecx, byte [edx]
movzx eax, byte [edi + edx]
cmp ecx, eax
jne 0x43a7a9
test ecx, ecx
jne 0x43a7bb
movsx eax, word [ebp + 0x28]
cmp esi, eax
jne 0x43a7d0
or esi, 0xffffffff
or eax, esi
jmp 0x43a801
movzx eax, byte [eax + 0x4cf118]
movzx ecx, byte [ecx + 0x4cf118]
sub ecx, eax
jne 0x43a72b
inc edx
jmp 0x43a703
movzx eax, byte [eax + 0x4cf118]
movzx ecx, byte [ecx + 0x4cf118]
sub ecx, eax
jne 0x43a7be
inc edx
jmp 0x43a770
movsx edi, word [ebp + 0x2a]
mov al, byte [esp + 0x13]
inc esi
add ebx, 0x14
cmp esi, edi
jl 0x43a760
jmp 0x43a7d8
movsx edi, word [ebp + 0x2a]
cmp esi, edi
jl 0x43a7f7
push dword [esp + 0x68]
call fcn.00465540
add esp, 4
test eax, eax
je 0x43a7f7
test dword [ebp + 0x24], 0x200
mov eax, 0xffffffff
cmove esi, eax
mov eax, esi
cmp esi, edi
jge 0x43a947
mov edx, dword [esp + 0x70]
mov ebx, 1
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0
mov edi, dword [edx + 0x1c]
movzx eax, ax
cmp edi, 2
jne 0x43a877
cmp byte [ecx + 0xc8], 2
jb 0x43a848
mov esi, dword [esp + 0x68]
mov dword [edx + 0x2c], ebp
mov ebp, ecx
mov word [edx + 0x20], ax
mov dword [esp + 0x30], 0xa6
jmp 0x43a9b1
push eax
push ebp
call fcn.004758e0
mov edx, dword [esp + 0x74]
add esp, 8
mov esi, dword [esp + 0x68]
movsx ecx, ax
mov dword [esp + 0x30], 0xaf
mov eax, dword [edx + 8]
add ecx, dword [eax + 0x24]
mov eax, dword [esp + 0x70]
mov dword [eax + 0x1c], ecx
jmp 0x43a9ad
mov dword [edx + 0x2c], ebp
cmp byte [ecx + 0x91], 0
je 0x43a8bc
push eax
push ebp
mov dword [esp + 0x38], 0xaf
call fcn.004758e0
mov edx, dword [esp + 0x74]
add esp, 8
mov esi, dword [esp + 0x68]
movsx ecx, ax
movsx eax, word [ebp + 0x2a]
inc eax
imul eax, edi
add ecx, eax
mov eax, dword [edx + 8]
inc eax
add eax, ecx
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x1c], eax
jmp 0x43a9ad
mov word [edx + 0x20], ax
mov dword [esp + 0x30], 0x4d
test esi, esi
jns 0x43a8db
mov esi, dword [esp + 0x68]
mov ebp, ecx
mov byte [edx + 1], 0x44
jmp 0x43a9b1
test edi, edi
jne 0x43a913
cmp esi, 0x20
jl 0x43a8fa
mov ebp, dword [esp + 0x5c]
or eax, 0xffffffff
mov esi, dword [esp + 0x68]
or dword [ebp + 0x88], eax
jmp 0x43a9b1
mov ebp, dword [esp + 0x5c]
mov ecx, esi
mov esi, dword [esp + 0x68]
mov eax, ebx
shl eax, cl
or dword [ebp + 0x88], eax
jmp 0x43a9b1
cmp esi, 0x20
jl 0x43a92e
mov ebp, dword [esp + 0x5c]
or eax, 0xffffffff
mov esi, dword [esp + 0x68]
or dword [ebp + 0x8c], eax
jmp 0x43a9b1
mov ebp, dword [esp + 0x5c]
mov ecx, esi
mov esi, dword [esp + 0x68]
mov eax, ebx
shl eax, cl
or dword [ebp + 0x8c], eax
jmp 0x43a9b1
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x6c]
cmp dword [esp + 0x24], 1
mov esi, dword [esp + 0x68]
jne 0x43a9a9
test ebp, ebp
je 0x43a9a9
test byte [ebx + 0x18], 0x28
jne 0x43a9a9
push esi
call fcn.00465540
add esp, 4
test eax, eax
je 0x43a9a9
mov eax, dword [ebp + 0x10]
mov ebp, dword [esp + 0x5c]
test dword [eax + 0x24], 0x200
jne 0x43a9f4
mov eax, dword [esp + 0x70]
mov ebx, 1
or ecx, 0xffffffff
mov dword [esp + 0x14], ebx
mov word [eax + 0x20], cx
mov byte [eax + 1], 0x44
jmp 0x43a9b1
mov ebp, dword [esp + 0x18]
jmp 0x43a94f
mov esi, dword [esp + 0x68]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x5c]
mov eax, dword [esp + 0x6c]
test byte [eax + 0x18], 0x80
je 0x43aa6e
test ebx, ebx
jne 0x43aa72
mov ebp, dword [esp + 0x64]
test ebp, ebp
jne 0x43aa31
mov ecx, dword [eax + 8]
mov eax, dword [ecx]
mov dword [esp + 0x4c], eax
test eax, eax
jle 0x43aa29
lea edi, [ecx + 0x10]
nop
test byte [edi], 3
mov ebx, dword [edi - 8]
jne 0x43aa1d
test ebx, ebx
jne 0x43a9fa
mov ecx, esi
neg ecx
sbb ecx, ecx
jmp 0x43aa19
mov ebx, dword [esp + 0x14]
jmp 0x43a9b1
test esi, esi
je 0x43aa1d
mov edx, ebx
sub esi, ebx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x43aa59
test ecx, ecx
jne 0x43aa6b
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x68]
test ecx, ecx
je 0x43aa80
inc ebp
add edi, 0x14
cmp ebp, eax
jl 0x43a9e0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x64]
mov eax, dword [eax + 0xc]
inc dword [esp + 0x44]
mov dword [esp + 0x6c], eax
test eax, eax
je 0x43ab70
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x70]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x60]
jmp 0x43a310
movzx eax, byte [eax + 0x4cf118]
movzx ecx, byte [ecx + 0x4cf118]
sub ecx, eax
jne 0x43aa11
inc edx
jmp 0x43aa02
test ebx, ebx
je 0x43aa2d
cmp ebx, 1
je 0x43ad60
jmp 0x43acf1
mov esi, dword [esp + 0x6c]
lea eax, [ebp*4]
add eax, ebp
test byte [esi + 0x18], 1
mov edx, dword [esi + 8]
mov eax, dword [edx + eax*4 + 4]
jne 0x43aabf
test byte [eax + 4], 0x10
je 0x43aabf
push ebx
push str.misuse_of_aliased_aggregate__s
push dword [esp + 0x64]
call fcn.00457ce0
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x48
ret
test dword [eax + 4], 0x8000
je 0x43aadf
test dword [esi + 0x18], 0x4000
je 0x43aad7
cmp esi, dword [esp + 0x34]
je 0x43aadf
push ebx
push str.misuse_of_aliased_window_function__s
jmp 0x43aaa6
mov cl, byte [eax]
cmp cl, 0xaf
jne 0x43aae9
mov cl, byte [eax + 2]
cmp cl, 0xb0
jne 0x43aaf3
mov eax, dword [eax + 0x14]
jmp 0x43aafe
cmp cl, 0x89
jne 0x43ab21
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
je 0x43ab21
push str.row_value_misused
push dword [esp + 0x60]
call fcn.00457ce0
add esp, 8
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x70]
push eax
push edi
push ebp
mov ebp, dword [esp + 0x68]
push edx
push ebp
call fcn.00445980
add esp, 0x14
cmp byte [ebp + 0xc8], 2
jb 0x43ae47
mov eax, dword [ebp + 0x10c]
test eax, eax
je 0x43ae47
cmp dword [eax], edi
je 0x43ab65
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x43ab55
jmp 0x43ae47
mov dword [eax], 0
jmp 0x43ae47
test ebp, ebp
jne 0x43acf5
mov ebp, dword [esp + 0x70]
mov ebx, dword [ebp + 4]
test bl, 0x40
je 0x43ac05
mov edx, dword [esp + 0x2c]
cmp byte [edx + 0xa9], 0
jne 0x43abd7
mov edi, dword [esp + 0x34]
mov eax, dword [edx + 0x24]
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x54], eax
test dword [edi + 0x18], 0x10000
je 0x43abcc
mov eax, ecx
and eax, 0x10000001
cmp eax, 1
jne 0x43abc4
mov eax, ecx
and eax, 0x40000000
or eax, 0
jne 0x43abd7
and ecx, 0x20000000
jmp 0x43abd2
and ecx, 0x40000000
or ecx, 0
je 0x43ac05
test byte [edx + 0xac], 8
je 0x43ac61
mov eax, dword [esp + 0x2c]
mov edx, esi
mov eax, dword [eax + 0xb0]
mov esi, dword [eax]
sub esi, dword [esp + 0x68]
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x43ac4c
test ecx, ecx
jne 0x43ac5e
test ebx, 0x4000000
jne 0x43aced
mov edx, dword [ebp + 8]
mov edi, str.true
mov esi, edx
sub edi, edx
lea ecx, [ecx]
movzx ecx, byte [esi]
movzx eax, byte [edi + esi]
cmp ecx, eax
jne 0x43ac8c
test ecx, ecx
jne 0x43ac9e
mov eax, 0x10000000
mov byte [ebp], 0xa9
pop edi
or ebx, eax
lea eax, [ecx + 1]
pop esi
mov dword [ebp + 4], ebx
pop ebp
pop ebx
add esp, 0x48
ret
movzx eax, byte [eax + 0x4cf118]
movzx ecx, byte [ecx + 0x4cf118]
sub ecx, eax
jne 0x43ac61
inc edx
jmp 0x43abf6
push dword [esp + 0x68]
push str.double_quoted_string_literal:___w_
push 0x1c
call fcn.00420250
add esp, 0xc
mov byte [ebp], 0x74
mov dword [ebp + 0x2c], 0
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
movzx eax, byte [eax + 0x4cf118]
movzx ecx, byte [ecx + 0x4cf118]
sub ecx, eax
jne 0x43aca4
inc esi
jmp 0x43ac20
mov esi, str.false
sub esi, edx
jmp 0x43acb0
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x43acd8
test ecx, ecx
jne 0x43acea
mov eax, 0x20000000
mov byte [ebp], 0xa9
pop edi
or ebx, eax
lea eax, [ecx + 1]
pop esi
mov dword [ebp + 4], ebx
pop ebp
pop ebx
add esp, 0x48
ret
movzx eax, byte [eax + 0x4cf118]
movzx ecx, byte [ecx + 0x4cf118]
sub ecx, eax
jne 0x43aced
inc edx
jmp 0x43acb0
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
test ebx, ebx
mov ecx, str.ambiguous_column_name
mov eax, str.no_such_column
cmovne eax, ecx
mov ecx, dword [esp + 0x68]
push ecx
test edx, edx
je 0x43ad28
push ebp
mov ebp, dword [esp + 0x64]
push edx
push eax
push str._s:__s._s._s
push ebp
call fcn.00457ce0
add esp, 0x18
jmp 0x43ad55
test ebp, ebp
je 0x43ad42
push ebp
mov ebp, dword [esp + 0x64]
push eax
push str._s:__s._s
push ebp
call fcn.00457ce0
add esp, 0x14
jmp 0x43ad55
mov ebp, dword [esp + 0x60]
push eax
push str._s:__s
push ebp
call fcn.00457ce0
add esp, 0x10
mov eax, dword [esp + 0x34]
mov byte [ebp + 0x11], 1
inc dword [eax + 0x14]
mov edi, dword [esp + 0x70]
movzx eax, word [edi + 0x20]
test ax, ax
js 0x43adf0
mov ebp, dword [esp + 0x18]
test ebp, ebp
je 0x43adec
mov edx, dword [edi + 0x2c]
movsx esi, ax
test byte [edx + 0x24], 0x60
je 0x43adc6
mov eax, dword [edx + 4]
lea ecx, [esi + esi*4]
test byte [eax + ecx*4 + 0x10], 0x60
je 0x43adc6
movzx eax, word [edx + 0x2a]
cmp ax, 0x40
jl 0x43ada8
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x43ade6
xor ecx, ecx
cwde
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
add ecx, 0xffffffff
adc edx, 0xffffffff
jmp 0x43ade6
cmp esi, 0x40
mov eax, 0x3f
cmovge esi, eax
xor ecx, ecx
xor edx, edx
bts ecx, esi
cmp esi, 0x20
cmovae edx, ecx
xor ecx, edx
cmp esi, 0x40
cmovae edx, ecx
or dword [ebp + 0x38], ecx
or dword [ebp + 0x3c], edx
mov ebp, dword [esp + 0x5c]
test dword [edi + 4], 0x804000
jne 0x43ae2d
mov eax, dword [edi + 0xc]
mov esi, dword [esp + 0x2c]
test eax, eax
je 0x43ae0e
push eax
push esi
call fcn.0045b700
add esp, 8
mov eax, dword [edi + 0x10]
mov dword [edi + 0xc], 0
test eax, eax
je 0x43ae26
push eax
push esi
call fcn.0045b700
add esp, 8
mov dword [edi + 0x10], 0
mov eax, dword [esp + 0x30]
or dword [edi + 4], 0x800000
mov byte [edi], al
cmp ebx, 1
jne 0x43aab2
mov esi, dword [esp + 0x6c]
mov eax, dword [ebp]
cmp dword [eax + 0x158], 0
je 0x43af0f
mov cl, byte [edi]
cmp cl, 0xa6
je 0x43ae67
cmp cl, 0x4d
jne 0x43af0f
mov ebx, dword [esi + 4]
mov esi, dword [esp + 0x28]
test esi, esi
je 0x43af0f
mov eax, dword [eax + 0x10]
xor edx, edx
add eax, 0xc
cmp dword [eax], esi
je 0x43ae92
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], esi
jne 0x43ae82
test edx, edx
js 0x43af0f
cmp cl, 0x4d
jne 0x43ae9c
mov esi, dword [ebp + 0x78]
jmp 0x43aec9
mov esi, dword [ebx]
xor eax, eax
test esi, esi
jle 0x43af0f
mov edi, dword [edi + 0x1c]
lea ecx, [ebx + 0x34]
lea ebx, [ebx]
cmp edi, dword [ecx]
je 0x43aebe
inc eax
add ecx, 0x48
cmp eax, esi
jl 0x43aeb0
jmp 0x43af0f
mov edi, dword [esp + 0x70]
lea eax, [eax + eax*8]
mov esi, dword [ebx + eax*8 + 0x18]
test esi, esi
je 0x43af0f
movsx eax, word [edi + 0x20]
test eax, eax
js 0x43aee0
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov eax, dword [eax + ecx*4]
jmp 0x43aefa
movzx eax, word [esi + 0x28]
test ax, ax
js 0x43aef5
cwde
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov eax, dword [eax + ecx*4]
jmp 0x43aefa
mov eax, str.ROWID
push edx
push eax
push dword [esi]
push ebp
call fcn.0044cd80
add esp, 0x10
cmp eax, 2
jne 0x43af0f
mov byte [edi], 0x78
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x6c]
inc dword [ecx + 0x10]
cmp ecx, eax
je 0x43af2a
mov edi, edi
mov ecx, dword [ecx + 0xc]
inc dword [ecx + 0x10]
cmp ecx, eax
jne 0x43af20
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x48
ret