Function at 0x4d55b0
Capabilities:
Parse pe header

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov rax, rsp
sub rsp, 0x158
mov r11, qword [rcx]
mov qword [rax + 0x20], rbx
mov qword [rax - 8], rbp
mov rbp, qword [rcx + 0x10]
xor ebx, ebx
mov qword [rax - 0x10], rsi
test rbp, rbp
mov qword [rax - 0x18], rdi
mov r10d, r8d
mov rsi, rdx
mov qword [rsp + 0x70], rbp
mov dword [rsp + 0x160], r8d
mov rdi, rcx
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x60], r11
je 0x4d632b
test rdx, rdx
jne 0x4d5619
mov eax, 0x65
mov dword [rsp + 0x44], eax
jmp 0x4d5620
movzx eax, byte [rdx]
mov dword [rsp + 0x44], eax
add eax, 0xffffffed
cmp eax, 0x8c
ja case.0x4d5649.21
lea rdx, [0x00400000]
cdqe
movzx eax, byte [rdx + rax + 0xd6918]
mov ecx, dword [rdx + rax*4 + 0xd68b4]
add rcx, rdx
jmp rcx
mov rcx, qword [rsi + 0x38]
movsx rax, word [rsi + 0x32]
shl rax, 5
add rax, qword [rcx + 0x20]
cmp byte [rcx], bl
jne 0x4d5665
mov ebx, dword [rax + 0x14]
jmp 0x4d568b
cmp byte [rcx + 1], bl
je case.0x4d5649.154
mov r9d, dword [rax + 0x10]
mov dword [rsp + 0x20], r8d
mov r8d, dword [rcx + 8]
mov edx, gethostbyaddr
mov rcx, rbp
call fcn.00441bf0
mov ebx, dword [rsp + 0x160]
mov eax, ebx
mov rdi, qword [rsp + 0x140]
mov rsi, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x150]
mov rbx, qword [rsp + 0x178]
add rsp, 0x158
ret
mov r9d, dword [rsi + 0x2c]
test r9d, r9d
jns 0x4d56d1
mov eax, dword [rdi + 0x68]
test eax, eax
jle 0x4d56cd
movsx ebx, word [rsi + 0x30]
add ebx, eax
jmp 0x4d568b
mov r9d, dword [rdi + 0x6c]
movzx eax, byte [rsi + 0x36]
movsx r8d, word [rsi + 0x30]
mov rdx, qword [rsi + 0x40]
mov byte [rsp + 0x28], al
mov rcx, rdi
mov dword [rsp + 0x20], r10d
call fcn.00480610
mov ebx, eax
jmp 0x4d568b
mov r9d, r8d
mov rdx, rsi
mov rcx, rdi
xor r8d, r8d
call fcn.00466030
jmp 0x4d5684
mov rdx, qword [rsi + 8]
mov r9d, r8d
mov rcx, rbp
xor r8d, r8d
call fcn.004521e0
jmp 0x4d5684
mov rax, qword [rsi + 8]
mov r9d, r8d
xor r8d, r8d
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rax
lea edx, [r8 + 0x61]
mov rcx, rbp
mov dword [rsp + 0x20], ebx
call fcn.0044f620
jmp 0x4d5684
mov r9d, r8d
xor r8d, r8d
mov rcx, rbp
lea edx, [r8 + 0x1c]
call fcn.00441dd0
jmp 0x4d5684
mov rdx, qword [rsi + 8]
add rdx, 2
mov rax, rdx
jne 0x4d5770
mov eax, ebx
jmp 0x4d5782
cmp byte [rdx], bl
je 0x4d577b
inc rax
cmp byte [rax], bl
jne 0x4d5774
sub eax, edx
and eax, 0x3fffffff
mov rcx, qword [rbp]
lea ebx, [rax - 1]
mov r8d, ebx
call fcn.0043bf20
mov r9d, dword [rsp + 0x170]
mov rcx, rbp
mov r11, rax
mov eax, ebx
cdq
sub eax, edx
mov edx, 0xffffffff
mov dword [rsp + 0x30], edx
sar eax, 1
mov qword [rsp + 0x28], r11
mov edx, reloc.WLDAP32.dll_Ordinal_30
mov r8d, eax
mov dword [rsp + 0x20], 0
call fcn.0044f620
jmp 0x4d5684
movsx r8d, word [rsi + 0x30]
mov r9d, r10d
mov edx, Ordinal_33
mov rcx, rbp
call fcn.00441dd0
mov r11, qword [rsi + 8]
cmp byte [r11 + 1], bl
je 0x4d5684
movsx rcx, word [rsi + 0x30]
mov rax, qword [rdi + 0x208]
mov rdi, qword [rbp + 8]
test rdi, rdi
mov rax, qword [rax + rcx*8 - 8]
mov rcx, qword [rbp]
mov qword [rsp + 0x70], rax
je 0x4d5860
cmp byte [rcx + 0x50], bl
jne 0x4d5860
mov eax, dword [rbp + 0x3c]
dec eax
cdqe
lea rsi, [rax + rax*2]
movsx edx, byte [rdi + rsi*8 + 1]
mov r8, qword [rdi + rsi*8 + 0x10]
call fcn.00441fd0
mov rax, qword [rsp + 0x70]
mov qword [rdi + rsi*8 + 0x10], rbx
test rax, rax
jne 0x4d5850
mov qword [rdi + rsi*8 + 0x10], rbx
mov byte [rdi + rsi*8 + 1], bl
jmp 0x4d5684
mov qword [rdi + rsi*8 + 0x10], rax
mov byte [rdi + rsi*8 + 1], 0xfe
jmp 0x4d5684
mov r8, rax
mov edx, 0xfffffffe
call fcn.00441fd0
jmp 0x4d5684
mov ebx, dword [rsi + 0x2c]
jmp 0x4d568b
mov rdx, qword [rsi + 0x10]
mov rcx, rdi
call fcn.004d55b0
mov ebx, dword [rsp + 0x170]
cmp eax, ebx
mov dword [rsp + 0x160], eax
je 0x4d58b2
mov r9d, ebx
mov r8d, eax
mov edx, Ordinal_35
mov rcx, rbp
call fcn.00441dd0
mov dword [rsp + 0x160], ebx
mov rcx, qword [rsi + 8]
xor edx, edx
call fcn.00447700
mov r8d, ebx
mov edx, Ordinal_41
movsx r9d, al
mov rcx, rbp
call fcn.00441dd0
mov ebx, dword [rsp + 0x160]
mov r8d, 1
mov edx, ebx
mov rcx, rdi
call fcn.00431f30
jmp 0x4d568b
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x50]
mov rcx, rdi
call fcn.00459de0
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x40]
mov rcx, rdi
mov ebx, eax
call fcn.00459de0
mov edx, dword [rsp + 0x170]
mov r9d, dword [rsp + 0x44]
mov r8, qword [rsi + 0x18]
mov dword [rsp + 0x38], reloc.WLDAP32.dll_Ordinal_32
mov dword [rsp + 0x30], edx
mov rdx, qword [rsi + 0x10]
mov dword [rsp + 0x28], eax
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.00480220
mov ebx, dword [rsp + 0x160]
xor ebp, ebp
cmp dword [rsp + 0x50], 0
je 0x4d5993
movzx r8d, byte [rdi + 0x1f]
cmp r8b, 8
jae 0x4d5993
mov edx, ebp
lea rcx, [rdi + 0x88]
nop
nop
nop
mov eax, dword [rsp + 0x50]
cmp dword [rcx + 0xc], eax
je 0x4d68a0
inc edx
add rcx, 0x14
cmp edx, 0xa
jl 0x4d5970
movzx ecx, r8b
mov dword [rdi + rcx*4 + 0x24], eax
inc byte [rdi + 0x1f]
cmp dword [rsp + 0x40], 0
je 0x4d568b
movzx edx, byte [rdi + 0x1f]
cmp dl, 8
jae 0x4d568b
lea rcx, [rdi + 0x88]
mov eax, dword [rsp + 0x40]
cmp dword [rcx + 0xc], eax
je 0x4d68a9
inc ebp
add rcx, 0x14
cmp ebp, 0xa
jl 0x4d59b2
movzx ecx, dl
mov dword [rdi + rcx*4 + 0x24], eax
inc byte [rdi + 0x1f]
jmp 0x4d568b
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x50]
mov rcx, rdi
call fcn.00459de0
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x40]
mov rcx, rdi
mov ebx, eax
call fcn.00459de0
mov edx, dword [rsp + 0x170]
mov r8, qword [rsi + 0x18]
xor ebp, ebp
cmp dword [rsp + 0x44], 0x49
mov dword [rsp + 0x38], 0xa0
mov dword [rsp + 0x30], edx
mov rdx, qword [rsi + 0x10]
mov r9d, ebp
sete r9b
mov dword [rsp + 0x28], eax
mov rcx, rdi
add r9d, 0x4e
mov dword [rsp + 0x20], ebx
call fcn.00480220
mov ebx, dword [rsp + 0x160]
jmp 0x4d594a
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x50]
mov rcx, rdi
call fcn.00459de0
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x40]
mov rcx, rdi
mov ebx, eax
call fcn.00459de0
mov edx, dword [rsp + 0x170]
mov r9d, ebx
mov dword [rsp + 0x20], edx
mov edx, dword [rsp + 0x44]
mov r8d, eax
mov rcx, rbp
call fcn.00441bf0
mov ebx, dword [rsp + 0x160]
xor ebp, ebp
jmp 0x4d594a
mov rdx, qword [rsi + 0x10]
movzx eax, byte [rdx]
cmp al, 0x84
jne 0x4d5abf
mov r9d, r8d
mov rcx, rdi
mov r8d, 1
call fcn.00466030
mov ebx, dword [rsp + 0x170]
xor ebp, ebp
jmp 0x4d594a
cmp al, 0x85
jne 0x4d5ae6
mov rdx, qword [rdx + 8]
mov r9d, r8d
mov rcx, rbp
mov r8d, 1
call fcn.004521e0
mov ebx, dword [rsp + 0x170]
xor ebp, ebp
jmp 0x4d594a
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0xa0]
mov rcx, rdi
mov byte [rsp + 0xa0], 0x84
mov dword [rsp + 0xa4], 0x4400
mov dword [rsp + 0xa8], ebx
call fcn.00459de0
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x40]
mov rcx, rdi
mov ebx, eax
call fcn.00459de0
mov edx, dword [rsp + 0x170]
mov r9d, ebx
mov dword [rsp + 0x20], edx
mov edx, 0x5a
mov r8d, eax
mov rcx, rbp
call fcn.00441bf0
mov ebx, dword [rsp + 0x170]
xor ebp, ebp
jmp 0x4d594a
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x50]
mov rcx, rdi
call fcn.00459de0
mov ecx, dword [rsp + 0x170]
mov edx, dword [rsp + 0x44]
mov ebx, ecx
mov r9d, ecx
mov r8d, eax
mov rcx, rbp
call fcn.00441dd0
xor ebp, ebp
jmp 0x4d594a
mov edx, Ordinal_27
mov r9d, r8d
mov rcx, rbp
lea r8d, [rdx - 0x18]
call fcn.00441dd0
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x50]
mov rcx, rdi
call fcn.00459de0
mov edx, dword [rsp + 0x44]
mov rcx, rbp
mov r8d, eax
call fcn.00441d40
mov r9d, dword [rsp + 0x170]
xor r8d, r8d
lea edx, [r8 + 0x19]
mov rcx, rbp
mov ebx, eax
call fcn.00441dd0
mov edx, dword [rbp + 0x3c]
cmp edx, ebx
jbe 0x4d5be7
mov rax, qword [rbp + 8]
lea rcx, [rbx + rbx*2]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rbp + 0x3c]
mov rax, qword [rbp + 0x30]
mov ebx, dword [rsp + 0x160]
dec ecx
xor ebp, ebp
mov dword [rax + 0x64], ecx
jmp 0x4d594a
mov rdx, qword [rsi + 0x38]
test rdx, rdx
jne 0x4d5c22
mov r8, qword [rsi + 8]
lea rdx, str.misuse_of_aggregate:__s__
mov rcx, rdi
call fcn.00462100
jmp 0x4d5684
movsx rax, word [rsi + 0x32]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x30]
mov ebx, dword [rax + rcx*8 + 0x10]
jmp 0x4d568b
bt dword [rsi + 4], 0xe
mov rax, qword [r11 + 0x20]
mov dword [rsp + 0x44], ebx
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x78], rbx
movzx r8d, byte [rcx + 0x71]
jae 0x4d5c7d
mov qword [rsp + 0x68], rbx
mov ecx, ebx
mov dword [rsp + 0x40], ebx
mov rdx, qword [rsi + 8]
test rdx, rdx
mov qword [rsp + 0x80], rdx
mov rax, rdx
jne 0x4d5c93
mov eax, ebx
mov qword [rsp + 0x48], rax
jmp 0x4d5caa
mov rax, qword [rsi + 0x20]
test rax, rax
mov qword [rsp + 0x68], rax
je 0x4d5c5a
mov ecx, dword [rax]
mov dword [rsp + 0x40], ecx
jmp 0x4d5c60
cmp byte [rdx], bl
je 0x4d5c9e
inc rax
cmp byte [rax], bl
jne 0x4d5c97
sub eax, edx
and eax, 0x3fffffff
mov qword [rsp + 0x48], rax
mov r9d, ecx
mov byte [rsp + 0x28], bl
mov byte [rsp + 0x20], r8b
mov r8d, eax
mov rcx, r11
call fcn.00453400
test rax, rax
mov qword [rsp + 0x58], rax
je 0x4d604b
cmp qword [rax + 0x18], rbx
je 0x4d604b
movzx ecx, word [rax + 2]
bt cx, 9
jae 0x4d5dbc
mov rcx, rbp
call fcn.00441e70
mov rbx, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x170]
mov rdx, qword [rbx + 8]
mov rcx, rdi
mov dword [rsp + 0x48], eax
mov rdx, qword [rdx]
call fcn.004d69b0
mov r11d, dword [rsp + 0x40]
cmp r11d, 1
jle 0x4d5d8a
lea edx, [r11 - 1]
mov esi, Ordinal_41
mov qword [rsp + 0x60], rdx
nop
nop
mov r9d, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x170]
mov edx, Ordinal_79
mov rcx, rbp
call fcn.00441dd0
mov edx, dword [rsp + 0x170]
mov r8d, 1
mov rcx, rdi
call fcn.00431e00
inc dword [rdi + 0x70]
mov rdx, qword [rbx + 8]
mov rdx, qword [rsi + rdx]
mov r8d, dword [rsp + 0x170]
call fcn.004d69b0
mov rcx, rdi
call fcn.00431e60
add rsi, 0x28
dec qword [rsp + 0x60]
jne 0x4d5d30
mov rdx, qword [rbp + 0x30]
mov eax, 0xffffffff
sub eax, dword [rsp + 0x48]
js 0x4d5daf
mov r8, qword [rdx + 0x80]
test r8, r8
je 0x4d5daf
movsxd rcx, eax
mov eax, dword [rbp + 0x3c]
mov dword [r8 + rcx*4], eax
mov eax, dword [rbp + 0x3c]
dec eax
mov dword [rdx + 0x64], eax
jmp 0x4d5684
bt cx, 0xa
jae 0x4d5de4
mov rdx, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x170]
mov rcx, rdi
mov rdx, qword [rdx + 8]
mov rdx, qword [rdx]
call fcn.004d69b0
jmp 0x4d5684
mov ecx, dword [rsp + 0x40]
mov eax, 1
mov edx, ebx
test ecx, ecx
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], eax
jle 0x4d5e99
mov rbp, qword [rsp + 0x68]
mov rsi, rbx
cmp edx, 0x20
jge 0x4d5e40
mov rax, qword [rbp + 8]
mov edx, 1
mov rcx, qword [rsi + rax]
call fcn.00445cb0
test eax, eax
je 0x4d5e34
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x40]
mov edx, dword [rsp + 0x50]
or dword [rsp + 0x44], eax
jmp 0x4d5e40
mov ecx, dword [rsp + 0x40]
mov eax, dword [rsp + 0x48]
mov edx, dword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
test byte [r8 + 2], 0x20
je 0x4d5e74
cmp qword [rsp + 0x78], rbx
jne 0x4d5e74
mov rdx, qword [rbp + 8]
mov rcx, rdi
mov rdx, qword [rdx + rsi]
call fcn.00480040
mov ecx, dword [rsp + 0x40]
mov edx, dword [rsp + 0x50]
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x48]
inc edx
rol eax, 1
add rsi, 0x28
cmp edx, ecx
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x50], edx
jl 0x4d5e07
mov rsi, qword [rsp + 0x168]
mov rbp, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x4d5f38
cmp dword [rsp + 0x44], ebx
je 0x4d5ec0
mov eax, dword [rdi + 0x54]
lea r8d, [rax + 1]
add eax, ecx
mov dword [rsp + 0x48], r8d
mov dword [rdi + 0x54], eax
jmp 0x4d5ef3
mov r9d, dword [rdi + 0x44]
mov r8d, dword [rdi + 0x48]
cmp ecx, r9d
mov dword [rsp + 0x48], r8d
jg 0x4d5ee2
lea eax, [r8 + rcx]
sub r9d, ecx
mov dword [rdi + 0x48], eax
mov dword [rdi + 0x44], r9d
jmp 0x4d5ef3
mov eax, dword [rdi + 0x54]
lea r8d, [rax + 1]
add eax, ecx
mov dword [rsp + 0x48], r8d
mov dword [rdi + 0x54], eax
mov rcx, qword [rsp + 0x58]
test byte [rcx + 2], 0xc0
je 0x4d5f1b
mov rax, qword [rdx + 8]
mov r9, qword [rax]
movzx eax, byte [r9]
cmp al, 0x9a
je 0x4d5f11
cmp al, 0x9c
jne 0x4d5f1b
movzx eax, byte [rcx + 2]
and al, 0xc0
mov byte [r9 + 0x36], al
inc dword [rdi + 0x70]
mov r9b, 3
mov rcx, rdi
call fcn.00459f90
mov rcx, rdi
call fcn.00431e60
mov rdx, qword [rsp + 0x68]
jmp 0x4d5f3c
mov dword [rsp + 0x48], ebx
mov r11d, dword [rsp + 0x40]
cmp r11d, 2
jl 0x4d5f71
test byte [rsi + 4], 0x80
je 0x4d5f71
mov r9, qword [rdx + 8]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov r9, qword [r9 + 0x28]
mov r8d, r11d
mov esi, r11d
call fcn.004563c0
mov qword [rsp + 0x58], rax
jmp 0x4d5f9e
mov esi, dword [rsp + 0x40]
test esi, esi
jle 0x4d5f99
mov r9, qword [rdx + 8]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov r9, qword [r9]
mov r8d, esi
call fcn.004563c0
mov qword [rsp + 0x58], rax
jmp 0x4d5f9e
mov rax, qword [rsp + 0x58]
test byte [rax + 2], 0x20
je 0x4d5fdf
mov rax, qword [rsp + 0x78]
test rax, rax
jne 0x4d5fb7
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x10]
xor r9d, r9d
mov dword [rsp + 0x30], 0xfffffffc
mov qword [rsp + 0x28], rax
lea edx, [r9 + 0x24]
xor r8d, r8d
mov rcx, rbp
mov dword [rsp + 0x20], ebx
call fcn.0044f620
mov rax, qword [rsp + 0x58]
mov ebx, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
mov dword [rsp + 0x30], 0xfffffffb
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x170]
mov r9d, ebx
mov edx, 1
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.0044f620
mov r11, qword [rbp + 8]
test r11, r11
je 0x4d6026
movsxd rax, dword [rbp + 0x3c]
lea rcx, [rax + rax*2]
mov byte [r11 + rcx*8 - 0x15], sil
test esi, esi
je 0x4d5684
cmp dword [rsp + 0x44], 0
jne 0x4d5684
mov r8d, esi
mov edx, ebx
mov rcx, rdi
call fcn.00432230
jmp 0x4d5684
mov r9, qword [rsp + 0x80]
mov r8d, dword [rsp + 0x48]
lea rdx, str.unknown_function:__.s__
mov rcx, rdi
call fcn.00462100
jmp 0x4d5684
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.004cf450
mov ebx, eax
jmp 0x4d568b
mov rcx, rbp
call fcn.00441e70
mov rcx, rbp
mov ebx, eax
call fcn.00441e70
mov r9d, dword [rsp + 0x170]
xor r8d, r8d
mov rcx, rbp
mov dword [rsp + 0x48], eax
lea edx, [r8 + 0x1c]
call fcn.00441dd0
mov r9d, dword [rsp + 0x48]
mov r8d, ebx
mov rdx, rsi
mov rcx, rdi
call fcn.004d2770
mov edi, dword [rsp + 0x170]
mov edx, Ordinal_27
lea r8d, [rdx - 0x18]
mov r9d, edi
mov rcx, rbp
call fcn.00441dd0
mov r8, qword [rbp + 0x30]
mov esi, 0xffffffff
mov eax, esi
sub eax, ebx
js 0x4d6103
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x4d6103
movsxd rcx, eax
mov eax, dword [rbp + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rbp + 0x3c]
xor r9d, r9d
mov rcx, rbp
dec eax
lea edx, [r9 + 0x25]
mov dword [r8 + 0x64], eax
mov r8d, edi
call fcn.00441dd0
sub esi, dword [rsp + 0x48]
mov r11, qword [rbp + 0x30]
js 0x4d613d
mov rdx, qword [r11 + 0x80]
test rdx, rdx
je 0x4d613d
mov eax, dword [rbp + 0x3c]
movsxd rcx, esi
mov dword [rdx + rcx*4], eax
mov eax, dword [rbp + 0x3c]
dec eax
mov dword [r11 + 0x64], eax
jmp 0x4d5684
mov rbx, qword [rsi + 0x10]
mov rax, qword [rsi + 0x20]
lea r8, [rsp + 0x50]
mov rax, qword [rax + 8]
mov rdx, rbx
mov rcx, rdi
mov rsi, qword [rax]
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x70], rsi
call fcn.00459de0
lea r8, [rsp + 0x40]
mov rdx, rsi
mov rcx, rdi
mov dword [rsp + 0x48], eax
call fcn.00459de0
movzx ecx, byte [rdi + 0x1f]
test cl, cl
mov r11d, eax
jne 0x4d61a7
inc dword [rdi + 0x54]
mov ecx, dword [rdi + 0x54]
mov dword [rsp + 0x44], ecx
jmp 0x4d61b7
dec cl
movzx eax, cl
mov byte [rdi + 0x1f], al
mov ecx, dword [rdi + rax*4 + 0x24]
mov dword [rsp + 0x44], ecx
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x4d61c7
inc dword [rdi + 0x54]
mov esi, dword [rdi + 0x54]
jmp 0x4d61d3
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov esi, dword [rdi + rax*4 + 0x24]
mov eax, dword [rsp + 0x48]
mov r8, qword [rsp + 0x70]
mov dword [rsp + 0x38], reloc.WLDAP32.dll_Ordinal_32
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], r11d
mov r9d, 0x53
mov rdx, rbx
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.00480220
mov rbx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x40]
mov rbx, qword [rbx + 0x28]
mov rcx, rdi
call fcn.004321b0
lea r8, [rsp + 0x40]
mov rdx, rbx
call fcn.00459de0
mov rdx, qword [rsp + 0x60]
mov dword [rsp + 0x38], reloc.WLDAP32.dll_Ordinal_32
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x48]
mov r9d, 0x51
mov r8, rbx
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.00480220
mov eax, dword [rsp + 0x170]
mov ebx, dword [rsp + 0x44]
mov r9d, esi
mov edx, 0x48
mov rcx, rbp
mov r8d, ebx
mov dword [rsp + 0x20], eax
call fcn.00441bf0
mov edx, ebx
mov rcx, rdi
call fcn.004321b0
mov edx, esi
call fcn.004321b0
mov ebx, dword [rsp + 0x160]
xor ebp, ebp
jmp 0x4d594a
mov rdx, qword [rsi + 0x10]
mov rcx, rdi
call fcn.004d55b0
mov ebx, eax
jmp 0x4d568b
mov rbx, qword [rsi + 0x40]
movsx eax, word [rsi + 0x30]
mov r9d, r10d
movsx ecx, word [rbx + 0x42]
mov edx, 0x84
inc ecx
imul ecx, dword [rsi + 0x2c]
lea r8d, [rcx + rax + 1]
mov rcx, rbp
call fcn.00441dd0
movzx r11d, word [rsi + 0x30]
test r11w, r11w
js 0x4d5684
movsx rax, r11w
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
add rcx, rcx
cmp byte [rax + rcx*8 + 0x29], 0x45
jne 0x4d5684
mov r8d, dword [rsp + 0x170]
mov edx, Ordinal_41
mov rcx, rbp
call fcn.00441d40
jmp 0x4d5684
cmp qword [rdi + 0x1c8], rbx
jne 0x4d6332
lea rdx, str.RAISE___may_only_be_used_within_a_trigger_program
mov rcx, rdi
call fcn.00462100
xor eax, eax
jmp 0x4d568d
cmp byte [rsi + 1], 2
jne 0x4d634d
mov rax, qword [rdi + 0x1c0]
mov rcx, rdi
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
movzx eax, byte [rsi + 1]
cmp al, 4
jne 0x4d6380
mov rax, qword [rsi + 8]
mov r9d, 4
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rax
lea edx, [r9 + 0x14]
xor r8d, r8d
mov rcx, rbp
mov dword [rsp + 0x20], ebx
call fcn.0044f620
jmp 0x4d5684
mov r9, qword [rsi + 8]
movsx r8d, al
mov edx, CRuntimeClassCDockState::classCDockState
mov rcx, rdi
mov byte [rsp + 0x28], bl
mov byte [rsp + 0x20], bl
call fcn.0045b360
jmp 0x4d5684
mov rax, qword [rsi + 0x20]
mov r9, qword [rbp + 0x30]
mov qword [rsp + 0x60], rbx
mov rdx, qword [rax + 8]
mov ecx, dword [r9 + 0x78]
mov qword [rsp + 0x90], rax
mov eax, dword [rax]
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x70], r9
mov dword [rsp + 0x48], eax
lea eax, [rcx + 1]
mov dword [rsp + 0x44], ecx
mov dword [r9 + 0x78], eax
lea eax, [rcx - 1]
test ecx, eax
jne 0x4d640b
mov rdx, qword [r9 + 0x80]
lea eax, [rcx + rcx + 1]
mov rcx, qword [r9]
movsxd r8, eax
shl r8, 2
call fcn.0043b230
mov r9, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x44]
mov qword [r9 + 0x80], rax
mov rdx, qword [r9 + 0x80]
mov r8d, 0xffffffff
test rdx, rdx
je 0x4d6424
movsxd rax, ecx
mov dword [rdx + rax*4], r8d
mov eax, r8d
sub eax, ecx
mov rcx, qword [rsi + 0x10]
test rcx, rcx
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x70], rcx
je 0x4d64ee
mov rax, qword [rcx]
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0x50]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [rdx + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [rdx + 0x18], rax
mov rax, qword [rcx + 0x20]
mov qword [rdx + 0x20], rax
mov rax, qword [rcx + 0x28]
mov qword [rdx + 0x28], rax
mov rax, qword [rcx + 0x30]
mov qword [rdx + 0x30], rax
mov rax, qword [rcx + 0x38]
mov qword [rdx + 0x38], rax
mov rax, qword [rcx + 0x40]
mov qword [rdx + 0x40], rax
mov rdx, rcx
mov rcx, rdi
call fcn.00459de0
movzx ecx, byte [rsp + 0xa0]
btr dword [rsp + 0xa4], 0xc
mov dword [rsp + 0xcc], eax
lea rax, [rsp + 0xa0]
mov byte [rsp + 0xd6], cl
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x100], rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x60], rax
mov byte [rsp + 0xa0], 0x9f
mov byte [rsp + 0xf0], reloc.WLDAP32.dll_Ordinal_79
mov eax, dword [rsp + 0x48]
mov qword [rsp + 0x50], 0xa
dec eax
test eax, eax
jle 0x4d6796
lea edx, [rax - 1]
mov rax, qword [rsp + 0x78]
shr edx, 1
inc edx
mov qword [rsp + 0x80], rdx
nop
nop
inc dword [rdi + 0x70]
test rcx, rcx
je 0x4d6535
mov rax, qword [rax]
mov qword [rsp + 0x108], rax
jmp 0x4d653d
mov r10, qword [rax]
mov qword [rsp + 0x60], r10
mov rdx, qword [rbp + 0x30]
mov qword [rsp + 0x98], rdx
mov r8d, dword [rdx + 0x78]
mov dword [rsp + 0x40], r8d
lea eax, [r8 + 1]
mov dword [rdx + 0x78], eax
lea eax, [r8 - 1]
test r8d, eax
jne 0x4d6661
mov rcx, qword [rdx]
mov rdx, qword [rdx + 0x80]
lea eax, [r8 + r8 + 1]
movsxd r8, eax
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x68], rdx
shl r8, 2
cmp byte [rcx + 0x50], bl
mov rsi, rbx
mov qword [rsp + 0x88], r8
jne 0x4d6639
test rdx, rdx
jne 0x4d65af
mov rdx, r8
call fcn.0043b030
mov rsi, rax
jmp 0x4d6639
cmp rdx, qword [rcx + 0x168]
jb 0x4d660d
cmp rdx, qword [rcx + 0x170]
jae 0x4d660d
movzx eax, word [rcx + 0x148]
cmp r8, rax
ja 0x4d65d2
mov rsi, rdx
jmp 0x4d6639
mov rdx, r8
call fcn.0043b030
test rax, rax
mov rsi, rax
je 0x4d6639
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x68]
mov rcx, rsi
movzx r8d, word [rax + 0x148]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
call fcn.00425ea0
jmp 0x4d6639
call fcn.0049a550
test eax, eax
jne 0x4d6630
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x68]
call fcn.0043ac70
test rax, rax
mov rsi, rax
jne 0x4d6639
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x50], 1
test rsi, rsi
jne 0x4d664d
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
call fcn.00425ea0
mov rdx, qword [rsp + 0x98]
mov r8d, dword [rsp + 0x40]
mov qword [rdx + 0x80], rsi
mov rcx, qword [rdx + 0x80]
test rcx, rcx
je 0x4d667a
movsxd rax, r8d
mov edx, 0xffffffff
mov dword [rcx + rax*4], edx
jmp 0x4d667f
mov edx, 0xffffffff
mov eax, edx
mov rdx, qword [rsp + 0x60]
mov r9d, reloc.WS2_32.dll_recv
sub eax, r8d
mov rcx, rdi
mov r8d, eax
mov dword [rsp + 0x40], eax
call fcn.004d3740
mov rdx, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x170]
mov rdx, qword [rdx + 0x28]
mov rcx, rdi
call fcn.004d69b0
mov rax, qword [rbp + 0x30]
movsxd rsi, dword [rbp + 0x3c]
cmp dword [rax + 0x60], esi
jg 0x4d66d5
mov edx, 1
mov rcx, rbp
call fcn.00441a80
test eax, eax
jne 0x4d6701
mov rax, qword [rbp + 8]
inc dword [rbp + 0x3c]
mov edx, dword [rsp + 0x44]
lea rcx, [rsi + rsi*2]
mov byte [rax + rcx*8], reloc.WS2_32.dll_recv
mov byte [rax + rcx*8 + 3], bl
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
mov byte [rax + rcx*8 + 1], bl
dec dword [rdi + 0x70]
lea rcx, [rdi + 0x94]
mov r8d, 0xa
mov edx, dword [rcx]
test edx, edx
je 0x4d673b
mov eax, dword [rdi + 0x70]
cmp dword [rcx - 4], eax
jle 0x4d673b
cmp byte [rcx - 6], bl
je 0x4d6739
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x4d6736
movzx eax, al
mov dword [rdi + rax*4 + 0x24], edx
inc byte [rdi + 0x1f]
mov byte [rcx - 6], bl
mov dword [rcx], ebx
add rcx, 0x14
dec r8
jne 0x4d6711
mov r8, qword [rbp + 0x30]
mov esi, 0xffffffff
mov eax, esi
sub eax, dword [rsp + 0x40]
js 0x4d676a
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x4d676a
movsxd rcx, eax
mov eax, dword [rbp + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rbp + 0x3c]
mov rcx, qword [rsp + 0x70]
dec eax
mov dword [r8 + 0x64], eax
mov rax, qword [rsp + 0x78]
add rax, 0x50
dec qword [rsp + 0x80]
mov qword [rsp + 0x78], rax
jne 0x4d6520
jmp 0x4d679b
mov esi, 0xffffffff
movsxd rax, dword [rsp + 0x48]
test al, 1
je 0x4d6826
inc dword [rdi + 0x70]
mov rdx, qword [rsp + 0x90]
mov r8d, dword [rsp + 0x170]
mov rdx, qword [rdx + 8]
lea rcx, [rax + rax*4]
mov rdx, qword [rdx + rcx*8 - 0x28]
mov rcx, rdi
call fcn.004d69b0
dec dword [rdi + 0x70]
lea rcx, [rdi + 0x94]
mov eax, 0xa
nop
mov edx, dword [rcx]
test edx, edx
je 0x4d6816
mov eax, dword [rdi + 0x70]
cmp dword [rcx - 4], eax
jle 0x4d6811
cmp byte [rcx - 6], bl
je 0x4d6808
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x4d6805
movzx eax, al
mov dword [rdi + rax*4 + 0x24], edx
inc byte [rdi + 0x1f]
mov byte [rcx - 6], bl
mov rax, qword [rsp + 0x50]
mov dword [rcx], ebx
jmp 0x4d6816
mov rax, qword [rsp + 0x50]
add rcx, 0x14
dec rax
mov qword [rsp + 0x50], rax
jne 0x4d67e0
jmp 0x4d6873
mov rax, qword [rbp + 0x30]
movsxd rdi, dword [rbp + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x4d6844
mov edx, 1
mov rcx, rbp
call fcn.00441a80
test eax, eax
jne 0x4d6873
mov rax, qword [rbp + 8]
inc dword [rbp + 0x3c]
mov edx, dword [rsp + 0x170]
lea rcx, [rdi + rdi*2]
mov byte [rax + rcx*8], Ordinal_30
mov byte [rax + rcx*8 + 3], bl
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
mov byte [rax + rcx*8 + 1], bl
sub esi, dword [rsp + 0x44]
mov r8, qword [rbp + 0x30]
js 0x4d6892
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x4d6892
mov eax, dword [rbp + 0x3c]
movsxd rcx, esi
mov dword [rdx + rcx*4], eax
mov eax, dword [rbp + 0x3c]
dec eax
mov dword [r8 + 0x64], eax
jmp 0x4d5684
mov byte [rcx + 6], 1
jmp 0x4d5993
mov byte [rcx + 6], 1
jmp 0x4d568b