Function at 0x5d82f4
Capabilities:
Check for peb beingdebugged flag

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x19
push 0
push 0
dec ecx
jne 0x5d82fd
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
test dl, dl
je 0x5d8316
add esp, 0xfffffff0
call fcn.0040405c
mov dword [ebp - 0xc], ecx
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5d8e0e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
mov dword [eax + 0x450], edx
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0046a3dc
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x450]
mov eax, dword [eax + 0x80]
call fcn.0042d090
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x68]
call fcn.0042d0a8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x450]
mov eax, dword [eax + 0x80]
call fcn.0042d1a8
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x68]
call fcn.0042d1b0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x450]
mov edx, dword [eax + 0x80]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x360]
call fcn.005e7870
lea edx, [ebp - 0x18]
mov eax, 0x993c
call fcn.00409f70
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
call fcn.00450394
lea edx, [ebp - 0x1c]
mov eax, 0x9933
call fcn.00409f70
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
call fcn.00450394
lea edx, [ebp - 0x20]
mov eax, 0x9934
call fcn.00409f70
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2fc]
call fcn.00450394
lea edx, [ebp - 0x24]
mov eax, 0x9935
call fcn.00409f70
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.00450394
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x30c]
lea edx, [ebp - 0x28]
mov eax, 0x993b
call fcn.00409f70
mov edx, dword [ebp - 0x28]
mov eax, ebx
call fcn.00450394
push ebp
lea edx, [ebp - 0x30]
mov eax, ebx
call fcn.00450364
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x2c]
call fcn.005e11ac
mov eax, dword [ebp - 0x2c]
call fcn.005d8100
pop ecx
mov edx, eax
add edx, 0x31
mov eax, ebx
call fcn.0044faf8
mov eax, dword [ebx + 0x30]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x31c]
sub edx, dword [eax + 0x48]
sub edx, dword [ebx + 0x48]
mov eax, ebx
call fcn.0044faac
mov eax, dword [ebp - 4]
call fcn.005d9ab4
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x5d6240]
call fcn.005d63e8
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x428], ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x450]
mov dword [ebx + 0x284], eax
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x39c]
call fcn.0044fd04
lea edx, [ebp - 0x40]
mov eax, ebx
call fcn.0044fd24
mov eax, dword [ebp - 4]
mov dword [ebx + 0x124], eax
mov dword [ebx + 0x120], 0x5d9034
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x39c]
mov edx, dword [eax + 0x30]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [ebx + 0x228]
mov edx, 0x5d8e40
call fcn.0042e154
mov edx, eax
add edx, 2
mov eax, ebx
call fcn.00442ef4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x39c]
call fcn.00456dd0
mov edx, eax
mov eax, ebx
call fcn.00456e50
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x39c]
call fcn.00403cf8
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x450]
cmp byte [ebx + 0x49], 0
jne 0x5d854e
mov eax, ebx
call fcn.005eac8c
test al, al
jne 0x5d855c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3a8]
call fcn.0045088c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x428]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.0043e504
lea edx, [ebp - 0x44]
mov eax, 0x9936
call fcn.00409f70
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00450394
lea edx, [ebp - 0x48]
mov eax, 0x9937
call fcn.00409f70
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x304]
call fcn.00450394
lea edx, [ebp - 0x4c]
mov eax, 0x9938
call fcn.00409f70
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x308]
call fcn.00450394
lea edx, [ebp - 0x50]
mov eax, 0x9939
call fcn.00409f70
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x300]
call fcn.00450394
lea edx, [ebp - 0x54]
mov eax, 0x993a
call fcn.00409f70
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3a8]
call fcn.00450394
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x5d6bc0]
call fcn.005d6d78
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x42c], ebx
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x330]
call fcn.0044fd04
lea edx, [ebp - 0x40]
mov eax, ebx
call fcn.0044fd24
mov eax, dword [ebp - 4]
mov dword [ebx + 0x124], eax
mov dword [ebx + 0x120], fcn.005da9ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x330]
mov edx, dword [eax + 0x30]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x330]
call fcn.00456dd0
mov edx, eax
mov eax, ebx
call fcn.00456e50
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x330]
call fcn.00403cf8
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x42c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0043e504
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x450]
cmp byte [eax + 0x49], 0
je 0x5d877f
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x5d7cbc]
call fcn.005d7df0
mov ebx, eax
lea edx, [ebp - 0x58]
mov eax, 0x99a8
call fcn.00409f70
mov edx, dword [ebp - 0x58]
mov eax, ebx
call fcn.00450394
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3a0]
call fcn.0044fd04
lea edx, [ebp - 0x40]
mov eax, ebx
call fcn.0044fd24
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x364]
mov eax, ebx
call fcn.005d7ea4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3a0]
mov edx, dword [eax + 0x30]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x5d7cbc]
call fcn.005d7df0
mov ebx, eax
lea edx, [ebp - 0x5c]
mov eax, 0x99a8
call fcn.00409f70
mov edx, dword [ebp - 0x5c]
mov eax, ebx
call fcn.00450394
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3a4]
call fcn.0044fd04
lea edx, [ebp - 0x40]
mov eax, ebx
call fcn.0044fd24
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x384]
mov eax, ebx
call fcn.005d7ea4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3a4]
mov edx, dword [eax + 0x30]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3a0]
call fcn.00403cf8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3a4]
call fcn.00403cf8
lea edx, [ebp - 0x60]
mov eax, 0x993d
call fcn.00409f70
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x334]
call fcn.00450394
lea edx, [ebp - 0x64]
mov eax, 0x993e
call fcn.00409f70
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.00450394
lea edx, [ebp - 0x68]
mov eax, 0x993f
call fcn.00409f70
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x358]
call fcn.00450394
lea edx, [ebp - 0x6c]
mov eax, 0x9922
call fcn.00409f70
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x368]
call fcn.00603248
lea edx, [ebp - 0x70]
mov eax, 0x992f
call fcn.00409f70
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x36c]
call fcn.00603248
lea edx, [ebp - 0x74]
mov eax, 0x9926
call fcn.00409f70
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x370]
call fcn.00603248
lea edx, [ebp - 0x78]
mov eax, 0x9929
call fcn.00409f70
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x394]
call fcn.00603248
lea edx, [ebp - 0x7c]
mov eax, 0x9927
call fcn.00409f70
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x374]
call fcn.00603248
lea edx, [ebp - 0x80]
mov eax, 0x9922
call fcn.00409f70
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x378]
call fcn.00603248
lea edx, [ebp - 0x84]
mov eax, 0x9927
call fcn.00409f70
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x37c]
call fcn.00603248
lea edx, [ebp - 0x88]
mov eax, 0x9928
call fcn.00409f70
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x380]
call fcn.00603248
lea edx, [ebp - 0x8c]
mov eax, 0x9930
call fcn.00409f70
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38c]
call fcn.00603248
lea edx, [ebp - 0x90]
mov eax, 0x9931
call fcn.00409f70
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x390]
call fcn.00603248
lea edx, [ebp - 0x94]
mov eax, 0x992d
call fcn.00409f70
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x388]
call fcn.00603248
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x450]
cmp byte [eax + 0x101], 0
jne 0x5d8a0b
lea edx, [ebp - 0x98]
mov eax, 0x99b1
call fcn.00409f70
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c0]
call fcn.00450394
lea edx, [ebp - 0x9c]
mov eax, 0x99b2
call fcn.00409f70
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3b8]
call fcn.00450394
lea edx, [ebp - 0xa0]
mov eax, 0x99b3
call fcn.00409f70
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3bc]
call fcn.00450394
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x3b4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3b0]
call fcn.005d8160
push ebp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3b4]
call fcn.005d81cc
pop ecx
jmp 0x5d8b8b
lea edx, [ebp - 0xa4]
mov eax, 0x99ac
call fcn.00409f70
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3e4]
call fcn.00450394
lea edx, [ebp - 0xa8]
mov eax, 0x99ad
call fcn.00409f70
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
call fcn.00450394
lea edx, [ebp - 0xac]
mov eax, 0x99ae
call fcn.00409f70
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3f0]
call fcn.00450394
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x3f4]
lea edx, [ebp - 0xb0]
mov eax, 0x99af
call fcn.00409f70
mov edx, dword [ebp - 0xb0]
mov eax, ebx
call fcn.00450394
push ebp
lea edx, [ebp - 0xb8]
mov eax, ebx
call fcn.00450364
mov eax, dword [ebp - 0xb8]
lea edx, [ebp - 0xb4]
call fcn.005e11ac
mov eax, dword [ebp - 0xb4]
call fcn.005d8100
pop ecx
mov edx, eax
add edx, 0x11
mov eax, ebx
call fcn.0044faf8
lea edx, [ebp - 0xbc]
mov eax, 0x99b0
call fcn.00409f70
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3e0]
call fcn.00450394
lea edx, [ebp - 0xc0]
mov eax, 0x99b1
call fcn.00409f70
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
call fcn.00450394
lea edx, [ebp - 0xc4]
mov eax, 0x99b2
call fcn.00409f70
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d0]
call fcn.00450394
lea edx, [ebp - 0xc8]
mov eax, 0x99b3
call fcn.00409f70
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d4]
call fcn.00450394
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x3cc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c8]
call fcn.005d8160
push ebp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3cc]
call fcn.005d81cc
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x450]
cmp byte [eax + 0x49], 0
jne 0x5d8baa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x33c]
xor edx, edx
call fcn.004c2398
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x450]
cmp byte [eax + 0x49], 0
jne 0x5d8bc9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3fc]
xor edx, edx
call fcn.004c2398
mov byte [ebp - 0xd], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov eax, dword [eax + 0x218]
call fcn.00420774
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x450]
mov eax, dword [eax + 0x38]
call fcn.0042027c
mov esi, eax
dec esi
test esi, esi
jl 0x5d8c9c
inc esi
xor ebx, ebx
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x450]
cmp byte [edi + 0x49], 0
jne 0x5d8c1f
mov eax, dword [edi + 0x38]
mov edx, ebx
call fcn.005f0f94
cmp byte [eax + 0x54], 0
jne 0x5d8c94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x450]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.005f0f94
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x450]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.005f0f94
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov eax, dword [eax + 0x218]
pop ecx
mov edi, dword [eax]
call dword [edi + 0x3c]
cmp byte [ebp - 0xd], 0
jne 0x5d8c94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x450]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.005f0f94
cmp byte [eax + 0x75], 0
je 0x5d8c94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, ebx
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov byte [ebp - 0xd], 1
inc ebx
dec esi
jne 0x5d8c00
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov eax, dword [eax + 0x218]
call fcn.00420830
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x32c]
mov eax, dword [eax + 0x218]
call fcn.00420774
xor eax, eax
push ebp
push 0x5d8d87
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x450]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x5d8d3a
inc esi
xor ebx, ebx
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x450]
cmp byte [edi + 0x49], 0
jne 0x5d8d09
mov eax, edi
mov edx, ebx
call fcn.005e7208
test al, al
je 0x5d8d36
lea ecx, [ebp - 0xcc]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x44]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x32c]
mov eax, dword [eax + 0x218]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x5d8ced
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x32c]
mov eax, dword [eax + 0x218]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x5d8d65
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x32c]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0xcc]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5d8d8e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x32c]
mov eax, dword [eax + 0x218]
call fcn.00420830
ret