Function at 0x45b660
Capabilities:
Inspect section memory permissions

Disassembly:
jmp 0x45b660
push 0xffffffffffffffff
push 0x77cf49
mov eax, dword fs:[0]
push eax
sub esp, 0x154
mov eax, dword [0x856918]
xor eax, esp
mov dword [esp + 0x150], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x856918]
xor eax, esp
push eax
lea eax, [esp + 0x168]
mov dword fs:[0], eax
mov eax, dword [esp + 0x178]
xor ebp, ebp
mov dword [esp + 0x1c], ebp
cmp byte [ecx + 0x539], 0
mov dword [esp + 0x18], ecx
mov dword [esp + 0x28], eax
jne 0x45b728
xor ebx, ebx
cmp dword [esp + 0x17c], ebp
jbe 0x45b728
lea edi, [ecx + 0x500]
lea ebx, [ebx]
mov ecx, dword [edi + 0xc]
cmp ecx, ebp
jne 0x45b6db
xor eax, eax
jmp 0x45b6e0
mov eax, dword [edi + 0x14]
sub eax, ecx
mov esi, dword [edi + 0x10]
mov edx, esi
sub edx, ecx
cmp edx, eax
jae 0x45b6fa
mov eax, dword [esp + 0x28]
mov cl, byte [eax + ebx]
mov byte [esi], cl
inc esi
mov dword [edi + 0x10], esi
jmp 0x45b71a
cmp ecx, esi
jbe 0x45b703
call fcn.00565471
mov edx, dword [esp + 0x28]
mov eax, dword [edi]
add edx, ebx
push edx
push esi
push eax
lea eax, [esp + 0x28]
push eax
mov ecx, edi
call fcn.004072b6
inc ebx
cmp ebx, dword [esp + 0x17c]
jb 0x45b6d0
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 0x4e8], 0
mov ebx, dword [esp + 0x18]
jne 0x45c914
mov edi, dword [esp + 0x17c]
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0xd4]
push ecx
push edi
lea esi, [ebx + 4]
push edx
mov ecx, esi
call fcn.00403ed6
test al, al
je 0x45c914
push esi
lea ecx, [ebx + 0x188]
mov byte [ebx + 0x4e8], 1
call fcn.00406c94
mov eax, dword [esp + 0xd4]
add dword [esp + 0x28], eax
sub edi, eax
mov ecx, esi
mov dword [esp + 0x17c], edi
call fcn.004016c2
cmp ax, 0x65
jne 0x45b80a
xor ebx, ebx
cmp edi, ebp
jbe 0x45b7f8
mov edi, dword [esp + 0x18]
add edi, 0x490
mov ecx, dword [edi + 0xc]
cmp ecx, ebp
jne 0x45b7af
xor eax, eax
jmp 0x45b7b4
mov eax, dword [edi + 0x14]
sub eax, ecx
mov esi, dword [edi + 0x10]
mov edx, esi
sub edx, ecx
cmp edx, eax
jae 0x45b7ce
mov eax, dword [esp + 0x28]
mov cl, byte [eax + ebx]
mov byte [esi], cl
inc esi
mov dword [edi + 0x10], esi
jmp 0x45b7ee
cmp ecx, esi
jbe 0x45b7d7
call fcn.00565471
mov edx, dword [esp + 0x28]
mov eax, dword [edi]
add edx, ebx
push edx
push esi
push eax
lea eax, [esp + 0x28]
push eax
mov ecx, edi
call fcn.004072b6
inc ebx
cmp ebx, dword [esp + 0x17c]
jb 0x45b7a4
mov ecx, dword [esp + 0x18]
mov byte [ecx + 0x540], 1
mov al, 1
jmp 0x45c9cc
mov edi, 0xf
mov dword [esp + 0x144], edi
mov dword [esp + 0x140], ebp
mov byte [esp + 0x130], 0
push 0x11
push 0x7b05f8
lea ecx, [esp + 0x50]
mov dword [esp + 0x178], ebp
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], ebp
mov byte [esp + 0x54], 0
call fcn.00405920
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x30]
push eax
mov ecx, esi
mov byte [esp + 0x178], 1
call fcn.004080e9
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x138]
mov byte [esp + 0x17c], 2
call fcn.00403fb2
mov ebx, 0x10
cmp dword [esp + 0x44], ebx
jb 0x45b892
mov ecx, dword [esp + 0x30]
push ecx
call fcn.00564155
add esp, 4
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], ebp
mov byte [esp + 0x30], 0
mov byte [esp + 0x170], 0
cmp dword [esp + 0x60], ebx
jb 0x45b8ba
mov edx, dword [esp + 0x4c]
push edx
call fcn.00564155
add esp, 4
mov ebx, 3
cmp dword [esp + 0x140], ebp
je 0x45b92f
cmp dword [esp + 0x144], 0x10
mov eax, dword [esp + 0x130]
jae 0x45b8e0
lea eax, [esp + 0x130]
push 0x7b060c
push eax
call fcn.00403ec7
add esp, 8
test eax, eax
je 0x45b92f
mov eax, dword [esp + 0x18]
push 0x7b0614
lea ecx, [esp + 0x68]
mov byte [eax + 0x4ea], 1
call fcn.004062df
lea ecx, [esp + 0x64]
push ecx
mov ecx, esi
mov byte [esp + 0x174], bl
call fcn.00403382
lea ecx, [esp + 0x64]
mov byte [esp + 0x170], 0
call fcn.00402ed7
push 0xa
push 0x7b0630
lea ecx, [esp + 0xc0]
mov dword [esp + 0xd8], edi
mov dword [esp + 0xd4], ebp
mov byte [esp + 0xc4], 0
call fcn.00405920
lea edx, [esp + 0xb8]
push edx
lea eax, [esp + 0x84]
push eax
mov ecx, esi
mov byte [esp + 0x178], 4
mov dword [esp + 0x24], 1
call fcn.004080e9
mov ecx, dword [eax + 0x14]
push 5
push 0x7b0628
push ecx
push ebp
mov ecx, eax
mov dword [esp + 0x180], 5
mov dword [esp + 0x2c], ebx
call fcn.00408076
test eax, eax
je 0x45ba01
push 0x7b0644
lea ecx, [esp + 0x4c]
call fcn.004062df
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x30]
mov ebx, 7
push eax
mov ecx, esi
mov dword [esp + 0x178], 6
mov dword [esp + 0x24], ebx
call fcn.004080e9
mov ecx, dword [eax + 0x14]
push 5
push 0x7b063c
push ecx
mov dword [esp + 0x17c], ebx
mov ebx, edi
push ebp
mov ecx, eax
mov dword [esp + 0x2c], ebx
call fcn.00408076
mov byte [esp + 0x17], 0
test eax, eax
jne 0x45ba06
mov byte [esp + 0x17], 1
test bl, 8
je 0x45ba2f
and ebx, 0xfffffff7
cmp dword [esp + 0x44], 0x10
jb 0x45ba22
mov edx, dword [esp + 0x30]
push edx
call fcn.00564155
add esp, 4
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], ebp
mov byte [esp + 0x30], 0
test bl, 4
je 0x45ba58
and ebx, 0xfffffffb
cmp dword [esp + 0x60], 0x10
jb 0x45ba4b
mov eax, dword [esp + 0x4c]
push eax
call fcn.00564155
add esp, 4
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], ebp
mov byte [esp + 0x4c], 0
test bl, 2
je 0x45ba90
and ebx, 0xfffffffd
cmp dword [esp + 0x98], 0x10
jb 0x45ba7a
mov ecx, dword [esp + 0x84]
push ecx
call fcn.00564155
add esp, 4
mov dword [esp + 0x98], edi
mov dword [esp + 0x94], ebp
mov byte [esp + 0x84], 0
mov dword [esp + 0x170], ebp
test bl, 1
je 0x45bab9
and ebx, 0xfffffffe
cmp dword [esp + 0xd0], 0x10
jb 0x45bab9
mov edx, dword [esp + 0xbc]
push edx
call fcn.00564155
add esp, 4
push 0xa
push 0x7b0664
lea ecx, [esp + 0x50]
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], ebp
mov byte [esp + 0x54], 0
call fcn.00405920
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x84]
push ecx
or ebx, 0x10
mov ecx, esi
mov byte [esp + 0x178], 8
mov dword [esp + 0x24], ebx
call fcn.004080e9
mov edx, dword [eax + 0x14]
push 0xa
push 0x7b0658
push edx
or ebx, 0x20
push ebp
mov ecx, eax
mov dword [esp + 0x180], 9
mov dword [esp + 0x2c], ebx
call fcn.00408076
test eax, eax
je 0x45bb8a
push 0x7b067c
lea ecx, [esp + 0xbc]
call fcn.004062df
lea eax, [esp + 0xb8]
push eax
lea ecx, [esp + 0x30]
push ecx
or ebx, 0x40
mov ecx, esi
mov dword [esp + 0x178], 0xa
mov dword [esp + 0x24], ebx
call fcn.004080e9
mov edx, dword [eax + 0x14]
push 0xa
push 0x7b0670
push edx
or ebx, 0x80
push ebp
mov ecx, eax
mov dword [esp + 0x180], 0xb
mov dword [esp + 0x2c], ebx
call fcn.00408076
mov byte [esp + 0x27], 0
test eax, eax
jne 0x45bb8f
mov byte [esp + 0x27], 1
test bl, bl
jns 0x45bbba
and ebx, 0xffffff7f
cmp dword [esp + 0x44], 0x10
jb 0x45bbad
mov eax, dword [esp + 0x30]
push eax
call fcn.00564155
add esp, 4
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], ebp
mov byte [esp + 0x30], 0
test bl, 0x40
je 0x45bbf2
and ebx, 0xffffffbf
cmp dword [esp + 0xd0], 0x10
jb 0x45bbdc
mov ecx, dword [esp + 0xbc]
push ecx
call fcn.00564155
add esp, 4
mov dword [esp + 0xd0], edi
mov dword [esp + 0xcc], ebp
mov byte [esp + 0xbc], 0
test bl, 0x20
je 0x45bc2a
and ebx, 0xffffffdf
cmp dword [esp + 0x98], 0x10
jb 0x45bc14
mov edx, dword [esp + 0x84]
push edx
call fcn.00564155
add esp, 4
mov dword [esp + 0x98], edi
mov dword [esp + 0x94], ebp
mov byte [esp + 0x84], 0
mov dword [esp + 0x170], ebp
test bl, 0x10
je 0x45bc4d
and ebx, 0xffffffef
cmp dword [esp + 0x60], 0x10
jb 0x45bc4d
mov eax, dword [esp + 0x4c]
push eax
call fcn.00564155
add esp, 4
cmp byte [esp + 0x27], 0
jne 0x45bc6b
cmp byte [esp + 0x17], 0
jne 0x45bc6b
mov ecx, esi
call fcn.00406d9d
test al, al
jne 0x45bc6b
mov byte [esp + 0x17], 1
push 0xe
push 0x7b0694
lea ecx, [esp + 0x34]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ebp
mov byte [esp + 0x38], 0
call fcn.00405920
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x68]
or ebx, 0x100
push edx
mov ecx, esi
mov byte [esp + 0x178], 0xc
mov dword [esp + 0x24], ebx
call fcn.004080e9
push eax
lea eax, [esp + 0xa0]
or ebx, 0x200
push eax
mov dword [esp + 0x178], 0xd
mov dword [esp + 0x24], ebx
call fcn.00401618
add esp, 8
mov ecx, dword [eax + 0x14]
push 1
push 0x7b0690
push ecx
or ebx, 0x400
push ebp
mov ecx, eax
mov dword [esp + 0x180], 0xe
mov dword [esp + 0x2c], ebx
call fcn.00408076
test eax, eax
je 0x45bd50
push 0x7b06a4
lea ecx, [esp + 0x84]
call fcn.004062df
lea edx, [esp + 0x80]
push edx
lea eax, [esp + 0xdc]
or ebx, 0x800
push eax
mov ecx, esi
mov dword [esp + 0x178], edi
mov dword [esp + 0x24], ebx
call fcn.004080e9
or ebx, 0x1000
mov dword [esp + 0x170], 0x10
mov dword [esp + 0x1c], ebx
cmp dword [eax + 0x14], ebp
jne 0x45bd5b
cmp byte [esp + 0x17], 0
je 0x45be8f
mov ecx, esi
call fcn.004016c2
mov ecx, 0x12f
cmp ax, cx
je 0x45bdb4
mov ecx, esi
call fcn.004016c2
mov edx, 0x12d
cmp ax, dx
je 0x45bdb4
mov ecx, esi
call fcn.004016c2
mov ecx, 0x12e
cmp ax, cx
je 0x45bdb4
mov ecx, esi
call fcn.004016c2
mov edx, 0xcc
cmp ax, dx
je 0x45bdb4
mov ecx, esi
call fcn.004016c2
mov ecx, 0x130
cmp ax, cx
jne 0x45bea1
push 0xe
push 0x7b06b8
lea ecx, [esp + 0x50]
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], ebp
mov byte [esp + 0x54], 0
call fcn.00405920
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0xf8]
or ebx, 0x2000
push eax
mov ecx, esi
mov dword [esp + 0x178], 0x11
mov dword [esp + 0x24], ebx
call fcn.004080e9
mov ecx, dword [eax + 0x14]
push 1
push 0x7b06b4
push ecx
or ebx, 0x4000
push ebp
mov ecx, eax
mov dword [esp + 0x180], 0x12
mov dword [esp + 0x2c], ebx
call fcn.00408076
test eax, eax
je 0x45be7d
push 0x7b06c8
lea ecx, [esp + 0xbc]
call fcn.004062df
lea edx, [esp + 0xb8]
push edx
lea eax, [esp + 0x114]
or ebx, 0x8000
push eax
mov ecx, esi
mov dword [esp + 0x178], 0x13
mov dword [esp + 0x24], ebx
call fcn.004080e9
or ebx, 0x10000
mov dword [esp + 0x170], 0x14
mov dword [esp + 0x1c], ebx
cmp dword [eax + 0x14], ebp
jne 0x45bea1
cmp byte [esp + 0x17], 0
je 0x45be8f
mov ecx, esi
call fcn.00406d9d
test al, al
je 0x45bea1
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 0x4ea], 0
mov byte [esp + 0x16], 1
je 0x45bea6
mov byte [esp + 0x16], 0
test ebx, 0x10000
je 0x45bee8
and ebx, 0xfffeffff
cmp dword [esp + 0x128], 0x10
mov dword [esp + 0x1c], ebx
jb 0x45bed2
mov edx, dword [esp + 0x114]
push edx
call fcn.00564155
add esp, 4
mov dword [esp + 0x128], edi
mov dword [esp + 0x124], ebp
mov byte [esp + 0x114], 0
test ebx, 0x8000
je 0x45bf2a
and ebx, 0xffff7fff
cmp dword [esp + 0xd0], 0x10
mov dword [esp + 0x1c], ebx
jb 0x45bf14
mov eax, dword [esp + 0xbc]
push eax
call fcn.00564155
add esp, 4
mov dword [esp + 0xd0], edi
mov dword [esp + 0xcc], ebp
mov byte [esp + 0xbc], 0
test ebx, 0x4000
je 0x45bf6c
and ebx, 0xffffbfff
cmp dword [esp + 0x10c], 0x10
mov dword [esp + 0x1c], ebx
jb 0x45bf56
mov ecx, dword [esp + 0xf8]
push ecx
call fcn.00564155
add esp, 4
mov dword [esp + 0x10c], edi
mov dword [esp + 0x108], ebp
mov byte [esp + 0xf8], 0
test ebx, 0x2000
je 0x45bf9f
and ebx, 0xffffdfff
cmp dword [esp + 0x60], 0x10
mov dword [esp + 0x1c], ebx
jb 0x45bf92
mov edx, dword [esp + 0x4c]
push edx
call fcn.00564155
add esp, 4
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], ebp
mov byte [esp + 0x4c], 0
test ebx, 0x1000
je 0x45bfe1
and ebx, 0xffffefff
cmp dword [esp + 0xf0], 0x10
mov dword [esp + 0x1c], ebx
jb 0x45bfcb
mov eax, dword [esp + 0xdc]
push eax
call fcn.00564155
add esp, 4
mov dword [esp + 0xf0], edi
mov dword [esp + 0xec], ebp
mov byte [esp + 0xdc], 0
test ebx, 0x800
je 0x45c023
and ebx, 0xfffff7ff
cmp dword [esp + 0x98], 0x10
mov dword [esp + 0x1c], ebx
jb 0x45c00d
mov ecx, dword [esp + 0x84]
push ecx
call fcn.00564155
add esp, 4
mov dword [esp + 0x98], edi
mov dword [esp + 0x94], ebp
mov byte [esp + 0x84], 0
test ebx, 0x400
je 0x45c065
and ebx, 0xfffffbff
cmp dword [esp + 0xb4], 0x10
mov dword [esp + 0x1c], ebx
jb 0x45c04f
mov edx, dword [esp + 0xa0]
push edx
call fcn.00564155
add esp, 4
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb0], ebp
mov byte [esp + 0xa0], 0
test ebx, 0x200
je 0x45c098
and ebx, 0xfffffdff
cmp dword [esp + 0x7c], 0x10
mov dword [esp + 0x1c], ebx
jb 0x45c08b
mov eax, dword [esp + 0x68]
push eax
call fcn.00564155
add esp, 4
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebp
mov byte [esp + 0x68], 0
mov dword [esp + 0x170], ebp
test ebx, 0x100
je 0x45c0c5
and ebx, 0xfffffeff
cmp dword [esp + 0x44], 0x10
mov dword [esp + 0x1c], ebx
jb 0x45c0c5
mov ecx, dword [esp + 0x30]
push ecx
call fcn.00564155
add esp, 4
cmp byte [esp + 0x16], 0
je 0x45c0d7
mov edx, dword [esp + 0x18]
mov byte [edx + 0x4ed], 1
cmp byte [esp + 0x17], 0
je 0x45c1a2
push 0x7b06d8
lea ecx, [esp + 0x114]
call fcn.004062df
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0xf8]
push ecx
or ebx, 0x20000
mov ecx, esi
mov byte [esp + 0x178], 0x15
mov dword [esp + 0x24], ebx
call fcn.004080e9
or ebx, 0x40000
mov dword [esp + 0x170], 0x16
mov dword [esp + 0x1c], ebx
cmp dword [eax + 0x14], ebp
je 0x45c279
push 0x7b06ec
lea ecx, [esp + 0x84]
call fcn.004062df
lea edx, [esp + 0x80]
push edx
lea eax, [esp + 0xdc]
or ebx, 0x80000
push eax
mov ecx, esi
mov dword [esp + 0x178], 0x17
mov dword [esp + 0x24], ebx
call fcn.004080e9
push 0x7b06e8
or ebx, 0x100000
push eax
mov dword [esp + 0x178], 0x18
mov dword [esp + 0x24], ebx
call fcn.00404cd7
add esp, 8
test al, al
jne 0x45c279
mov ecx, esi
call fcn.00406d9d
test al, al
jne 0x45c204
cmp byte [esp + 0x27], al
jne 0x45c204
push 0x7b06fc
lea ecx, [esp + 0x30]
call fcn.004062df
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0xa0]
or ebx, 0x200000
push edx
mov ecx, esi
mov dword [esp + 0x178], 0x19
mov dword [esp + 0x24], ebx
call fcn.004080e9
or ebx, 0x400000
mov dword [esp + 0x170], 0x1a
mov dword [esp + 0x1c], ebx
cmp dword [eax + 0x14], ebp
je 0x45c279
push 0xe
push 0x7b070c
lea ecx, [esp + 0x50]
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], ebp
mov byte [esp + 0x54], 0
call fcn.00405920
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x68]
push ecx
or ebx, 0x800000
mov ecx, esi
mov dword [esp + 0x178], 0x1b
mov dword [esp + 0x24], ebx
call fcn.004080e9
or ebx, 0x1000000
mov dword [esp + 0x170], 0x1c
mov dword [esp + 0x1c], ebx
cmp dword [eax + 0x14], ebp
jne 0x45c28b
mov ecx, esi
call fcn.00406d9d
test al, al
je 0x45c28b
mov edx, dword [esp + 0x18]
cmp byte [edx + 0x4ed], 0
jne 0x45c28b
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x4ea], 0
mov byte [esp + 0x16], 1
je 0x45c290
mov byte [esp + 0x16], 0
test ebx, 0x1000000
je 0x45c2bf
and ebx, 0xfeffffff
cmp dword [esp + 0x7c], 0x10
jb 0x45c2b2
mov ecx, dword [esp + 0x68]
push ecx
call fcn.00564155
add esp, 4
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebp
mov byte [esp + 0x68], 0
test ebx, 0x800000
je 0x45c2ee
and ebx, 0xff7fffff
cmp dword [esp + 0x60], 0x10
jb 0x45c2e1
mov edx, dword [esp + 0x4c]
push edx
call fcn.00564155
add esp, 4
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], ebp
mov byte [esp + 0x4c], 0
test ebx, 0x400000
je 0x45c32c
and ebx, 0xffbfffff
cmp dword [esp + 0xb4], 0x10
jb 0x45c316
mov eax, dword [esp + 0xa0]
push eax
call fcn.00564155
add esp, 4
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb0], ebp
mov byte [esp + 0xa0], 0
test ebx, 0x200000
je 0x45c35b
and ebx, 0xffdfffff
cmp dword [esp + 0x44], 0x10
jb 0x45c34e
mov ecx, dword [esp + 0x30]
push ecx
call fcn.00564155
add esp, 4
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], ebp
mov byte [esp + 0x30], 0
test ebx, 0x100000
je 0x45c399
and ebx, 0xffefffff
cmp dword [esp + 0xf0], 0x10
jb 0x45c383
mov edx, dword [esp + 0xdc]
push edx
call fcn.00564155
add esp, 4
mov dword [esp + 0xf0], edi
mov dword [esp + 0xec], ebp
mov byte [esp + 0xdc], 0
test ebx, 0x80000
je 0x45c3d7
and ebx, 0xfff7ffff
cmp dword [esp + 0x98], 0x10
jb 0x45c3c1
mov eax, dword [esp + 0x84]
push eax
call fcn.00564155
add esp, 4
mov dword [esp + 0x98], edi
mov dword [esp + 0x94], ebp
mov byte [esp + 0x84], 0
test ebx, 0x40000
je 0x45c415
and ebx, 0xfffbffff
cmp dword [esp + 0x10c], 0x10
jb 0x45c3ff
mov ecx, dword [esp + 0xf8]
push ecx
call fcn.00564155
add esp, 4
mov dword [esp + 0x10c], edi
mov dword [esp + 0x108], ebp
mov byte [esp + 0xf8], 0
mov dword [esp + 0x170], ebp
test ebx, 0x20000
je 0x45c444
and ebx, 0xfffdffff
cmp dword [esp + 0x128], 0x10
jb 0x45c444
mov edx, dword [esp + 0x114]
push edx
call fcn.00564155
add esp, 4
cmp byte [esp + 0x16], 0
je 0x45c456
mov eax, dword [esp + 0x18]
mov byte [eax + 0x4e9], 1
push 0x10
push 0x7b0724
lea ecx, [esp + 0x88]
mov dword [esp + 0xa0], edi
mov dword [esp + 0x9c], ebp
mov byte [esp + 0x8c], 0
call fcn.00405920
lea ecx, [esp + 0x80]
push ecx
lea edx, [esp + 0xa0]
or ebx, 0x2000000
push edx
mov ecx, esi
mov byte [esp + 0x178], 0x1d
mov dword [esp + 0x24], ebx
call fcn.004080e9
mov ecx, dword [eax + 0x14]
push 4
push 0x7b071c
push ecx
or ebx, 0x4000000
push ebp
mov ecx, eax
mov dword [esp + 0x180], 0x1e
mov dword [esp + 0x2c], ebx
call fcn.00408076
test eax, eax
je 0x45c539
push 0x7b0740
lea ecx, [esp + 0x30]
call fcn.004062df
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x68]
or ebx, 0x8000000
push eax
mov ecx, esi
mov dword [esp + 0x178], 0x1f
mov dword [esp + 0x24], ebx
call fcn.004080e9
mov ecx, dword [eax + 0x14]
push 7
push 0x7b0738
push ecx
or ebx, 0x10000000
push ebp
mov ecx, eax
mov dword [esp + 0x180], 0x20
mov dword [esp + 0x2c], ebx
call fcn.00408076
mov byte [esp + 0x16], 0
test eax, eax
jne 0x45c53e
mov byte [esp + 0x16], 1
test ebx, 0x10000000
je 0x45c56d
and ebx, 0xefffffff
cmp dword [esp + 0x7c], 0x10
jb 0x45c560
mov edx, dword [esp + 0x68]
push edx
call fcn.00564155
add esp, 4
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebp
mov byte [esp + 0x68], 0
test ebx, 0x8000000
je 0x45c59c
and ebx, 0xf7ffffff
cmp dword [esp + 0x44], 0x10
jb 0x45c58f
mov eax, dword [esp + 0x30]
push eax
call fcn.00564155
add esp, 4
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], ebp
mov byte [esp + 0x30], 0
test ebx, 0x4000000
je 0x45c5da
and ebx, 0xfbffffff
cmp dword [esp + 0xb4], 0x10
jb 0x45c5c4
mov ecx, dword [esp + 0xa0]
push ecx
call fcn.00564155
add esp, 4
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb0], ebp
mov byte [esp + 0xa0], 0
mov dword [esp + 0x170], ebp
test ebx, 0x2000000
je 0x45c609
and ebx, 0xfdffffff
cmp dword [esp + 0x98], 0x10
jb 0x45c609
mov edx, dword [esp + 0x84]
push edx
call fcn.00564155
add esp, 4
cmp byte [esp + 0x16], 0
je 0x45c72b
push 0x7b075c
lea ecx, [esp + 0xa0]
call fcn.004062df
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x68]
push ecx
mov ecx, esi
mov byte [esp + 0x178], 0x21
call fcn.004080e9
mov edx, dword [eax + 0x14]
push 4
push 0x7b0754
push edx
push ebp
mov ecx, eax
mov byte [esp + 0x180], 0x22
call fcn.00408076
test eax, eax
sete byte [esp + 0x16]
cmp dword [esp + 0x7c], 0x10
jb 0x45c677
mov eax, dword [esp + 0x68]
push eax
call fcn.00564155
add esp, 4
cmp dword [esp + 0xb4], 0x10
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebp
mov byte [esp + 0x68], 0
mov byte [esp + 0x170], 0
jb 0x45c6a6
mov ecx, dword [esp + 0xa0]
push ecx
call fcn.00564155
add esp, 4
cmp byte [esp + 0x16], 0
je 0x45c6ba
mov edx, dword [esp + 0x18]
mov byte [edx + 0x4eb], 1
jmp 0x45c6c5
mov eax, dword [esp + 0x18]
mov byte [eax + 0x4ec], 1
push 0x7b0770
lea ecx, [esp + 0x68]
call fcn.004062df
lea ecx, [esp + 0x64]
push ecx
mov ecx, esi
mov byte [esp + 0x174], 0x23
call fcn.00403382
lea ecx, [esp + 0x64]
mov byte [esp + 0x170], 0
call fcn.00402ed7
push 0x7b0784
lea ecx, [esp + 0x68]
call fcn.004062df
lea edx, [esp + 0x64]
push edx
mov ecx, esi
mov byte [esp + 0x174], 0x24
call fcn.00403382
lea ecx, [esp + 0x64]
mov byte [esp + 0x170], 0
call fcn.00402ed7
push 0x7b0798
lea ecx, [esp + 0x68]
call fcn.004062df
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0xa0]
push ecx
or ebx, 0x20000000
mov ecx, esi
mov byte [esp + 0x178], 0x25
mov dword [esp + 0x24], ebx
call fcn.004080e9
or ebx, 0x40000000
cmp dword [eax + 0x18], 0x10
mov dword [esp + 0x170], 0x26
mov dword [esp + 0x1c], ebx
jb 0x45c77f
mov eax, dword [eax + 4]
jmp 0x45c782
add eax, 4
push str.aolserver
push eax
call fcn.00403ec7
add esp, 8
test eax, eax
je 0x45c7ba
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x4ed], 0
je 0x45c7ba
cmp byte [eax + 0x4eb], 0
je 0x45c7ba
mov ecx, esi
call fcn.00406d9d
mov byte [esp + 0x16], 1
test al, al
je 0x45c7bf
mov byte [esp + 0x16], 0
test ebx, 0x40000000
je 0x45c7d9
lea ecx, [esp + 0x9c]
and ebx, 0xbfffffff
call fcn.00402ed7
mov dword [esp + 0x170], ebp
test ebx, 0x20000000
je 0x45c7f1
lea ecx, [esp + 0x64]
call fcn.00402ed7
cmp byte [esp + 0x16], 0
je 0x45c80a
mov eax, dword [esp + 0x18]
mov byte [eax + 0x518], 1
mov byte [eax + 0x4ed], 0
push 0x7b07a0
lea ecx, [esp + 0x30]
call fcn.004062df
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x14c]
push eax
mov ecx, esi
mov byte [esp + 0x178], 0x27
call fcn.004080e9
mov ebx, 0x10
cmp dword [esp + 0x44], ebx
jb 0x45c84c
mov ecx, dword [esp + 0x30]
push ecx
call fcn.00564155
add esp, 4
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], ebp
mov byte [esp + 0x30], 0
cmp dword [esp + 0x15c], ebp
je 0x45c8a7
mov esi, dword [esp + 0x18]
cmp byte [esi + 0x4ea], 0
jne 0x45c8a7
mov eax, dword [esp + 0x14c]
cmp dword [esp + 0x160], ebx
jae 0x45c886
lea eax, [esp + 0x14c]
push eax
call fcn.00567819
add esp, 4
cmp byte [esp + 0x17], 0
mov dword [esi + 0x4f8], eax
je 0x45c8a7
cmp eax, ebp
je 0x45c8a7
mov byte [esi + 0x4ef], 1
cmp dword [esp + 0x160], ebx
jb 0x45c8c0
mov edx, dword [esp + 0x14c]
push edx
call fcn.00564155
add esp, 4
mov dword [esp + 0x160], edi
mov dword [esp + 0x15c], ebp
mov byte [esp + 0x14c], 0
mov dword [esp + 0x170], 0xffffffff
cmp dword [esp + 0x144], ebx
jb 0x45c8fa
mov eax, dword [esp + 0x130]
push eax
call fcn.00564155
add esp, 4
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x144], edi
mov dword [esp + 0x140], ebp
mov byte [esp + 0x130], 0
cmp byte [ebx + 0x4e8], 0
je 0x45c9af
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x4ea], 0
je 0x45c962
xor esi, esi
cmp dword [esp + 0x17c], ebp
jbe 0x45c9af
mov ebp, dword [esp + 0x17c]
mov ebx, dword [esp + 0x28]
mov edi, eax
add edi, 0x4a8
lea esp, [esp]
lea ecx, [ebx + esi]
push ecx
mov ecx, edi
call fcn.004046fb
inc esi
cmp esi, ebp
jb 0x45c950
jmp 0x45c9af
cmp byte [eax + 0x539], 0
jne 0x45c9a2
xor esi, esi
cmp dword [esp + 0x17c], ebp
jbe 0x45c9af
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x17c]
mov edi, eax
add edi, 0x490
lea esp, [esp]
lea edx, [ebx + esi]
push edx
mov ecx, edi
call fcn.00402a6d
inc esi
cmp esi, ebp
jb 0x45c990
jmp 0x45c9af
mov ecx, dword [esp + 0x17c]
add dword [eax + 0x53c], ecx
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 0x4ed], 0
je 0x45c9c7
mov byte [ecx + 0x4f0], 1
mov al, 1
jmp 0x45c9cc
call fcn.00401a1e
mov ecx, dword [esp + 0x168]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x150]
xor ecx, esp
call fcn.00564b24
add esp, 0x160
ret 8