Function at 0x462f40
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x45af55
mov eax, dword fs:[0]
push eax
sub esp, 0x508
push ebx
push esi
push edi
mov eax, dword [0x46f1b0]
xor eax, esp
push eax
lea eax, [esp + 0x518]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x10]
xor edi, edi
mov dword [eax], edi
mov edx, dword [0x471864]
mov eax, dword [edx + 0xc]
mov ecx, 0x471864
call eax
add eax, 0x10
mov dword [esp + 0x94], eax
mov dword [esp + 0x520], edi
mov edx, dword [0x471864]
mov eax, dword [edx + 0xc]
mov ecx, 0x471864
call eax
add eax, 0x10
mov dword [esp + 0x90], eax
push 2
push 0x45edac
push 0xe25
mov byte [esp + 0x52c], 1
call fcn.0047ecf9
add esp, 0xc
push eax
lea ecx, [esp + 0x84]
call fcn.0044f430
mov byte [esp + 0x520], 2
mov edx, dword [0x471864]
mov eax, dword [edx + 0xc]
mov ecx, 0x471864
call eax
add eax, 0x10
mov dword [esp + 0x30], eax
mov byte [esp + 0x520], 3
mov edx, dword [0x471864]
mov eax, dword [edx + 0xc]
mov ecx, 0x471864
call eax
add eax, 0x10
mov dword [esp + 0x34], eax
mov byte [esp + 0x520], 4
mov edx, dword [0x471864]
mov eax, dword [edx + 0xc]
mov ecx, 0x471864
call eax
add eax, 0x10
mov dword [esp + 0x3c], eax
push 2
push 0x45edac
push 0xe25
mov byte [esp + 0x52c], 5
call fcn.0047ecf9
add esp, 0xc
lea ecx, [esp + 0x80]
push ecx
lea ecx, [esp + 0x34]
mov esi, eax
call fcn.0044f980
mov edx, dword [esp + 0x30]
cmp dword [edx - 0xc], edi
jne 0x463094
cmp esi, edi
jne 0x46307a
xor eax, eax
jmp 0x463089
mov eax, esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x463080
sub eax, edx
push eax
push esi
lea ecx, [esp + 0x38]
call fcn.0044f760
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.00456ba0
add esp, 8
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x524], 6
call fcn.0044f980
mov byte [esp + 0x520], 5
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4630e3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x38], edi
mov byte [esp + 0x520], 8
mov eax, dword [esp + 0x80]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x463112
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [ebp + 8]
xor esi, esi
push 0x45eb60
lea ecx, [esp + 0x24]
mov dword [ebx + 0x88], esi
call fcn.0044f430
push esi
lea ecx, [esp + 0x24]
push ecx
lea edi, [esp + 0x38]
mov byte [esp + 0x528], 9
call fcn.0048085c
mov byte [ebx + 0x44], al
mov byte [esp + 0x520], 8
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x46316d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [ebx + 0x44], 0
je 0x463230
lea ecx, [esp + 0x34]
call fcn.0044f700
mov edi, dword [ebx + 0x30]
mov dword [esp + 0x38], esi
dec edi
mov dword [esp + 0x20], edi
test edi, edi
jl 0x463230
cmp edi, dword [ebx + 0x30]
jae 0x463226
mov ecx, dword [ebx + 0x2c]
mov edx, dword [ecx + edi*4]
lea eax, [ecx + edi*4]
lea eax, [esp + 0x30]
mov dword [esp + 0x18], edx
test eax, eax
je 0x463187
mov edx, dword [esp + 0x34]
mov esi, dword [edx - 0xc]
test esi, esi
jle 0x46320d
mov eax, dword [esp + 0x30]
cmp dword [eax - 0xc], 0
jl 0x463226
mov bl, byte [eax]
mov eax, dword [edx - 8]
mov ecx, 1
sub ecx, dword [edx - 4]
lea edi, [esi + 1]
sub eax, edi
or eax, ecx
jge 0x4631eb
push edi
lea ecx, [esp + 0x38]
call fcn.0044fbc0
mov edx, dword [esp + 0x34]
mov byte [esi + edx], bl
test edi, edi
jl 0x463226
mov eax, dword [esp + 0x34]
cmp edi, dword [eax - 8]
jg 0x463226
mov ebx, dword [ebp + 8]
mov dword [eax - 0xc], edi
mov ecx, dword [esp + 0x34]
mov byte [edi + ecx], 0
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x3c]
call fcn.0044f640
jmp 0x463187
push 0x80070057
call fcn.0044dc00
lea ecx, [esp + 0x30]
call fcn.004807b1
mov eax, dword [ebx + 0x48]
lea esi, [ebx + 0x48]
xor edi, edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x54], esi
cmp eax, edi
je 0x463258
push eax
call 0x48b860
add esp, 4
mov dword [esi], edi
push 2
push 0x45edac
push 0xe25
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x38], edi
call fcn.0047ecf9
add esp, 0xc
push eax
lea ecx, [esp + 0x8c]
call fcn.0044f430
push 1
push 0x45e8a0
push 0x1aeb
mov byte [esp + 0x52c], 0xa
call fcn.0047ecf9
add esp, 0xc
push eax
lea ecx, [esp + 0x80]
call fcn.0044f430
mov byte [esp + 0x520], 0xb
mov eax, dword [0x471864]
mov edx, dword [eax + 0xc]
mov ecx, 0x471864
call edx
add eax, 0x10
mov dword [esp + 0x60], eax
mov byte [esp + 0x520], 0xc
mov eax, dword [0x471864]
mov edx, dword [eax + 0xc]
mov ecx, 0x471864
call edx
add eax, 0x10
mov dword [esp + 0x64], eax
mov byte [esp + 0x520], 0xd
mov eax, dword [0x471864]
mov edx, dword [eax + 0xc]
mov ecx, 0x471864
call edx
add eax, 0x10
mov dword [esp + 0x6c], eax
push 2
push 0x45edac
push 0xe25
mov byte [esp + 0x52c], 0xe
call fcn.0047ecf9
mov esi, eax
add esp, 0xc
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x64]
call fcn.0044f980
mov ecx, dword [esp + 0x60]
cmp dword [ecx - 0xc], edi
jne 0x463364
cmp esi, edi
jne 0x46334a
xor eax, eax
jmp 0x463359
mov eax, esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x463350
sub eax, edx
push eax
push esi
lea ecx, [esp + 0x68]
call fcn.0044f760
lea edx, [esp + 0x60]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x84]
call fcn.00456ba0
add esp, 8
push eax
lea ecx, [esp + 0x68]
mov byte [esp + 0x524], 0xf
call fcn.0044f980
mov byte [esp + 0x520], 0xe
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4633b7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x68], edi
mov byte [esp + 0x520], 0x11
mov eax, dword [esp + 0x7c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4633e3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x520], 0x12
mov eax, dword [esp + 0x88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46340e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x38], 0
setge al
test al, al
je 0x46354c
mov edi, edi
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x38]
push ecx
push edx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.004569c0
mov byte [esp + 0x520], 0x13
mov eax, dword [eax]
mov esi, dword [esp + 0x3c]
lea ebx, [eax - 0x10]
add esi, 0xfffffff0
cmp ebx, esi
je 0x4634e6
cmp dword [esi + 0xc], 0
jl 0x4634d8
mov ecx, dword [ebx]
cmp ecx, dword [esi]
jne 0x4634d8
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [ebx + 0xc], 0
lea ecx, [ebx + 0xc]
jl 0x463482
cmp eax, dword [ebx]
jne 0x463482
mov edi, ebx
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x4634b6
mov ecx, dword [ebx + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x4636e6
mov eax, dword [ebx + 4]
mov dword [edi + 4], eax
mov eax, dword [ebx + 4]
inc eax
push eax
add ebx, 0x10
push ebx
push eax
lea ecx, [edi + 0x10]
push ecx
call 0x48be54
add esp, 0x10
lea eax, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x4634cf
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
add edi, 0x10
mov dword [esp + 0x3c], edi
jmp 0x4634e6
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.0044f760
mov byte [esp + 0x520], 0x12
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46350e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x4621d4
lea eax, [esp + 0x40]
call fcn.0046c130
mov ebx, eax
mov eax, 0x4621d4
call fcn.00474d10
mov ecx, dword [esp + 0x38]
test ecx, ecx
setg al
test al, al
je 0x46353f
mov edx, dword [esp + 0x3c]
cmp dword [edx - 0xc], 0
jg 0x463570
test ecx, ecx
setge al
test al, al
jne 0x463420
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4636f5
cmp byte [eax + 0x61], 0
jne 0x4636f5
mov edi, dword [ebp + 8]
inc dword [edi + 0x88]
jmp 0x4636f8
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x34]
call fcn.004809a4
mov esi, dword [ebp + 8]
lea ecx, [esp + 0x24]
push ecx
lea ebx, [esi + 0x2c]
mov byte [esp + 0x524], 0x14
call fcn.00467ed0
mov ebx, eax
test ebx, ebx
jne 0x4635b0
push esi
lea ecx, [esp + 0x28]
call fcn.004643f0
mov ebx, eax
test ebx, ebx
je 0x4636c5
mov eax, dword [esp + 0x54]
mov edi, dword [eax + 4]
cmp edi, dword [eax + 8]
jb 0x4635d0
mov esi, dword [esp + 0x54]
lea eax, [edi + 1]
call fcn.00462830
test al, al
je 0x4636eb
mov eax, dword [esp + 0x54]
mov edx, dword [eax]
lea edi, [edx + edi*4]
test edi, edi
je 0x4635df
mov dword [edi], ebx
mov esi, 1
add dword [eax + 4], esi
cmp byte [ebx + 0x61], 0
mov dword [esp + 0x20], ebx
je 0x4635fa
mov eax, dword [ebp + 8]
add dword [eax + 0x88], esi
push ebx
call fcn.00460090
test al, al
je 0x463655
cmp byte [ebx + 0x1c], 0
jne 0x46364b
mov eax, dword [ebx + 0x6c]
xor cl, cl
sub eax, esi
je 0x463635
sub eax, esi
jne 0x463646
lea eax, [ebx + 0x80]
push eax
call fcn.004809ff
lea ecx, [ebx + 0x70]
push ecx
mov edi, eax
call fcn.004809ff
cmp edi, eax
sete cl
jmp 0x463646
lea edx, [ebx + 0x80]
push edx
call fcn.004809ff
test eax, eax
setg cl
test cl, cl
sete al
test al, al
je 0x463655
add dword [esp + 0x2c], esi
jmp 0x4636c5
mov edx, dword [esp + 0x64]
mov esi, dword [edx - 0xc]
test esi, esi
jle 0x4636b5
mov edi, dword [esp + 0x60]
cmp dword [edi - 0xc], 0
jl 0x463226
mov al, byte [edi]
mov byte [esp + 0x17], al
mov eax, dword [edx - 8]
mov ecx, 1
sub ecx, dword [edx - 4]
lea edi, [esi + 1]
sub eax, edi
or eax, ecx
jge 0x463696
push edi
lea ecx, [esp + 0x68]
call fcn.0044fbc0
mov edx, dword [esp + 0x64]
mov cl, byte [esp + 0x17]
mov byte [esi + edx], cl
test edi, edi
jl 0x463226
cmp edi, dword [edx - 8]
jg 0x463226
mov dword [edx - 0xc], edi
mov byte [edi + edx], 0
mov ebx, dword [ebx]
mov eax, dword [ebx - 0xc]
push eax
push ebx
lea ecx, [esp + 0x6c]
call fcn.0044f640
mov byte [esp + 0x520], 0x12
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x463402
call fcn.0044fdc0
push 0x8007000e
call fcn.0044dc00
mov edi, dword [ebp + 8]
cmp dword [esp + 0x2c], 0
mov ebx, dword [edi + 0x4c]
mov byte [esp + 0x1f], 0
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], 0
jle 0x463ffb
push 5
push 0x45f834
push 0x2743
mov byte [esp + 0x23], 0
call fcn.0047ecf9
add esp, 0xc
push eax
lea ecx, [esp + 0x28]
call fcn.0044f430
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x1b]
mov byte [esp + 0x524], 0x15
call fcn.00475a91
mov esi, eax
mov byte [esp + 0x524], 0x12
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x46377d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [esp + 0x17], 0
je 0x463787
mov dword [edi + 0x40], esi
lea ecx, [esp + 0x9c]
push ecx
call fcn.0044fed0
lea eax, [esp + 0xdc]
lea edx, [esp + 0x9c]
push eax
mov byte [esp + 0x524], 0x16
mov dword [esp + 0x78], edx
call fcn.004506c0
mov byte [esp + 0x520], 0x17
mov dword [esp + 0x24], 0
test ebx, ebx
jbe 0x463e78
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x54]
cmp eax, dword [ecx + 4]
jae 0x463226
mov ecx, dword [ecx]
mov edi, dword [ecx + eax*4]
lea eax, [ecx + eax*4]
lea edx, [esp + 0x98]
push edx
mov dword [esp + 0x30], edi
call fcn.00476f22
add esp, 4
lea ecx, [edi + 0x64]
push eax
mov byte [esp + 0x524], 0x18
call fcn.0044f980
mov byte [esp + 0x520], 0x17
mov eax, dword [esp + 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x463839
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [edi + 0x68]
cmp dword [ecx - 0xc], 0
mov esi, dword [ecx - 0x10]
lea eax, [ecx - 0x10]
je 0x46388f
cmp dword [eax + 0xc], 0
lea edx, [eax + 0xc]
jge 0x46386a
cmp dword [ecx - 8], 0
jl 0x463226
mov dword [ecx - 0xc], 0
mov ecx, dword [edi + 0x68]
mov byte [ecx], 0
jmp 0x46388f
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x463880
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
add eax, 0x10
mov dword [edi + 0x68], eax
push edi
call fcn.00460090
test al, al
je 0x463dfb
mov esi, dword [esp + 0x2c]
cmp byte [esi + 0x1c], 0
jne 0x4638e7
mov eax, dword [esi + 0x6c]
xor cl, cl
sub eax, 1
je 0x4638d4
sub eax, 1
jne 0x4638e2
lea ecx, [esi + 0x80]
push ecx
call fcn.004809ff
add esi, 0x70
push esi
mov edi, eax
call fcn.004809ff
cmp edi, eax
sete cl
jmp 0x4638e2
sub esi, 0xffffff80
push esi
call fcn.004809ff
test eax, eax
setg cl
test cl, cl
sete al
test al, al
je 0x463dfb
push 0x11
push 0x460f98
push 0x2ad8
call fcn.0047ecf9
add esp, 0xc
push eax
lea ecx, [esp + 0x88]
call fcn.0044f430
mov byte [esp + 0x520], 0x19
mov edx, dword [0x4729fc]
test edx, edx
jne 0x463958
push 0x9c
call 0x48cc98
add esp, 4
mov dword [esp + 0x28], eax
mov byte [esp + 0x520], 0x1a
test eax, eax
je 0x463947
push eax
call fcn.004750ec
jmp 0x463949
xor eax, eax
mov byte [esp + 0x520], 0x19
mov dword [0x4729fc], eax
mov edx, eax
mov edi, dword [esp + 0x2c]
add edi, 0x20
push edi
lea ecx, [esp + 0x88]
call fcn.004757ac
mov byte [esp + 0x520], 0x17
mov eax, dword [esp + 0x84]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x463997
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [esp + 0x1f], 0
jne 0x4639ad
mov ecx, dword [ebp + 0x14]
push ecx
call dword [0x45c1a0]
mov byte [esp + 0x1f], 1
call fcn.00467cc0
cmp dword [esp + 0x20], 0
mov esi, eax
jne 0x463b48
test esi, esi
je 0x463b48
lea edx, [esp + 0x78]
push edx
mov dword [esp + 0x2c], 0
call fcn.0047678d
lea eax, [esp + 0x2c]
add esp, 4
push eax
lea eax, [esp + 0x7c]
call fcn.00480204
add esp, 4
test al, al
jne 0x4639f5
xor ebx, ebx
jmp 0x4639f9
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x463a19
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test ebx, ebx
je 0x463a78
lea ecx, [esp + 0x70]
push ecx
mov dword [esp + 0x2c], 0
call fcn.0047678d
lea edx, [esp + 0x2c]
add esp, 4
push edx
lea eax, [esp + 0x74]
call fcn.00480204
add esp, 4
test al, al
jne 0x463a4b
xor ebx, ebx
jmp 0x463a4f
mov bl, byte [esp + 0x28]
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x463a6f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, 0x10
je 0x463b48
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
lea ecx, [esp + 0xdc]
push eax
mov eax, ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x164], esi
call fcn.00450a20
lea ecx, [esp + 0x44]
push ecx
call fcn.00475faa
add esp, 4
push eax
lea ecx, [esp + 0xf4]
mov byte [esp + 0x524], 0x1b
call fcn.0044f980
mov eax, dword [esp + 0x144]
mov esi, dword [0x45c39c]
lea edx, [esp + 0xe0]
push edx
push 0x8005
push 0x8001
push eax
call esi
mov byte [esp + 0x520], 0x17
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x463b04
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x144]
lea ecx, [esp + 0xe0]
push ecx
push 0x8002
push 0x8001
push edx
mov byte [esp + 0xf0], 1
call esi
mov eax, dword [esp + 0x144]
test eax, eax
je 0x463b48
push eax
call dword [0x45c4a8]
mov eax, dword [esp + 0x144]
push eax
call dword [0x45c434]
push edi
lea ecx, [esp + 0xf4]
call fcn.0044f980
mov edx, dword [esp + 0x144]
lea ecx, [esp + 0xe0]
push ecx
push 0x8005
push 0x8001
push edx
call dword [0x45c39c]
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x2c]
push eax
push esi
call fcn.0045e820
inc dword [esp + 0x20]
test al, al
je 0x463cc2
lea ecx, [esp + 0x5c]
push ecx
call fcn.0047609e
add esp, 4
mov byte [esp + 0x520], 0x1c
mov edx, dword [esp + 0x5c]
cmp dword [edx - 0xc], 0
je 0x463bbf
push 2
push 0x45f064
lea ecx, [esp + 0x64]
call fcn.0044f640
lea eax, [esp + 0x4c]
push esi
push eax
lea ecx, [esp + 0x64]
call fcn.00456ba0
mov esi, eax
push 0xf
push 0x460fac
push 0x12ca
mov byte [esp + 0x534], 0x1d
call fcn.0047ecf9
add esp, 0x14
push eax
lea ecx, [esp + 0x90]
call fcn.0044f430
mov byte [esp + 0x520], 0x1e
mov edx, dword [0x4729fc]
test edx, edx
jne 0x463c41
push 0x9c
call 0x48cc98
add esp, 4
mov dword [esp + 0x28], eax
mov byte [esp + 0x520], 0x1f
test eax, eax
je 0x463c30
push eax
call fcn.004750ec
jmp 0x463c32
xor eax, eax
mov byte [esp + 0x520], 0x1e
mov dword [0x4729fc], eax
mov edx, eax
push esi
lea ecx, [esp + 0x90]
call fcn.004757ac
mov byte [esp + 0x520], 0x1d
mov eax, dword [esp + 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x463c79
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x520], 0x1c
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x463ca1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x520], 0x17
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x463def
lea ecx, [esp + 0x58]
push ecx
call fcn.004760ee
add esp, 4
mov byte [esp + 0x520], 0x20
mov edx, dword [esp + 0x58]
cmp dword [edx - 0xc], 0
je 0x463cf1
push 2
push 0x45f064
lea ecx, [esp + 0x60]
call fcn.0044f640
lea eax, [esp + 0x48]
push esi
push eax
lea ecx, [esp + 0x60]
call fcn.00456ba0
mov esi, eax
push 0x11
push 0x460fbc
push 0x2f2
mov byte [esp + 0x534], 0x21
call fcn.0047ecf9
add esp, 0x14
push eax
lea ecx, [esp + 0x54]
call fcn.0044f430
mov byte [esp + 0x520], 0x22
mov edx, dword [0x4729fc]
test edx, edx
jne 0x463d70
push 0x9c
call 0x48cc98
add esp, 4
mov dword [esp + 0x28], eax
mov byte [esp + 0x520], 0x23
test eax, eax
je 0x463d5f
push eax
call fcn.004750ec
jmp 0x463d61
xor eax, eax
mov byte [esp + 0x520], 0x22
mov dword [0x4729fc], eax
mov edx, eax
push esi
lea ecx, [esp + 0x54]
call fcn.004757ac
mov byte [esp + 0x520], 0x21
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x463da2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x520], 0x20
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x463dca
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp + 0x10]
mov byte [esp + 0x520], 0x17
mov eax, dword [esp + 0x58]
add eax, 0xfffffff0
mov dword [ecx], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x463dfb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x40]
push ecx
call fcn.00476f22
add esp, 4
mov esi, dword [esp + 0x2c]
push eax
lea ecx, [esi + 0x68]
mov byte [esp + 0x524], 0x24
call fcn.0044f980
mov byte [esp + 0x520], 0x17
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x463e45
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp + 8]
test byte [ecx + 0x40], 2
je 0x463e65
mov eax, dword [esp + 0x18]
dec eax
cmp dword [esp + 0x24], eax
je 0x463e5f
cmp byte [esi + 0x61], 0
je 0x463e65
push esi
call fcn.00465520
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x18]
jb 0x4637d0
push 1
push 0x45e8a0
push 0x1aeb
call fcn.0047ecf9
add esp, 0xc
push eax
lea ecx, [esp + 0x54]
call fcn.0044f430
push 0x11
push 0x460f98
push 0x2ad8
mov byte [esp + 0x52c], 0x25
call fcn.0047ecf9
add esp, 0xc
push eax
lea ecx, [esp + 0x1c]
call fcn.0044f430
mov bl, 0x26
mov byte [esp + 0x520], bl
mov eax, dword [0x4729fc]
test eax, eax
jne 0x463f01
push 0x9c
call 0x48cc98
add esp, 4
mov dword [esp + 0x40], eax
mov byte [esp + 0x520], 0x27
test eax, eax
je 0x463ef3
push eax
call fcn.004750ec
jmp 0x463ef5
xor eax, eax
mov byte [esp + 0x520], bl
mov dword [0x4729fc], eax
lea ecx, [esp + 0x50]
push ecx
lea ecx, [esp + 0x1c]
mov edx, eax
call fcn.004757ac
mov byte [esp + 0x520], 0x25
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x463f39
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x520], 0x17
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x463f61
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x174], 0
je 0x463f8f
mov ecx, dword [esp + 0x144]
push 0
push 0
push 2
push ecx
call dword [0x45c4d8]
mov edx, dword [esp + 0x174]
push 0xffffffffffffffff
push edx
call dword [fcn.0045c1a4]
lea ecx, [esp + 0xdc]
call fcn.004508c0
mov byte [esp + 0x520], 0x12
mov eax, dword [esp + 0xb0]
add eax, 0xfffffff0
mov dword [esp + 0x9c], 0x45e8a8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x463fd1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x463ff4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [esp + 0x1f], 0
jne 0x464005
mov ecx, dword [ebp + 0x14]
push ecx
call dword [0x45c1a0]
lea edx, [esp + 0x44]
push edx
call fcn.0047609e
add esp, 4
mov esi, eax
push 8
push 0x45f840
push 0x1300
mov byte [esp + 0x52c], 0x28
call fcn.0047ecf9
lea ecx, [esp + 0x58]
add esp, 0xc
push ecx
mov ecx, esi
mov edx, eax
call fcn.0045b180
add esp, 4
lea edx, [esp + 0x48]
push 0x45f83c
push edx
mov ecx, eax
mov byte [esp + 0x528], 0x29
call fcn.00456c60
mov esi, eax
lea eax, [esp + 0x48]
push eax
mov byte [esp + 0x52c], 0x2a
call fcn.0047678d
mov ecx, dword [eax]
mov eax, dword [esp + 0x4c]
add esp, 0xc
cmp dword [ecx - 0xc], 0
setne bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x46409a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x4640db
lea ecx, [esp + 0x18]
push 0x45ef3c
push ecx
mov ecx, esi
call fcn.00456c60
add esp, 8
lea eax, [esp + 0x18]
call 0x483452
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4640db
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x520], 0x29
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x464103
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x520], 0x28
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46412b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x520], 0x12
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x464153
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x44]
push ecx
call fcn.004760ee
add esp, 4
mov esi, eax
push 0xe
push 0x45f84c
push 0x24ca
mov byte [esp + 0x52c], 0x2b
call fcn.0047ecf9
lea edx, [esp + 0x58]
add esp, 0xc
push edx
mov ecx, esi
mov edx, eax
call fcn.0045b180
add esp, 4
lea ecx, [esp + 0x48]
push 0x45f83c
push ecx
mov ecx, eax
mov byte [esp + 0x528], 0x2c
call fcn.00456c60
mov esi, eax
lea edx, [esp + 0x48]
push edx
mov byte [esp + 0x52c], 0x2d
call fcn.0047678d
mov eax, dword [eax]
add esp, 0xc
cmp dword [eax - 0xc], 0
mov eax, dword [esp + 0x40]
setne bl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4641e8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x464229
lea ecx, [esp + 0x18]
push 0x45ef3c
push ecx
mov ecx, esi
call fcn.00456c60
add esp, 8
lea eax, [esp + 0x18]
call 0x483452
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x464229
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x520], 0x2c
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x464251
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x520], 0x2b
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x464279
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x520], 0x12
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4642a1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx], 0
mov byte [esp + 0x520], 8
mov eax, dword [esp + 0x6c]
sete bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4642d2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4642f2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x60]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x464312
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x520], 1
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46433a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46435a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46437a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x520], 0
mov eax, dword [esp + 0x90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4643a5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x520], 0xffffffff
mov eax, dword [esp + 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4643d3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov al, bl
mov ecx, dword [esp + 0x518]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10