Function at 0x140044a20
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 0x140044a6d
xor eax, eax
jmp 0x140045b43
mov r8d, 1
mov ecx, 0x94
lea r9d, [r8 + 1]
cmp rsi, r11
je 0x140045b2a
movzx edi, byte [rsi]
cmp edi, ecx
jg 0x140044b26
je 0x140044f01
cmp edi, 0x39
mov eax, 0x86
jle 0x140044ca0
cmp edi, 0x47
je 0x140044c08
cmp edi, 0x4d
je 0x140044b9a
cmp edi, 0x62
jle 0x140045230
cmp edi, 0x6c
jle 0x140044ce1
cmp edi, 0x6d
je 0x140044b79
cmp edi, 0x6e
je 0x140044d9c
cmp edi, 0x71
je 0x140044b87
cmp edi, 0x75
je 0x140045b2a
cmp edi, eax
jne 0x140045230
cmp edi, eax
jne 0x140044d8c
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax]
cmp dword [rcx], r8d
je 0x140044d8c
mov r9d, r8d
mov r8d, dword [rcx]
lea rdx, [0x1400e3d70]
mov rcx, rbp
call fcn.140017088
jmp 0x140045b21
cmp edi, 0xa7
jle 0x1400450f2
sub edi, 0xa8
je 0x14004506e
sub edi, r8d
je 0x140044b79
sub edi, r8d
je 0x140044ffc
sub edi, r8d
je 0x140044ff4
sub edi, r8d
je 0x140044fe0
sub edi, r8d
je 0x140044f8b
sub edi, r8d
je 0x140044f18
cmp edi, r9d
jne 0x140045230
mov rsi, qword [rsi + 0x10]
mov qword [rsp + 0x70], rsi
jmp 0x140044a7c
mov r8, qword [rsi + 8]
mov edx, ebx
mov rcx, r10
call fcn.1400302b4
jmp 0x140045b41
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.140030238
xor edx, edx
cmp word [rsi + 0x2c], dx
jl 0x140045b21
movsx rcx, word [rsi + 0x2c]
mov rax, qword [rdi + 8]
shl rcx, 5
cmp byte [rcx + rax + 0x19], 0x45
jne 0x140045b21
mov rcx, qword [rsp + 0x40]
xor r9d, r9d
mov dword [rsp + 0x20], edx
lea edx, [r9 + 0x54]
mov r8d, ebx
call fcn.140030238
jmp 0x140045b21
cmp qword [rbp + 0x98], r11
jne 0x140044c25
lea rdx, [0x1400e3e78]
mov rcx, rbp
call fcn.140017088
jmp 0x140044a66
cmp byte [rsi + 1], r9b
jne 0x140044c40
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 0x140044c7b
mov rbx, qword [rsi + 8]
lea edx, [r9 + 0x41]
xor r8d, r8d
mov rcx, r10
mov dword [rsp + 0x20], r11d
call fcn.140030238
mov rcx, qword [rsp + 0x40]
xor r9d, r9d
mov edx, eax
mov r8, rbx
call fcn.140030b14
jmp 0x140045b21
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.1400518b0
jmp 0x140045b21
cmp edi, 0x34
jge 0x140045158
cmp edi, 0x2d
jg 0x140044dba
je 0x140045145
cmp edi, 0x13
je 0x140044d9c
cmp edi, 0x14
je 0x140044af4
cmp edi, 0x24
je 0x140044d2d
cmp edi, 0x2a
jle 0x140045230
cmp edi, 0x2c
jg 0x140045230
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x160]
mov rcx, rbp
call fcn.140045c38
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x168]
mov rcx, rbp
mov ebx, eax
call fcn.140045c38
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.140030238
jmp 0x1400451e3
mov rdx, qword [rsi + 0x10]
mov r8d, ebx
mov rcx, rbp
call fcn.140044a20
mov rdi, qword [rsp + 0x40]
mov ebp, eax
cmp eax, ebx
je 0x140044d61
and dword [rsp + 0x20], 0
mov r9d, ebx
mov r8d, eax
mov edx, reloc.WLDAP32.dll_Ordinal_79
mov rcx, rdi
call fcn.140030238
mov ebp, ebx
mov rcx, qword [rsi + 8]
xor edx, edx
call fcn.14004ce50
and dword [rsp + 0x20], 0
mov r8d, ebx
mov edx, Ordinal_88
mov rcx, rdi
movsx r9d, al
call fcn.140030238
mov eax, ebp
jmp 0x140045b43
mov rdx, rsi
mov rcx, rbp
call fcn.140043c2c
jmp 0x140045b43
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x160]
mov rcx, rbp
call fcn.140045c38
and dword [rsp + 0x20], 0
jmp 0x140044d16
cmp edi, 0x30
je 0x140044ee6
cmp edi, 0x31
je 0x140044e57
jle 0x140045230
cmp edi, 0x33
jg 0x140045230
mov r9d, ebx
mov edx, Ordinal_73
mov rcx, r10
mov dword [rsp + 0x20], r11d
call fcn.140030238
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x160]
mov rcx, rbp
call fcn.140045c38
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.140030238
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.140030238
mov edx, ebx
mov rcx, rdi
call fcn.140030c08
mov r9, rax
mov eax, dword [rdi + 0x90]
mov dword [r9 + 8], eax
jmp 0x1400451e3
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.140030238
lea r8d, [rbx - 1]
mov r9d, edi
mov rdx, rsi
mov rcx, rbp
call fcn.140043f38
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.140030238
lea edx, [rbx - 1]
mov rcx, rbp
call fcn.140030660
and dword [rsp + 0x20], 0
xor r9d, r9d
lea edx, [r9 + 0x53]
mov r8d, esi
mov rcx, rbp
call fcn.140030238
mov edx, edi
mov rcx, rbp
call fcn.140030660
mov eax, esi
jmp 0x140045b43
xor r9d, r9d
mov r8d, ebx
mov rdx, rsi
mov rcx, rbp
mov dword [rsp + 0x20], r11d
call fcn.140045f98
jmp 0x140045b41
mov rdx, qword [rsi + 8]
xor r8d, r8d
mov r9d, ebx
mov rcx, r10
call fcn.1400446cc
jmp 0x140045b41
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.140030238
mov r8d, dword [rsp + 0x150]
mov byte [rbp + 0x23], 0
mov rdx, qword [rsi + 0x10]
mov rcx, rbp
mov ebx, eax
call fcn.140044a20
mov r9, qword [rsp + 0x40]
mov edx, ebx
mov rcx, r9
mov dword [rsp + 0x150], eax
mov byte [rbp + 0x23], dil
call fcn.140030c08
mov ecx, dword [r9 + 0x90]
mov edx, ebx
mov dword [rax + 8], ecx
mov rcx, r9
call fcn.140030c08
mov ecx, dword [rsp + 0x150]
mov dword [rax + 0xc], ecx
jmp 0x140045b21
mov rdx, qword [rsi + 0x10]
cmp dword [rdx + 0x28], r11d
jne 0x140044fa7
mov rcx, rbp
call fcn.140043c2c
mov rcx, qword [rsi + 0x10]
xor r11d, r11d
mov dword [rcx + 0x28], eax
mov r8d, dword [rsi + 0x28]
cmp r8d, r11d
je 0x140044fd0
mov rcx, qword [rsi + 0x10]
call fcn.140041334
cmp r8d, eax
je 0x140044fd0
lea rdx, [0x1400e3cc0]
mov r9d, eax
mov rcx, rbp
call fcn.140017088
mov rcx, qword [rsi + 0x10]
movsx eax, word [rsi + 0x2c]
add eax, dword [rcx + 0x28]
jmp 0x140045b43
lea rdx, [0x1400e3838]
mov rcx, rbp
call fcn.140017088
jmp 0x140045b21
mov eax, dword [rsi + 0x28]
jmp 0x140045b43
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x160]
mov rcx, rbp
call fcn.140045c38
xor r9d, r9d
mov r8d, eax
mov rax, qword [rsi + 0x18]
jmp 0x140045027
bt dword [rax + 4], 0xc
jae 0x14004502c
mov rax, qword [rax + 0x10]
cmp rax, r9
jne 0x14004501c
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.14003054c
jmp 0x1400451e3
mov rdx, qword [rsi + 0x10]
cmp byte [rdx], 0x96
jne 0x140045087
mov r9d, ebx
mov rcx, rbp
call fcn.140044760
jmp 0x140045b41
cmp byte [rdx], cl
jne 0x140045094
mov rdx, qword [rdx + 8]
jmp 0x140044f08
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.140045c38
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x168]
mov rcx, rbp
mov ebx, eax
call fcn.140045c38
mov ecx, dword [rsp + 0x150]
mov edx, 0x68
mov dword [rsp + 0x20], ecx
jmp 0x140044d18
je 0x140045740
mov ecx, edi
sub ecx, 0x95
je 0x1400456dc
sub ecx, r8d
je 0x1400456d1
sub ecx, r8d
je 0x140045654
sub ecx, 0xb
je 0x1400454da
sub ecx, r8d
je 0x1400454ab
sub ecx, r8d
je 0x140045471
sub ecx, r8d
je 0x140045453
cmp ecx, r8d
jne 0x140045230
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.140041334
mov rcx, rbp
cmp eax, r8d
jle 0x140045188
mov byte [rsp + 0x20], dl
mov r9b, dil
mov r8d, ebx
mov rdx, rsi
call fcn.1400414b8
jmp 0x140045b21
lea r8, [rsp + 0x160]
mov rdx, r9
call fcn.140045c38
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x168]
mov rcx, rbp
mov ebx, eax
call fcn.140045c38
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.140041270
mov ecx, dword [rsp + 0x160]
xor edx, edx
cmp ecx, edx
je 0x140045204
cmp byte [rbp + 0x1f], 8
jae 0x140045204
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 0x140045b21
cmp byte [rbp + 0x1f], 8
jae 0x140045b21
movzx eax, byte [rbp + 0x1f]
mov dword [rbp + rax*4 + 0xbc], ecx
inc byte [rbp + 0x1f]
jmp 0x140045b21
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 0x140045326
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
call fcn.140041e78
mov rsi, rax
mov qword [rsp + 0x58], rax
xor eax, eax
cmp byte [rdi + 0x61], al
je 0x1400452b6
cmp rsi, rax
je 0x140045b21
mov rdx, rsi
mov rcx, rdi
call fcn.140041cb8
jmp 0x140045b21
lea r8, [rsp + 0x160]
mov rdx, rsi
mov rcx, rbp
call fcn.140044978
mov rcx, rsi
mov r11d, eax
call fcn.140040f7c
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 0x140045329
mov rsi, r10
mov rdi, qword [rsp + 0x40]
lea ecx, [rax - 1]
cmp ecx, r11d
jle 0x1400453f2
mov rsi, qword [rsp + 0x70]
dec ecx
shr ecx, 1
inc ecx
mov qword [rsp + 0x50], rcx
cmp rsi, r11
je 0x14004535c
mov rax, qword [r8]
mov qword [rsp + 0xa8], rax
jmp 0x140045364
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.140046494
mov rdx, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x150]
mov rdx, qword [rdx + 0x28]
mov rcx, rbp
call fcn.140045d00
mov r9d, dword [rsp + 0x48]
and dword [rsp + 0x20], 0
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 0xb]
call fcn.140030238
mov edx, ebx
mov rcx, rdi
call fcn.140030660
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 0x14004534a
mov ebx, dword [rsp + 0x150]
mov rsi, qword [rsp + 0x58]
mov eax, dword [rsp + 0x168]
test al, 1
je 0x140045416
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.140045d00
jmp 0x14004542d
xor r8d, r8d
mov r9d, ebx
mov rcx, rdi
lea edx, [r8 + 0x49]
mov dword [rsp + 0x20], r11d
call fcn.140030238
test rsi, rsi
je 0x14004543f
mov rcx, qword [rsp + 0x78]
mov rdx, rsi
call fcn.140041cb8
mov edx, dword [rsp + 0x48]
jmp 0x1400458a9
bt dword [rsi + 4], 0xc
jae 0x140045458
mov rsi, qword [rsi + 0x10]
cmp rsi, r11
jne 0x140045448
mov rax, qword [rsi + 8]
mov r8d, r11d
mov edx, Ordinal_73
cmp byte [rax + 4], r11b
sete r8b
jmp 0x140045b31
mov rcx, qword [rsi + 0x38]
movsx rax, word [rsi + 0x2e]
shl rax, 5
add rax, qword [rcx + 0x20]
cmp byte [rcx], r11b
jne 0x14004548f
mov eax, dword [rax + 0x14]
jmp 0x140045b43
cmp byte [rcx + 1], r11b
je 0x1400454da
mov r9d, dword [rax + 0x10]
mov r8d, dword [rcx + 8]
mov dword [rsp + 0x20], ebx
mov edx, 0x5a
jmp 0x140045b39
mov rdx, qword [rsi + 0x38]
cmp rdx, r11
jne 0x1400454c4
mov r8, qword [rsi + 8]
lea rdx, [0x1400e3e40]
jmp 0x140045b19
movsx rax, word [rsi + 0x2e]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x30]
mov eax, dword [rax + rcx*8 + 0x10]
jmp 0x140045b43
test byte [rsi + 4], 8
mov r8d, dword [rsi + 0x28]
je 0x14004558e
mov rdx, qword [rsi + 0x10]
mov r8d, ebx
mov rcx, rbp
call fcn.140044a20
xor ebp, ebp
mov edi, eax
movsx rax, word [rsi + 0x2c]
cmp eax, ebp
jl 0x14004551b
mov rcx, qword [rsi + 0x40]
mov r8, rax
mov rdx, qword [rcx + 8]
shl r8, 5
movsx eax, byte [r8 + rdx + 0x19]
jmp 0x140045520
mov eax, Ordinal_69
movsx esi, al
cmp esi, 0x41
jle 0x140045587
cmp edi, ebx
je 0x140045547
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.140030238
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.140030238
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.140030b14
mov eax, edi
jmp 0x140045b43
cmp r8d, r11d
jge 0x140045603
mov r9d, dword [rbp + 0x40]
cmp r9d, r11d
jge 0x1400455ff
movzx r8d, word [rsi + 0x2c]
cmp r8w, r11w
jl 0x1400455f3
mov rax, qword [rsi + 0x40]
movsx rdx, r8w
mov rcx, qword [rax + 8]
shl rdx, 5
cmp byte [rdx + rcx + 0x19], 0x45
jne 0x1400455f3
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.140030238
mov rcx, qword [rsp + 0x40]
xor eax, eax
lea edx, [rax + 0x54]
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8d, ebx
jmp 0x140045b3c
movsx eax, r8w
sub eax, r9d
jmp 0x140045b43
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.140044884
xor ecx, ecx
cmp dil, cl
je 0x140045b41
mov r8, qword [rsp + 0x40]
movsxd rax, dword [r8 + 0x90]
cmp eax, ecx
jle 0x140045b41
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x88]
movzx edx, dil
mov word [rax + rcx*8 - 0x16], dx
jmp 0x140045b41
movsx r8d, word [rsi + 0x2c]
mov r9d, ebx
mov edx, Ordinal_77
mov rcx, r10
mov dword [rsp + 0x20], r11d
call fcn.140030238
mov r11, qword [rsi + 8]
xor r9d, r9d
cmp byte [r11 + 1], r9b
je 0x140045b41
mov rdx, qword [rbp + 0x118]
cmp rdx, r9
jne 0x140045690
mov rax, r9
jmp 0x1400456b8
movsx r8d, word [rsi + 0x2c]
mov eax, 2
movsxd rcx, eax
cmp dword [rdx + rcx*4], r8d
je 0x1400456ae
add eax, dword [rdx + rcx*4 + 4]
cmp eax, dword [rdx + 4]
jl 0x14004569a
jmp 0x14004568b
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.140030b94
jmp 0x140045b41
xor r8d, r8d
mov rdx, rsi
jmp 0x140045077
mov rdx, qword [rsi + 8]
add rdx, r9
mov rcx, rdx
call fcn.140016f44
mov rcx, qword [r10]
mov ebx, eax
sub ebx, r8d
mov r8d, ebx
call fcn.140017d8c
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.140030238
mov r9d, 0xfffffff9
mov r8, rdi
mov edx, eax
mov rcx, rsi
call fcn.140030b14
jmp 0x140045b41
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 0x140045773
mov rax, qword [rsi + 0x40]
mov eax, dword [rax + 0x60]
jmp 0x140045b43
cmp byte [rbp + 0x23], r11b
je 0x1400457af
xor r8d, r8d
mov edx, r9d
mov rcx, rsi
call fcn.140042cf4
xor r11d, r11d
cmp eax, r11d
je 0x1400457a3
or r8d, 0xffffffff
mov rdx, rsi
mov rcx, rbp
call fcn.140045b58
jmp 0x140045b43
mov rcx, qword [rsp + 0x68]
mov dl, byte [rsp + 0x160]
bt dword [rsi + 4], 0xe
jae 0x140045880
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.140052500
xor edx, edx
mov r10, rax
mov qword [rsp + 0x58], rax
cmp rax, rdx
je 0x140045b0d
cmp qword [rax + 0x20], rdx
jne 0x140045b0d
bt dword [rax + 4], 9
jae 0x1400458b6
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.140045d00
cmp edi, 1
jle 0x14004589d
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.140030238
mov rdx, qword [rsi]
mov r8d, ebx
mov rcx, rbp
call fcn.140045d00
add rsi, 0x28
sub qword [rsp + 0x168], 1
jne 0x140045845
jmp 0x1400458a2
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0x50], rax
cmp rax, r11
je 0x1400457bf
mov edi, dword [rax]
mov dword [rsp + 0x48], edi
jmp 0x1400457c7
mov rdi, qword [rsp + 0x40]
mov edx, dword [rsp + 0x160]
mov rcx, rdi
call fcn.140030660
jmp 0x140045b21
bt dword [rax + 4], 0xa
jae 0x1400458d6
mov rax, qword [rsp + 0x50]
mov r8d, ebx
mov rcx, rbp
mov rdx, qword [rax + 8]
call fcn.140044a20
jmp 0x140045b43
cmp edi, edx
mov ecx, edx
mov dword [rsp + 0x160], edx
jle 0x140045972
mov rbx, qword [rsp + 0x50]
mov rsi, rcx
add rbx, 8
cmp ecx, 0x20
jge 0x140045925
mov rcx, qword [rbx]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.140042cf4
mov ecx, dword [rsp + 0x160]
mov r10, qword [rsp + 0x58]
xor edx, edx
cmp eax, edx
je 0x140045925
lea eax, [rdx + 1]
shl eax, cl
or dword [rsp + 0x168], eax
test byte [r10 + 4], 0x20
je 0x14004594b
cmp rsi, rdx
jne 0x14004594b
mov rdx, qword [rbx]
mov rcx, rbp
call fcn.140040fa8
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 0x1400458f3
mov ebx, dword [rsp + 0x150]
mov qword [rsp + 0x60], rsi
mov rsi, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x50]
cmp rcx, rdx
je 0x1400459f1
cmp dword [rsp + 0x168], edx
je 0x140045999
mov eax, dword [rbp + 0x38]
lea edx, [rax + 1]
add eax, edi
mov dword [rsp + 0x160], edx
mov dword [rbp + 0x38], eax
jmp 0x1400459b1
mov edx, edi
mov rcx, rbp
call fcn.1400474f8
mov rcx, qword [rsp + 0x50]
mov edx, eax
mov dword [rsp + 0x160], eax
test byte [r10 + 4], 0xc0
je 0x1400459d2
mov r8, qword [rcx + 8]
cmp byte [r8], 0xa2
je 0x1400459c8
cmp byte [r8], 0xa4
jne 0x1400459d2
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.140045e30
mov rcx, qword [rsp + 0x50]
xor edx, edx
jmp 0x1400459f8
mov dword [rsp + 0x160], edx
mov eax, 2
cmp edi, eax
jl 0x140045a2b
lea r8d, [rax + 0x7e]
test byte [rsi + 4], r8b
je 0x140045a2b
mov r9, qword [rcx + 0x30]
mov rdx, qword [rsp + 0x58]
mov r8d, edi
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14006e7c4
xor edx, edx
mov rsi, rax
jmp 0x140045a3f
cmp edi, edx
jle 0x140045a35
mov r9, qword [rcx + 8]
jmp 0x140045a0f
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x68]
test byte [rsi + 4], 0x20
je 0x140045a87
cmp qword [rsp + 0x60], rdx
jne 0x140045a55
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.140030238
mov r8, qword [rsp + 0x60]
mov r9d, 0xfffffffe
mov edx, eax
mov rcx, rdi
call fcn.140030b14
jmp 0x140045a8c
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.140030238
mov r9d, 0xfffffff8
mov r8, rsi
mov edx, eax
mov rcx, rdi
call fcn.140030b14
movsxd r11, dword [rdi + 0x90]
mov r8d, dword [rsp + 0x48]
xor r9d, r9d
cmp r11d, r9d
jle 0x140045aed
mov rax, qword [rdi + 0x88]
lea rcx, [r11 + r11*2]
movzx edx, r8b
mov word [rax + rcx*8 - 0x16], dx
cmp r8d, r9d
je 0x140045b41
cmp dword [rsp + 0x168], r9d
jne 0x140045b41
mov edx, dword [rsp + 0x160]
mov rcx, rbp
call fcn.14004754c
jmp 0x140045b41
mov r8, qword [rsp + 0x78]
lea rdx, [0x1400e3e60]
mov rcx, rbp
call fcn.140017088
mov eax, dword [rsp + 0x150]
jmp 0x140045b43
xor r8d, r8d
lea edx, [r8 + 0x49]
mov dword [rsp + 0x20], r11d
mov r9d, ebx
mov rcx, r10
call fcn.140030238
mov eax, ebx
mov rbx, qword [rsp + 0x158]
add rsp, reloc.WLDAP32.dll_Ordinal_304
pop rdi
pop rsi
pop rbp
ret