Function at 0x10056574
Capabilities:
Inspect section memory permissions

Disassembly:
push 0xd8
mov eax, 0x101a52a7
call fcn.1017516e
mov dword [ebp - 0xd4], edx
mov edi, ecx
and dword [ebp - 0xc0], 0
lea edx, [ebp - 0xc0]
call fcn.100134ab
mov esi, dword [ebp - 0xc0]
mov ebx, eax
xor eax, eax
test ebx, ebx
cmovs esi, eax
mov dword [ebp - 0xc0], esi
test esi, esi
je 0x100565c8
mov esi, dword [esi]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push dword [ebp - 0xc0]
call dword [esi + 0x20]
xor eax, eax
push 0x2d
pop esi
cmp dword [edi + 0x38], eax
jne 0x100568d8
cmp dword [edi + 0x3c], eax
jne 0x100568d8
lea edx, [ebp - 0xc4]
mov dword [edi + 0x3c], 1
mov dword [ebp - 0xc4], eax
call fcn.100216e7
mov ebx, eax
test ebx, ebx
js 0x100568d8
mov dword [ebp - 0xa4], 0x3212
mov eax, dword [ebp - 0xa4]
xor eax, 0x7b
mov word [ebp - 0xa0], ax
mov eax, dword [ebp - 0xa4]
inc eax
push 0x35
pop ebx
xor eax, ebx
mov word [ebp - 0x9e], ax
mov eax, dword [ebp - 0xa4]
add eax, 2
xor eax, 0x44
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0xa4]
add eax, 3
xor eax, 0x42
mov word [ebp - 0x9a], ax
mov eax, dword [ebp - 0xa4]
add eax, 4
xor eax, 0x45
mov word [ebp - 0x98], ax
mov eax, dword [ebp - 0xa4]
add eax, 5
xor eax, 0x34
mov word [ebp - 0x96], ax
mov eax, dword [ebp - 0xa4]
add eax, 6
push 0x30
pop edx
xor eax, edx
mov word [ebp - 0x94], ax
mov eax, dword [ebp - 0xa4]
add eax, 7
push 0x31
pop ecx
xor eax, ecx
mov word [ebp - 0x92], ax
mov eax, dword [ebp - 0xa4]
add eax, 8
xor eax, ebx
mov word [ebp - 0x90], ax
mov eax, dword [ebp - 0xa4]
add eax, 9
xor eax, esi
mov word [ebp - 0x8e], ax
mov eax, dword [ebp - 0xa4]
add eax, 0xa
xor eax, ecx
mov word [ebp - 0x8c], ax
mov eax, dword [ebp - 0xa4]
add eax, 0xb
xor eax, ebx
mov word [ebp - 0x8a], ax
mov eax, dword [ebp - 0xa4]
add eax, 0xc
xor eax, ecx
mov word [ebp - 0x88], ax
mov eax, dword [ebp - 0xa4]
add eax, 0xd
xor eax, 0x38
mov word [ebp - 0x86], ax
mov eax, dword [ebp - 0xa4]
add eax, 0xe
xor eax, esi
mov word [ebp - 0x84], ax
mov eax, dword [ebp - 0xa4]
add eax, 0xf
xor eax, 0x34
mov word [ebp - 0x82], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x10
xor eax, 0x32
mov word [ebp - 0x80], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x11
xor eax, 0x65
mov word [ebp - 0x7e], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x12
xor eax, edx
mov word [ebp - 0x7c], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x13
xor eax, esi
mov word [ebp - 0x7a], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x14
xor eax, 0x39
mov word [ebp - 0x78], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x15
xor eax, ebx
mov word [ebp - 0x76], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x16
xor eax, 0x42
mov word [ebp - 0x74], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x17
xor eax, 0x44
mov word [ebp - 0x72], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x18
xor eax, esi
mov word [ebp - 0x70], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x19
xor eax, 0x32
mov word [ebp - 0x6e], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x1a
xor eax, 0x41
mov word [ebp - 0x6c], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x1b
xor eax, 0x36
mov word [ebp - 0x6a], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x1c
xor eax, 0x45
mov word [ebp - 0x68], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x1d
xor eax, 0x39
mov word [ebp - 0x66], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x1e
xor eax, 0x37
mov word [ebp - 0x64], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x1f
xor eax, edx
mov word [ebp - 0x62], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x20
xor eax, 0x46
mov word [ebp - 0x60], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x21
xor eax, ecx
mov word [ebp - 0x5e], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x22
xor eax, 0x44
mov word [ebp - 0x5c], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x23
xor eax, 0x37
mov word [ebp - 0x5a], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x24
xor eax, edx
mov word [ebp - 0x58], ax
mov eax, dword [ebp - 0xa4]
add eax, 0x25
xor eax, 0x7d
mov word [ebp - 0x56], ax
xor eax, eax
mov word [ebp - 0x54], ax
mov ax, word [ebp - 0xa0]
mov eax, dword [ebp - 0xc4]
mov esi, dword [eax]
lea ecx, [ebp - 0xa4]
lea eax, [ebp - 0xe4]
push eax
push 4
lea eax, [ebp - 0xcc]
push eax
call fcn.100576d1
push eax
push dword [ebp - 0xc4]
call dword [esi + 0x14]
mov ebx, eax
test ebx, ebx
js 0x100568d8
mov eax, dword [ebp - 0xcc]
mov dword [edi + 0x38], eax
cmp dword [edi + 0x38], 0
je 0x100568e7
push dword [edi + 0x38]
call dword [sym.imp.KERNEL32.dll_Sleep]
and dword [ebp - 0xc8], 0
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xd0], eax
lea ecx, [ebp - 0xdc]
lea eax, [ebp - 0xd0]
push eax
call fcn.1005787a
pop ecx
and dword [ebp - 4], 0
call fcn.10134910
mov esi, eax
test esi, esi
je 0x10056eb7
mov eax, dword [edi + 0x14]
cmp dword [eax + 0x14], 0x10
jb 0x1005692b
mov eax, dword [eax]
push eax
push 0x2712
push esi
call fcn.10139210
add esp, 0xc
test dword [ebp + 8], 0x10000000
je 0x10056950
push 1
push 0x2d
push esi
call fcn.10139210
add esp, 0xc
cmp dword [ebp + 8], 0
jge 0x10056bf2
mov dword [ebp - 0x50], 0x71
mov eax, dword [ebp - 0x50]
push 0x38
pop edx
xor eax, edx
mov byte [ebp - 0x4c], al
mov eax, dword [ebp - 0x50]
inc al
push 0x2e
pop ecx
xor eax, ecx
mov byte [ebp - 0x4b], al
mov eax, dword [ebp - 0x50]
add al, 2
xor eax, edx
mov byte [ebp - 0x4a], al
mov eax, dword [ebp - 0x50]
add al, 3
xor eax, ecx
mov byte [ebp - 0x49], al
mov eax, dword [ebp - 0x50]
add al, 4
xor eax, edx
mov byte [ebp - 0x48], al
mov eax, dword [ebp - 0x50]
add al, 5
xor eax, ecx
mov byte [ebp - 0x47], al
mov eax, dword [ebp - 0x50]
add al, 6
xor eax, edx
mov byte [ebp - 0x46], al
mov eax, dword [ebp - 0x50]
add al, 7
xor eax, 0x2c
mov byte [ebp - 0x45], al
mov eax, dword [ebp - 0x50]
add al, 8
push 0x31
pop ebx
xor eax, ebx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x50]
add al, 9
xor eax, ecx
mov byte [ebp - 0x43], al
mov eax, dword [ebp - 0x50]
add al, 0xa
xor eax, ebx
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x50]
add al, 0xb
xor eax, ecx
mov byte [ebp - 0x41], al
mov eax, dword [ebp - 0x50]
add al, 0xc
xor eax, ebx
mov byte [ebp - 0x40], al
mov eax, dword [ebp - 0x50]
add al, 0xd
xor eax, ecx
mov byte [ebp - 0x3f], al
mov eax, dword [ebp - 0x50]
add al, 0xe
xor eax, ebx
mov byte [ebp - 0x3e], al
mov eax, dword [ebp - 0x50]
add al, 0xf
xor eax, 0x2c
mov byte [ebp - 0x3d], al
mov eax, dword [ebp - 0x50]
add al, 0x10
push 0x39
pop edx
xor eax, edx
mov byte [ebp - 0x3c], al
mov eax, dword [ebp - 0x50]
add al, 0x11
xor eax, ecx
mov byte [ebp - 0x3b], al
mov eax, dword [ebp - 0x50]
add al, 0x12
xor eax, edx
mov byte [ebp - 0x3a], al
mov eax, dword [ebp - 0x50]
add al, 0x13
xor eax, ecx
mov byte [ebp - 0x39], al
mov eax, dword [ebp - 0x50]
add al, 0x14
xor eax, edx
mov byte [ebp - 0x38], al
mov eax, dword [ebp - 0x50]
add al, 0x15
xor eax, ecx
mov byte [ebp - 0x37], al
mov eax, dword [ebp - 0x50]
add al, 0x16
xor eax, edx
mov byte [ebp - 0x36], al
mov eax, dword [ebp - 0x50]
add al, 0x17
xor eax, 0x2c
mov byte [ebp - 0x35], al
mov eax, dword [ebp - 0x50]
add al, 0x18
xor eax, 0x36
mov byte [ebp - 0x34], al
mov eax, dword [ebp - 0x50]
add al, 0x19
push 0x34
pop edx
xor eax, edx
mov byte [ebp - 0x33], al
mov eax, dword [ebp - 0x50]
add al, 0x1a
xor eax, ecx
mov byte [ebp - 0x32], al
mov eax, dword [ebp - 0x50]
add al, 0x1b
xor eax, 0x36
mov byte [ebp - 0x31], al
mov eax, dword [ebp - 0x50]
add al, 0x1c
xor eax, ecx
mov byte [ebp - 0x30], al
mov eax, dword [ebp - 0x50]
add al, 0x1d
xor eax, 0x36
mov byte [ebp - 0x2f], al
mov eax, dword [ebp - 0x50]
add al, 0x1e
xor eax, edx
mov byte [ebp - 0x2e], al
mov eax, dword [ebp - 0x50]
add al, 0x1f
xor eax, ecx
mov byte [ebp - 0x2d], al
mov eax, dword [ebp - 0x50]
add al, 0x20
xor eax, 0x36
mov byte [ebp - 0x2c], al
mov eax, dword [ebp - 0x50]
add al, 0x21
xor eax, 0x2c
mov byte [ebp - 0x2b], al
mov eax, dword [ebp - 0x50]
add al, 0x22
xor eax, 0x38
mov byte [ebp - 0x2a], al
mov eax, dword [ebp - 0x50]
add al, 0x23
xor eax, ecx
mov byte [ebp - 0x29], al
mov eax, dword [ebp - 0x50]
add al, 0x24
xor eax, 0x38
mov byte [ebp - 0x28], al
mov eax, dword [ebp - 0x50]
add al, 0x25
xor eax, ecx
mov byte [ebp - 0x27], al
mov eax, dword [ebp - 0x50]
add al, 0x26
xor eax, edx
mov byte [ebp - 0x26], al
mov eax, dword [ebp - 0x50]
add al, 0x27
xor eax, ecx
mov byte [ebp - 0x25], al
mov eax, dword [ebp - 0x50]
add al, 0x28
xor eax, edx
mov byte [ebp - 0x24], al
mov eax, dword [ebp - 0x50]
add al, 0x29
xor eax, 0x2c
mov byte [ebp - 0x23], al
mov eax, dword [ebp - 0x50]
add al, 0x2a
xor eax, ebx
mov byte [ebp - 0x22], al
mov eax, dword [ebp - 0x50]
add al, 0x2b
xor eax, ecx
mov byte [ebp - 0x21], al
mov eax, dword [ebp - 0x50]
add al, 0x2c
xor eax, 0x30
mov byte [ebp - 0x20], al
mov eax, dword [ebp - 0x50]
add al, 0x2d
xor eax, ecx
mov byte [ebp - 0x1f], al
mov eax, dword [ebp - 0x50]
add al, cl
xor eax, 0x30
mov byte [ebp - 0x1e], al
mov eax, dword [ebp - 0x50]
add al, 0x2f
xor eax, ecx
mov byte [ebp - 0x1d], al
mov eax, dword [ebp - 0x50]
add al, 0x30
xor eax, ebx
mov byte [ebp - 0x1c], al
mov eax, dword [ebp - 0x50]
add al, bl
xor eax, 0x2c
mov byte [ebp - 0x1b], al
mov eax, dword [ebp - 0x50]
add al, 0x32
push 0x36
pop ebx
xor eax, ebx
mov byte [ebp - 0x1a], al
mov eax, dword [ebp - 0x50]
add al, 0x33
xor eax, edx
mov byte [ebp - 0x19], al
mov eax, dword [ebp - 0x50]
add al, dl
xor eax, ecx
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x50]
add al, 0x35
xor eax, ebx
mov byte [ebp - 0x17], al
mov eax, dword [ebp - 0x50]
add al, bl
xor eax, ecx
mov byte [ebp - 0x16], al
mov eax, dword [ebp - 0x50]
add al, 0x37
xor eax, ebx
mov byte [ebp - 0x15], al
mov eax, dword [ebp - 0x50]
add al, 0x38
xor eax, 0x35
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x50]
add al, 0x39
xor eax, ecx
mov byte [ebp - 0x13], al
lea ecx, [ebp - 0x50]
mov eax, dword [ebp - 0x50]
add al, 0x3a
xor eax, ebx
xor ebx, ebx
mov byte [ebp - 0x12], al
mov al, byte [ebp - 0x4c]
mov byte [ebp - 0x11], bl
call fcn.1005769a
push eax
push 0x27e3
push esi
call fcn.10139210
add esp, 0xc
jmp 0x10056cc2
test dword [ebp + 8], 0x8000000
je 0x10056cc0
cmp dword [edi + 0x88], 0
je 0x10056cc0
cmp dword [edi + 0x90], 0
je 0x10056cc0
xor eax, eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], 0xf
mov byte [ebp - 0xbc], al
mov byte [ebp - 4], 1
lea eax, [ebp - 0xbc]
push dword [edi + 0x90]
push dword [edi + 0x88]
push eax
call fcn.10055cc1
mov ebx, eax
test ebx, ebx
js 0x10056c8d
cmp dword [ebp - 0xa8], 0x10
lea eax, [ebp - 0xbc]
cmovae eax, dword [ebp - 0xbc]
xor ebx, ebx
push eax
push ebx
call fcn.10134b70
mov dword [ebp - 0xc8], eax
pop ecx
pop ecx
test eax, eax
jne 0x10056ca1
mov ebx, 0xe0010003
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xbc]
call fcn.10017221
jmp 0x10056ed3
push eax
push 0x27db
push esi
call fcn.10139210
add esp, 0xc
mov byte [ebp - 4], bl
lea ecx, [ebp - 0xbc]
call fcn.10017221
jmp 0x10056cc2
xor ebx, ebx
test dword [ebp + 8], 0x20000000
je 0x10056cda
push 1
push 0x2c
push esi
call fcn.10139210
add esp, 0xc
jmp 0x10056cfe
push 0x10055ed2
push 0x4e2b
push esi
call fcn.10139210
push dword [ebp - 0xd4]
push 0x2711
push esi
call fcn.10139210
add esp, 0x18
push 1
push 0x34
push esi
call fcn.10139210
add esp, 0xc
cmp dword [edi + 0x34], ebx
je 0x10056d3c
push ebx
push 0x2b
push esi
call fcn.10139210
push 0x10055ef9
push 0x4e58
push esi
call fcn.10139210
push dword [edi + 0x34]
push 0x2749
push esi
call fcn.10139210
add esp, 0x24
jmp 0x10056d49
push 1
push 0x2b
push esi
call fcn.10139210
add esp, 0xc
cmp dword [edi + 8], 0
je 0x10056d54
push dword [edi + 8]
jmp 0x10056d55
push ebx
push 0x2727
push esi
call fcn.10139210
mov eax, dword [edi + 0x2c]
add esp, 0xc
test eax, eax
je 0x10056d75
cmp dword [eax + 0x14], 0x10
jb 0x10056d72
mov eax, dword [eax]
push eax
jmp 0x10056d76
push ebx
push 0x2720
push esi
call fcn.10139210
mov eax, dword [edi + 0xc]
add esp, 0xc
test eax, eax
je 0x10056d96
cmp dword [eax + 0x14], 0x10
jb 0x10056d93
mov eax, dword [eax]
push eax
jmp 0x10056d97
push ebx
push 0x2722
push esi
call fcn.10139210
mov eax, dword [edi + 0x1c]
add esp, 0xc
test eax, eax
je 0x10056db7
cmp dword [eax + 0x14], 0x10
jb 0x10056db4
mov eax, dword [eax]
push eax
jmp 0x10056db8
push ebx
push 0x27bd
push esi
call fcn.10139210
mov eax, dword [edi + 0x24]
add esp, 0xc
test eax, eax
je 0x10056dd8
cmp dword [eax + 0x14], 0x10
jb 0x10056dd5
mov eax, dword [eax]
push eax
jmp 0x10056dd9
push ebx
push 0x27be
push esi
call fcn.10139210
add esp, 0xc
cmp dword [edi + 0x40], 0
je 0x10056dfe
push dword [edi + 0x40]
push 0x2728
push esi
call fcn.10139210
add esp, 0xc
push ebx
push 0x2751
push esi
call fcn.10139210
push ebx
push 0x2771
push esi
call fcn.10139210
add esp, 0x18
cmp dword [edi + 0x48], ebx
je 0x10056e5d
push 0x10056381
push 0x4e8c
push esi
call fcn.10139210
push dword [edi + 0x48]
push 0x277d
push esi
call fcn.10139210
push 0x10056391
push 0x4f57
push esi
call fcn.10139210
push edi
push 0x2848
push esi
call fcn.10139210
add esp, 0x30
jmp 0x10056e72
push ebx
push 0x40
push esi
call fcn.10139210
push ebx
push 0x51
push esi
call fcn.10139210
add esp, 0x18
push 0x3c
push 0xd
push esi
call fcn.10139210
push 0x78
push 0x4e
push esi
call fcn.10139210
add esp, 0x18
test dword [ebp + 8], 0x40000000
push esi
je 0x10056e9e
mov ecx, edi
call fcn.100563e4
mov ebx, eax
jmp 0x10056eb0
call fcn.10134950
mov ebx, eax
pop ecx
test ebx, ebx
je 0x10056eb0
or ebx, 0xe0028000
push esi
call fcn.101348f0
pop ecx
mov esi, dword [ebp - 0xc0]
test esi, esi
je 0x10056ed3
mov esi, dword [esi]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push dword [ebp - 0xc0]
call dword [esi + 0x24]
or dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0xdc], 0
jne 0x10056eeb
lea ecx, [ebp - 0xd8]
call fcn.10057a72
mov eax, ebx
call fcn.10175118
ret 4