Function at 0x140046840
Capabilities:
Parse pe header

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
sub rsp, reloc.WLDAP32.dll_Ordinal_304
mov r10, qword [rcx + 0x10]
xor r11d, r11d
mov rsi, rdx
mov qword [rsp + 0x70], rdx
mov ebx, r8d
mov edx, r11d
mov rbp, rcx
mov qword [rsp + 0x40], r10
mov dword [rax + 0x18], r11d
mov dword [rsp + 0x150], ebx
mov dword [rax + 0x20], r11d
mov dword [rsp + 0x48], edx
cmp r10, r11
jne 0x14004688d
xor eax, eax
jmp 0x140047963
mov r8d, 1
mov ecx, 0x94
lea r9d, [r8 + 1]
cmp rsi, r11
je 0x14004794a
movzx edi, byte [rsi]
cmp edi, ecx
jg 0x140046946
je 0x140046d21
cmp edi, 0x39
mov eax, 0x86
jle 0x140046ac0
cmp edi, 0x47
je 0x140046a28
cmp edi, 0x4d
je 0x1400469ba
cmp edi, 0x62
jle 0x140047050
cmp edi, 0x6c
jle 0x140046b01
cmp edi, 0x6d
je 0x140046999
cmp edi, 0x6e
je 0x140046bbc
cmp edi, 0x71
je 0x1400469a7
cmp edi, 0x75
je 0x14004794a
cmp edi, eax
jne 0x140047050
cmp edi, eax
jne 0x140046bac
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax]
cmp dword [rcx], r8d
je 0x140046bac
mov r9d, r8d
mov r8d, dword [rcx]
lea rdx, str.sub_select_returns__d_columns___expected__d
mov rcx, rbp
call fcn.140018ea8
jmp 0x140047941
cmp edi, 0xa7
jle 0x140046f12
sub edi, 0xa8
je 0x140046e8e
sub edi, r8d
je 0x140046999
sub edi, r8d
je 0x140046e1c
sub edi, r8d
je 0x140046e14
sub edi, r8d
je 0x140046e00
sub edi, r8d
je 0x140046dab
sub edi, r8d
je 0x140046d38
cmp edi, r9d
jne 0x140047050
mov rsi, qword [rsi + 0x10]
mov qword [rsp + 0x70], rsi
jmp 0x14004689c
mov r8, qword [rsi + 8]
mov edx, ebx
mov rcx, r10
call fcn.1400320d4
jmp 0x140047961
mov rdi, qword [rsi + 0x40]
movsx eax, word [rsi + 0x2c]
mov r9d, ebx
movsx ecx, word [rdi + 0x46]
mov edx, 0x95
mov dword [rsp + 0x20], r11d
add ecx, r8d
imul ecx, dword [rsi + 0x28]
lea r8d, [rcx + rax + 1]
mov rcx, r10
call fcn.140032058
xor edx, edx
cmp word [rsi + 0x2c], dx
jl 0x140047941
movsx rcx, word [rsi + 0x2c]
mov rax, qword [rdi + 8]
shl rcx, 5
cmp byte [rcx + rax + 0x19], 0x45
jne 0x140047941
mov rcx, qword [rsp + 0x40]
xor r9d, r9d
mov dword [rsp + 0x20], edx
lea edx, [r9 + 0x54]
mov r8d, ebx
call fcn.140032058
jmp 0x140047941
cmp qword [rbp + 0x98], r11
jne 0x140046a45
lea rdx, str.RAISE___may_only_be_used_within_a_trigger_program
mov rcx, rbp
call fcn.140018ea8
jmp 0x140046886
cmp byte [rsi + 1], r9b
jne 0x140046a60
mov rax, qword [rbp + 0x90]
mov rcx, rbp
cmp rax, r11
cmovne rcx, rax
mov byte [rcx + 0x21], r8b
mov r9d, 4
cmp byte [rsi + 1], r9b
jne 0x140046a9b
mov rbx, qword [rsi + 8]
lea edx, [r9 + 0x41]
xor r8d, r8d
mov rcx, r10
mov dword [rsp + 0x20], r11d
call fcn.140032058
mov rcx, qword [rsp + 0x40]
xor r9d, r9d
mov edx, eax
mov r8, rbx
call fcn.140032934
jmp 0x140047941
movsx r8d, byte [rsi + 1]
mov r9, qword [rsi + 8]
mov byte [rsp + 0x28], r11b
mov edx, 0x713
mov rcx, rbp
mov byte [rsp + 0x20], r11b
call fcn.1400536d0
jmp 0x140047941
cmp edi, 0x34
jge 0x140046f78
cmp edi, 0x2d
jg 0x140046bda
je 0x140046f65
cmp edi, 0x13
je 0x140046bbc
cmp edi, 0x14
je 0x140046914
cmp edi, 0x24
je 0x140046b4d
cmp edi, 0x2a
jle 0x140047050
cmp edi, 0x2c
jg 0x140047050
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x160]
mov rcx, rbp
call fcn.140047a58
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x168]
mov rcx, rbp
mov ebx, eax
call fcn.140047a58
mov ecx, dword [rsp + 0x150]
mov dword [rsp + 0x20], ecx
mov edx, edi
mov rcx, qword [rsp + 0x40]
mov r8d, eax
mov r9d, ebx
call fcn.140032058
jmp 0x140047003
mov rdx, qword [rsi + 0x10]
mov r8d, ebx
mov rcx, rbp
call fcn.140046840
mov rdi, qword [rsp + 0x40]
mov ebp, eax
cmp eax, ebx
je 0x140046b81
and dword [rsp + 0x20], 0
mov r9d, ebx
mov r8d, eax
mov edx, reloc.WLDAP32.dll_Ordinal_79
mov rcx, rdi
call fcn.140032058
mov ebp, ebx
mov rcx, qword [rsi + 8]
xor edx, edx
call fcn.14004ec70
and dword [rsp + 0x20], 0
mov r8d, ebx
mov edx, Ordinal_88
mov rcx, rdi
movsx r9d, al
call fcn.140032058
mov eax, ebp
jmp 0x140047963
mov rdx, rsi
mov rcx, rbp
call fcn.140045a4c
jmp 0x140047963
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x160]
mov rcx, rbp
call fcn.140047a58
and dword [rsp + 0x20], 0
jmp 0x140046b36
cmp edi, 0x30
je 0x140046d06
cmp edi, 0x31
je 0x140046c77
jle 0x140047050
cmp edi, 0x33
jg 0x140047050
mov r9d, ebx
mov edx, Ordinal_73
mov rcx, r10
mov dword [rsp + 0x20], r11d
call fcn.140032058
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x160]
mov rcx, rbp
call fcn.140047a58
mov edx, edi
mov rdi, qword [rsp + 0x40]
xor esi, esi
xor r9d, r9d
mov rcx, rdi
mov r8d, eax
mov dword [rsp + 0x20], esi
call fcn.140032058
mov r9d, dword [rsp + 0x150]
lea edx, [rsi + 0x46]
xor r8d, r8d
mov rcx, rdi
mov ebx, eax
mov dword [rsp + 0x20], esi
call fcn.140032058
mov edx, ebx
mov rcx, rdi
call fcn.140032a28
mov r9, rax
mov eax, dword [rdi + 0x90]
mov dword [r9 + 8], eax
jmp 0x140047003
mov ebx, dword [rbp + 0x44]
mov r9d, dword [rsp + 0x150]
xor r8d, r8d
lea edi, [rbx - 2]
lea edx, [r8 + 0x49]
mov rcx, r10
mov dword [rbp + 0x44], edi
mov dword [rsp + 0x20], r11d
call fcn.140032058
lea r8d, [rbx - 1]
mov r9d, edi
mov rdx, rsi
mov rcx, rbp
call fcn.140045d58
mov esi, dword [rsp + 0x150]
mov rbp, qword [rsp + 0x40]
and dword [rsp + 0x20], 0
mov edx, Ordinal_73
mov r9d, esi
lea r8d, [rdx - 0x45]
mov rcx, rbp
call fcn.140032058
lea edx, [rbx - 1]
mov rcx, rbp
call fcn.140032480
and dword [rsp + 0x20], 0
xor r9d, r9d
lea edx, [r9 + 0x53]
mov r8d, esi
mov rcx, rbp
call fcn.140032058
mov edx, edi
mov rcx, rbp
call fcn.140032480
mov eax, esi
jmp 0x140047963
xor r9d, r9d
mov r8d, ebx
mov rdx, rsi
mov rcx, rbp
mov dword [rsp + 0x20], r11d
call fcn.140047db8
jmp 0x140047961
mov rdx, qword [rsi + 8]
xor r8d, r8d
mov r9d, ebx
mov rcx, r10
call fcn.1400464ec
jmp 0x140047961
mov r8d, dword [rsi + 0x28]
mov dil, byte [rbp + 0x23]
xor r9d, r9d
lea edx, [r9 + 0x15]
mov rcx, r10
mov dword [rsp + 0x20], r11d
call fcn.140032058
mov r8d, dword [rsp + 0x150]
mov byte [rbp + 0x23], 0
mov rdx, qword [rsi + 0x10]
mov rcx, rbp
mov ebx, eax
call fcn.140046840
mov r9, qword [rsp + 0x40]
mov edx, ebx
mov rcx, r9
mov dword [rsp + 0x150], eax
mov byte [rbp + 0x23], dil
call fcn.140032a28
mov ecx, dword [r9 + 0x90]
mov edx, ebx
mov dword [rax + 8], ecx
mov rcx, r9
call fcn.140032a28
mov ecx, dword [rsp + 0x150]
mov dword [rax + 0xc], ecx
jmp 0x140047941
mov rdx, qword [rsi + 0x10]
cmp dword [rdx + 0x28], r11d
jne 0x140046dc7
mov rcx, rbp
call fcn.140045a4c
mov rcx, qword [rsi + 0x10]
xor r11d, r11d
mov dword [rcx + 0x28], eax
mov r8d, dword [rsi + 0x28]
cmp r8d, r11d
je 0x140046df0
mov rcx, qword [rsi + 0x10]
call fcn.140043154
cmp r8d, eax
je 0x140046df0
lea rdx, str._d_columns_assigned__d_values
mov r9d, eax
mov rcx, rbp
call fcn.140018ea8
mov rcx, qword [rsi + 0x10]
movsx eax, word [rsi + 0x2c]
add eax, dword [rcx + 0x28]
jmp 0x140047963
lea rdx, str.row_value_misused
mov rcx, rbp
call fcn.140018ea8
jmp 0x140047941
mov eax, dword [rsi + 0x28]
jmp 0x140047963
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x160]
mov rcx, rbp
call fcn.140047a58
xor r9d, r9d
mov r8d, eax
mov rax, qword [rsi + 0x18]
jmp 0x140046e47
bt dword [rax + 4], 0xc
jae 0x140046e4c
mov rax, qword [rax + 0x10]
cmp rax, r9
jne 0x140046e3c
mov rax, qword [rax + 8]
mov edx, r9d
mov ecx, r9d
cmp byte [rax + 4], r9b
mov eax, r9d
sete dl
cmp byte [rsi + 0x32], 0x2d
sete cl
xor ecx, edx
cmp edx, r9d
mov r9d, ebx
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0x40]
sete al
mov edx, reloc.WLDAP32.dll_Ordinal_88
mov dword [rsp + 0x20], eax
call fcn.14003236c
jmp 0x140047003
mov rdx, qword [rsi + 0x10]
cmp byte [rdx], 0x96
jne 0x140046ea7
mov r9d, ebx
mov rcx, rbp
call fcn.140046580
jmp 0x140047961
cmp byte [rdx], cl
jne 0x140046eb4
mov rdx, qword [rdx + 8]
jmp 0x140046d28
lea r8, [rsp + 0x160]
lea rdx, [rsp + 0xe0]
mov rcx, rbp
mov byte [rsp + 0xe0], Ordinal_157
mov dword [rsp + 0xe4], 0x4400
mov dword [rsp + 0xe8], r11d
call fcn.140047a58
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x168]
mov rcx, rbp
mov ebx, eax
call fcn.140047a58
mov ecx, dword [rsp + 0x150]
mov edx, 0x68
mov dword [rsp + 0x20], ecx
jmp 0x140046b38
je 0x140047560
mov ecx, edi
sub ecx, 0x95
je 0x1400474fc
sub ecx, r8d
je 0x1400474f1
sub ecx, r8d
je 0x140047474
sub ecx, 0xb
je 0x1400472fa
sub ecx, r8d
je 0x1400472cb
sub ecx, r8d
je 0x140047291
sub ecx, r8d
je 0x140047273
cmp ecx, r8d
jne 0x140047050
sub edi, 0x2d
mov edx, 0x80
neg edi
mov dword [rsp + 0x48], edx
sbb edi, edi
add edi, 0x35
mov r9, qword [rsi + 0x10]
mov rcx, r9
mov qword [rsp + 0x70], r9
call fcn.140043154
mov rcx, rbp
cmp eax, r8d
jle 0x140046fa8
mov byte [rsp + 0x20], dl
mov r9b, dil
mov r8d, ebx
mov rdx, rsi
call fcn.1400432d8
jmp 0x140047941
lea r8, [rsp + 0x160]
mov rdx, r9
call fcn.140047a58
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x168]
mov rcx, rbp
mov ebx, eax
call fcn.140047a58
mov r8d, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x150]
mov rdx, qword [rsp + 0x70]
or r8d, 0x20
mov r9d, edi
mov dword [rsp + 0x38], r8d
mov r8, qword [rsi + 0x18]
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], eax
mov rcx, rbp
mov dword [rsp + 0x20], ebx
call fcn.140043090
mov ecx, dword [rsp + 0x160]
xor edx, edx
cmp ecx, edx
je 0x140047024
cmp byte [rbp + 0x1f], 8
jae 0x140047024
movzx eax, byte [rbp + 0x1f]
mov dword [rbp + rax*4 + 0xbc], ecx
inc byte [rbp + 0x1f]
mov ecx, dword [rsp + 0x168]
cmp ecx, edx
je 0x140047941
cmp byte [rbp + 0x1f], 8
jae 0x140047941
movzx eax, byte [rbp + 0x1f]
mov dword [rbp + rax*4 + 0xbc], ecx
inc byte [rbp + 0x1f]
jmp 0x140047941
mov rax, qword [rsi + 0x20]
mov rdi, qword [rbp]
mov r10, r11
lea r8, [rax + 8]
mov qword [rsp + 0x80], rax
mov eax, dword [rax]
dec dword [rbp + 0x44]
mov rdx, qword [rsi + 0x10]
mov ecx, dword [rbp + 0x44]
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x60], r8
mov dword [rsp + 0x168], eax
mov dword [rsp + 0x48], ecx
mov qword [rsp + 0x70], rdx
cmp rdx, r11
je 0x140047146
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
call fcn.140043c98
mov rsi, rax
mov qword [rsp + 0x58], rax
xor eax, eax
cmp byte [rdi + 0x61], al
je 0x1400470d6
cmp rsi, rax
je 0x140047941
mov rdx, rsi
mov rcx, rdi
call fcn.140043ad8
jmp 0x140047941
lea r8, [rsp + 0x160]
mov rdx, rsi
mov rcx, rbp
call fcn.140046798
mov rcx, rsi
mov r11d, eax
call fcn.140042d9c
xor edx, edx
mov cl, byte [rax]
btr dword [rax + 4], 0xc
lea r8d, [rdx + 0x48]
mov byte [rax + 0x32], cl
lea rcx, [rsp + 0x90]
mov byte [rax], 0xab
mov dword [rax + 0x28], r11d
call sub.msvcrt.dll_memset
mov eax, dword [rsp + 0x168]
mov r8, qword [rsp + 0x60]
lea r10, [rsp + 0x90]
mov byte [rsp + 0x90], Ordinal_54
mov qword [rsp + 0x68], r10
mov qword [rsp + 0xa0], rsi
xor r11d, r11d
jmp 0x140047149
mov rsi, r10
mov rdi, qword [rsp + 0x40]
lea ecx, [rax - 1]
cmp ecx, r11d
jle 0x140047212
mov rsi, qword [rsp + 0x70]
dec ecx
shr ecx, 1
inc ecx
mov qword [rsp + 0x50], rcx
cmp rsi, r11
je 0x14004717c
mov rax, qword [r8]
mov qword [rsp + 0xa8], rax
jmp 0x140047184
mov r10, qword [r8]
mov qword [rsp + 0x68], r10
dec dword [rbp + 0x44]
mov ebx, dword [rbp + 0x44]
mov r9d, 0x10
mov rdx, r10
mov rcx, rbp
mov r8d, ebx
call fcn.1400482b4
mov rdx, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x150]
mov rdx, qword [rdx + 0x28]
mov rcx, rbp
call fcn.140047b20
mov r9d, dword [rsp + 0x48]
and dword [rsp + 0x20], 0
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 0xb]
call fcn.140032058
mov edx, ebx
mov rcx, rdi
call fcn.140032480
mov r8, qword [rsp + 0x60]
mov r10, qword [rsp + 0x68]
add r8, 0x50
sub qword [rsp + 0x50], 1
mov r11d, 0
mov qword [rsp + 0x60], r8
jne 0x14004716a
mov ebx, dword [rsp + 0x150]
mov rsi, qword [rsp + 0x58]
mov eax, dword [rsp + 0x168]
test al, 1
je 0x140047236
cdqe
mov r8d, ebx
mov rcx, rbp
lea rdx, [rax + rax*4]
mov rax, qword [rsp + 0x80]
mov rdx, qword [rax + rdx*8 - 0x20]
call fcn.140047b20
jmp 0x14004724d
xor r8d, r8d
mov r9d, ebx
mov rcx, rdi
lea edx, [r8 + 0x49]
mov dword [rsp + 0x20], r11d
call fcn.140032058
test rsi, rsi
je 0x14004725f
mov rcx, qword [rsp + 0x78]
mov rdx, rsi
call fcn.140043ad8
mov edx, dword [rsp + 0x48]
jmp 0x1400476c9
bt dword [rsi + 4], 0xc
jae 0x140047278
mov rsi, qword [rsi + 0x10]
cmp rsi, r11
jne 0x140047268
mov rax, qword [rsi + 8]
mov r8d, r11d
mov edx, Ordinal_73
cmp byte [rax + 4], r11b
sete r8b
jmp 0x140047951
mov rcx, qword [rsi + 0x38]
movsx rax, word [rsi + 0x2e]
shl rax, 5
add rax, qword [rcx + 0x20]
cmp byte [rcx], r11b
jne 0x1400472af
mov eax, dword [rax + 0x14]
jmp 0x140047963
cmp byte [rcx + 1], r11b
je 0x1400472fa
mov r9d, dword [rax + 0x10]
mov r8d, dword [rcx + 8]
mov dword [rsp + 0x20], ebx
mov edx, 0x5a
jmp 0x140047959
mov rdx, qword [rsi + 0x38]
cmp rdx, r11
jne 0x1400472e4
mov r8, qword [rsi + 8]
lea rdx, str.misuse_of_aggregate:__s__
jmp 0x140047939
movsx rax, word [rsi + 0x2e]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x30]
mov eax, dword [rax + rcx*8 + 0x10]
jmp 0x140047963
test byte [rsi + 4], 8
mov r8d, dword [rsi + 0x28]
je 0x1400473ae
mov rdx, qword [rsi + 0x10]
mov r8d, ebx
mov rcx, rbp
call fcn.140046840
xor ebp, ebp
mov edi, eax
movsx rax, word [rsi + 0x2c]
cmp eax, ebp
jl 0x14004733b
mov rcx, qword [rsi + 0x40]
mov r8, rax
mov rdx, qword [rcx + 8]
shl r8, 5
movsx eax, byte [r8 + rdx + 0x19]
jmp 0x140047340
mov eax, Ordinal_69
movsx esi, al
cmp esi, 0x41
jle 0x1400473a7
cmp edi, ebx
je 0x140047367
mov rcx, qword [rsp + 0x40]
mov r9d, ebx
mov r8d, edi
mov edx, reloc.WLDAP32.dll_Ordinal_79
mov dword [rsp + 0x20], ebp
call fcn.140032058
mov edi, ebx
mov rbx, qword [rsp + 0x40]
mov r9d, 1
mov r8d, edi
lea edx, [r9 + 0x5a]
mov rcx, rbx
mov dword [rsp + 0x20], ebp
call fcn.140032058
lea ecx, [rsi + rsi - 0x84]
or r9d, 0xffffffff
movsxd r8, ecx
lea rcx, str.BCDE
mov edx, eax
add r8, rcx
mov rcx, rbx
call fcn.140032934
mov eax, edi
jmp 0x140047963
cmp r8d, r11d
jge 0x140047423
mov r9d, dword [rbp + 0x40]
cmp r9d, r11d
jge 0x14004741f
movzx r8d, word [rsi + 0x2c]
cmp r8w, r11w
jl 0x140047413
mov rax, qword [rsi + 0x40]
movsx rdx, r8w
mov rcx, qword [rax + 8]
shl rdx, 5
cmp byte [rdx + rcx + 0x19], 0x45
jne 0x140047413
movsx r8d, r8w
mov edx, reloc.WLDAP32.dll_Ordinal_79
mov rcx, r10
sub r8d, r9d
mov r9d, ebx
mov dword [rsp + 0x20], r11d
call fcn.140032058
mov rcx, qword [rsp + 0x40]
xor eax, eax
lea edx, [rax + 0x54]
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8d, ebx
jmp 0x14004795c
movsx eax, r8w
sub eax, r9d
jmp 0x140047963
lea r8d, [r9 - 1]
movsx r9d, word [rsi + 0x2c]
mov rdx, qword [rsi + 0x40]
mov dil, byte [rsi + 0x32]
mov rcx, r10
mov dword [rsp + 0x20], ebx
call fcn.1400466a4
xor ecx, ecx
cmp dil, cl
je 0x140047961
mov r8, qword [rsp + 0x40]
movsxd rax, dword [r8 + 0x90]
cmp eax, ecx
jle 0x140047961
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x88]
movzx edx, dil
mov word [rax + rcx*8 - 0x16], dx
jmp 0x140047961
movsx r8d, word [rsi + 0x2c]
mov r9d, ebx
mov edx, Ordinal_79
mov rcx, r10
mov dword [rsp + 0x20], r11d
call fcn.140032058
mov r11, qword [rsi + 8]
xor r9d, r9d
cmp byte [r11 + 1], r9b
je 0x140047961
mov rdx, qword [rbp + 0x118]
cmp rdx, r9
jne 0x1400474b0
mov rax, r9
jmp 0x1400474d8
movsx r8d, word [rsi + 0x2c]
mov eax, 2
movsxd rcx, eax
cmp dword [rdx + rcx*4], r8d
je 0x1400474ce
add eax, dword [rdx + rcx*4 + 4]
cmp eax, dword [rdx + 4]
jl 0x1400474ba
jmp 0x1400474ab
add eax, 2
movsxd rcx, eax
lea rax, [rdx + rcx*4]
mov rcx, qword [rsp + 0x40]
mov dword [rdx], r9d
or r8d, 0xffffffff
mov rdx, rax
call fcn.1400329b4
jmp 0x140047961
xor r8d, r8d
mov rdx, rsi
jmp 0x140046e97
mov rdx, qword [rsi + 8]
add rdx, r9
mov rcx, rdx
call fcn.140018d64
mov rcx, qword [r10]
mov ebx, eax
sub ebx, r8d
mov r8d, ebx
call fcn.140019bac
mov rsi, qword [rsp + 0x40]
mov rdi, rax
mov eax, ebx
mov ebx, dword [rsp + 0x150]
cdq
mov r9d, ebx
mov rcx, rsi
sub eax, edx
sar eax, 1
mov r8d, eax
xor eax, eax
lea edx, [rax + 0x4b]
mov dword [rsp + 0x20], eax
call fcn.140032058
mov r9d, 0xfffffff9
mov r8, rdi
mov edx, eax
mov rcx, rsi
call fcn.140032934
jmp 0x140047961
bt dword [rsi + 4], 0x18
mov rcx, qword [rbp]
mov dword [rsp + 0x168], r11d
mov dl, byte [rcx + 0x5e]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x60], r11
mov byte [rsp + 0x160], dl
jae 0x140047593
mov rax, qword [rsi + 0x40]
mov eax, dword [rax + 0x60]
jmp 0x140047963
cmp byte [rbp + 0x23], r11b
je 0x1400475cf
xor r8d, r8d
mov edx, r9d
mov rcx, rsi
call fcn.140044b14
xor r11d, r11d
cmp eax, r11d
je 0x1400475c3
or r8d, 0xffffffff
mov rdx, rsi
mov rcx, rbp
call fcn.140047978
jmp 0x140047963
mov rcx, qword [rsp + 0x68]
mov dl, byte [rsp + 0x160]
bt dword [rsi + 4], 0xe
jae 0x1400476a0
mov qword [rsp + 0x50], r11
mov edi, r11d
mov dword [rsp + 0x48], r11d
mov rax, qword [rsi + 8]
mov r9b, dl
mov r8d, edi
mov rdx, rax
mov qword [rsp + 0x78], rax
mov byte [rsp + 0x20], r11b
call fcn.140054320
xor edx, edx
mov r10, rax
mov qword [rsp + 0x58], rax
cmp rax, rdx
je 0x14004792d
cmp qword [rax + 0x20], rdx
jne 0x14004792d
bt dword [rax + 4], 9
jae 0x1400476d6
dec dword [rbp + 0x44]
mov eax, dword [rbp + 0x44]
mov rsi, qword [rsp + 0x50]
mov rdx, qword [rsi + 8]
mov r8d, ebx
mov rcx, rbp
mov dword [rsp + 0x160], eax
call fcn.140047b20
cmp edi, 1
jle 0x1400476bd
lea ecx, [rdi - 1]
mov rdi, qword [rsp + 0x40]
add rsi, 0x30
mov qword [rsp + 0x168], rcx
mov r9d, dword [rsp + 0x160]
xor eax, eax
mov r8d, ebx
lea edx, [rax + 0x33]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140032058
mov rdx, qword [rsi]
mov r8d, ebx
mov rcx, rbp
call fcn.140047b20
add rsi, 0x28
sub qword [rsp + 0x168], 1
jne 0x140047665
jmp 0x1400476c2
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0x50], rax
cmp rax, r11
je 0x1400475df
mov edi, dword [rax]
mov dword [rsp + 0x48], edi
jmp 0x1400475e7
mov rdi, qword [rsp + 0x40]
mov edx, dword [rsp + 0x160]
mov rcx, rdi
call fcn.140032480
jmp 0x140047941
bt dword [rax + 4], 0xa
jae 0x1400476f6
mov rax, qword [rsp + 0x50]
mov r8d, ebx
mov rcx, rbp
mov rdx, qword [rax + 8]
call fcn.140046840
jmp 0x140047963
cmp edi, edx
mov ecx, edx
mov dword [rsp + 0x160], edx
jle 0x140047792
mov rbx, qword [rsp + 0x50]
mov rsi, rcx
add rbx, 8
cmp ecx, 0x20
jge 0x140047745
mov rcx, qword [rbx]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.140044b14
mov ecx, dword [rsp + 0x160]
mov r10, qword [rsp + 0x58]
xor edx, edx
cmp eax, edx
je 0x140047745
lea eax, [rdx + 1]
shl eax, cl
or dword [rsp + 0x168], eax
test byte [r10 + 4], 0x20
je 0x14004776b
cmp rsi, rdx
jne 0x14004776b
mov rdx, qword [rbx]
mov rcx, rbp
call fcn.140042dc8
mov r10, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x160]
mov rsi, rax
inc ecx
add rbx, 0x28
mov edx, 0
cmp ecx, edi
mov dword [rsp + 0x160], ecx
jl 0x140047713
mov ebx, dword [rsp + 0x150]
mov qword [rsp + 0x60], rsi
mov rsi, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x50]
cmp rcx, rdx
je 0x140047811
cmp dword [rsp + 0x168], edx
je 0x1400477b9
mov eax, dword [rbp + 0x38]
lea edx, [rax + 1]
add eax, edi
mov dword [rsp + 0x160], edx
mov dword [rbp + 0x38], eax
jmp 0x1400477d1
mov edx, edi
mov rcx, rbp
call fcn.140049318
mov rcx, qword [rsp + 0x50]
mov edx, eax
mov dword [rsp + 0x160], eax
test byte [r10 + 4], 0xc0
je 0x1400477f2
mov r8, qword [rcx + 8]
cmp byte [r8], 0xa2
je 0x1400477e8
cmp byte [r8], 0xa4
jne 0x1400477f2
mov al, byte [r10 + 4]
and al, 0xc0
mov byte [r8 + 0x32], al
mov r8d, edx
mov rdx, rcx
xor r9d, r9d
mov rcx, rbp
mov byte [rsp + 0x20], 3
call fcn.140047c50
mov rcx, qword [rsp + 0x50]
xor edx, edx
jmp 0x140047818
mov dword [rsp + 0x160], edx
mov eax, 2
cmp edi, eax
jl 0x14004784b
lea r8d, [rax + 0x7e]
test byte [rsi + 4], r8b
je 0x14004784b
mov r9, qword [rcx + 0x30]
mov rdx, qword [rsp + 0x58]
mov r8d, edi
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.1400705e4
xor edx, edx
mov rsi, rax
jmp 0x14004785f
cmp edi, edx
jle 0x140047855
mov r9, qword [rcx + 8]
jmp 0x14004782f
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x68]
test byte [rsi + 4], 0x20
je 0x1400478a7
cmp qword [rsp + 0x60], rdx
jne 0x140047875
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x60], rax
mov rdi, qword [rsp + 0x40]
xor r9d, r9d
mov dword [rsp + 0x20], edx
lea edx, [r9 + 0x52]
mov rcx, rdi
xor r8d, r8d
call fcn.140032058
mov r8, qword [rsp + 0x60]
mov r9d, 0xfffffffe
mov edx, eax
mov rcx, rdi
call fcn.140032934
jmp 0x1400478ac
mov rdi, qword [rsp + 0x40]
mov eax, dword [rbp + 0x40]
mov r9d, dword [rsp + 0x160]
mov r8d, dword [rsp + 0x168]
neg eax
mov rcx, rdi
mov dword [rsp + 0x20], ebx
sbb edx, edx
add edx, 0x3f
call fcn.140032058
mov r9d, 0xfffffff8
mov r8, rsi
mov edx, eax
mov rcx, rdi
call fcn.140032934
movsxd r11, dword [rdi + 0x90]
mov r8d, dword [rsp + 0x48]
xor r9d, r9d
cmp r11d, r9d
jle 0x14004790d
mov rax, qword [rdi + 0x88]
lea rcx, [r11 + r11*2]
movzx edx, r8b
mov word [rax + rcx*8 - 0x16], dx
cmp r8d, r9d
je 0x140047961
cmp dword [rsp + 0x168], r9d
jne 0x140047961
mov edx, dword [rsp + 0x160]
mov rcx, rbp
call fcn.14004936c
jmp 0x140047961
mov r8, qword [rsp + 0x78]
lea rdx, str.unknown_function:__s__
mov rcx, rbp
call fcn.140018ea8
mov eax, dword [rsp + 0x150]
jmp 0x140047963
xor r8d, r8d
lea edx, [r8 + 0x49]
mov dword [rsp + 0x20], r11d
mov r9d, ebx
mov rcx, r10
call fcn.140032058
mov eax, ebx
mov rbx, qword [rsp + 0x158]
add rsp, reloc.WLDAP32.dll_Ordinal_304
pop rdi
pop rsi
pop rbp
ret