Function at 0x10036570
Capabilities:
Check mutex on windows
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100bd4b6
mov eax, dword fs:[0]
push eax
sub esp, 0x3f8
mov eax, dword [0x100e70dc]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x130], ecx
mov edi, dword [ebp + 8]
mov eax, dword [0x1000003c]
mov esi, dword [eax + 0x10000008]
push 0
call fcn.100981f2
add esp, 4
sub eax, esi
sbb edx, 0
test edx, edx
jg 0x100365d9
jl 0x10036a1e
cmp eax, 0x3f480
jb 0x10036a1e
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x30], 0
mov dword [ebp - 4], 0
push 0xf
push 0x100da390
lea ecx, [ebp - 0x14c]
call fcn.10035a20
mov byte [ebp - 4], 1
cmp dword [eax + 0x14], 0x10
jb 0x1003661e
mov eax, dword [eax]
push eax
push edi
lea eax, [ebp - 0x12c]
push eax
call fcn.1001fe20
add esp, 0xc
mov byte [ebp - 4], 2
lea edx, [ebp - 0x30]
mov ecx, eax
call fcn.1003a140
test al, al
sete byte [ebp - 0x15]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x118]
cmp eax, 0x10
jb 0x10036665
inc eax
push eax
push dword [ebp - 0x12c]
lea ecx, [ebp - 0x12c]
call fcn.10003a90
mov dword [ebp - 0x118], 0xf
mov dword [ebp - 0x11c], 0
mov byte [ebp - 0x12c], 0
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x138]
cmp eax, 0x10
jb 0x100366a2
inc eax
push eax
push dword [ebp - 0x14c]
lea ecx, [ebp - 0x14c]
call fcn.10003a90
mov dword [ebp - 0x138], 0xf
mov dword [ebp - 0x13c], 0
mov byte [ebp - 0x14c], 0
mov byte [ebp - 4], 0
cmp byte [ebp - 0x15], 0
je 0x100366fa
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
cmp eax, 0x10
jb 0x100366e3
inc eax
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0x30]
call fcn.10003a90
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x30], 0
jmp 0x10036a1e
push 8
push 0x100da424
lea ecx, [ebp - 0x12c]
call fcn.10035a20
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], 0x10
jb 0x10036718
mov eax, dword [eax]
push 0
push eax
lea ecx, [ebp - 0x30]
call fcn.10016450
mov dword [ebp - 0x134], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x118]
cmp ecx, 0x10
jb 0x1003674b
inc ecx
push ecx
push dword [ebp - 0x12c]
lea ecx, [ebp - 0x12c]
call fcn.10003a90
mov dword [ebp - 0x118], 0xf
mov dword [ebp - 0x11c], 0
mov byte [ebp - 0x12c], 0
mov byte [ebp - 4], 0
push 6
push 0x100da430
lea ecx, [ebp - 0x12c]
call fcn.10035a20
mov byte [ebp - 4], 6
cmp dword [eax + 0x14], 0x10
jb 0x10036788
mov eax, dword [eax]
push 0
push eax
lea ecx, [ebp - 0x30]
call fcn.10016450
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x118]
cmp ecx, 0x10
jb 0x100367b8
inc ecx
push ecx
push dword [ebp - 0x12c]
lea ecx, [ebp - 0x12c]
call fcn.10003a90
mov dword [ebp - 0x118], 0xf
mov dword [ebp - 0x11c], 0
mov byte [ebp - 0x12c], 0
mov byte [ebp - 4], 0
push 6
push 0x100da3e0
lea ecx, [ebp - 0x12c]
call fcn.10035a20
mov byte [ebp - 4], 8
cmp dword [eax + 0x14], 0x10
jb 0x100367f5
mov eax, dword [eax]
push 0
push eax
lea ecx, [ebp - 0x30]
call fcn.10016450
mov edi, eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x118]
cmp ecx, 0x10
jb 0x10036824
inc ecx
push ecx
push dword [ebp - 0x12c]
lea ecx, [ebp - 0x12c]
call fcn.10003a90
mov dword [ebp - 0x118], 0xf
mov dword [ebp - 0x11c], 0
mov byte [ebp - 0x12c], 0
mov byte [ebp - 4], 0
push 3
push 0x100da3e8
lea ecx, [ebp - 0x12c]
call fcn.10035a20
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x14], 0x10
jb 0x10036861
mov eax, dword [eax]
push 0
push eax
lea ecx, [ebp - 0x30]
call fcn.10016450
mov esi, eax
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x118]
cmp ecx, 0x10
jb 0x10036890
inc ecx
push ecx
push dword [ebp - 0x12c]
lea ecx, [ebp - 0x12c]
call fcn.10003a90
mov dword [ebp - 0x118], 0xf
mov dword [ebp - 0x11c], 0
mov byte [ebp - 0x12c], 0
mov byte [ebp - 4], 0
cmp dword [ebp - 0x134], 0xffffffff
jne 0x100368e5
cmp dword [ebp - 0x18], 0xffffffff
jne 0x100368e5
cmp edi, 0xffffffff
jne 0x100368e5
cmp esi, edi
jne 0x100368e5
lea esi, [ebp - 0x30]
cmp dword [ebp - 0x1c], 0x10
cmovae esi, dword [ebp - 0x30]
lea ecx, [ebp - 0x30]
call fcn.1000ac60
push eax
push esi
call fcn.1003a2c0
mov byte [ebp - 4], 0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x18]
call fcn.100790ef
mov byte [ebp - 4], 0xe
push 0x70
push 0
lea eax, [ebp - 0x110]
push eax
call fcn.100953e0
add esp, 0xc
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x110]
call fcn.100790f7
mov byte [ebp - 4], 0x10
xorps xmm0, xmm0
movups xmmword [ebp - 0x50], xmm0
mov byte [ebp - 4], 0xf
push 0
lea ecx, [ebp - 0x50]
call fcn.1007aeb9
mov byte [ebp - 4], 0x11
push 1
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x110]
call fcn.10079e5f
test al, al
je 0x100369f4
mov byte [ebp - 4], 0x12
xorps xmm0, xmm0
movups xmmword [ebp - 0x60], xmm0
mov byte [ebp - 4], 0x11
push 8
push 0x100da424
lea ecx, [ebp - 0x194]
call fcn.10035a20
mov byte [ebp - 4], 0x13
cmp dword [eax + 0x14], 0x10
jb 0x10036982
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x50]
call fcn.1007b18b
push eax
lea ecx, [ebp - 0x60]
call fcn.1007ad82
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x194]
call fcn.10003b80
xor edi, edi
mov dword [ebp - 0x134], edi
lea ecx, [ebp - 0x60]
call fcn.1007b9bb
test eax, eax
je 0x10036a3e
push str.Global21AF0A7F_FEE3_41E6_BB5F_5A0E773CC45F
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov edi, eax
mov dword [ebp - 0x134], edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x10036a3e
test edi, edi
je 0x100369e8
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x60]
call fcn.1007afdf
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x50]
call fcn.1007afdf
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x110]
call fcn.10037b50
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.10003b80
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1007bf25
mov esp, ebp
pop ebp
ret 4
xor esi, esi
mov dword [ebp - 0x1c8], esi
lea ecx, [ebp - 0x60]
call fcn.1007b9bb
cmp esi, eax
jae 0x10036f83
mov byte [ebp - 4], 0x16
xorps xmm0, xmm0
movups xmmword [ebp - 0x40], xmm0
mov byte [ebp - 4], 0x15
push esi
lea ecx, [ebp - 0x60]
call fcn.1007b0c3
push eax
lea ecx, [ebp - 0x40]
call fcn.1007ad82
mov byte [ebp - 4], 0x18
xorps xmm0, xmm0
movups xmmword [ebp - 0x70], xmm0
mov byte [ebp - 4], 0x17
push 4
push 0x100da3ec
lea ecx, [ebp - 0x220]
call fcn.10035a20
mov byte [ebp - 4], 0x19
cmp dword [eax + 0x14], 0x10
jb 0x10036aa4
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x40]
call fcn.1007b18b
push eax
lea ecx, [ebp - 0x70]
call fcn.1007ad82
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x20c]
cmp eax, 0x10
jb 0x10036ad8
inc eax
push eax
push dword [ebp - 0x220]
lea ecx, [ebp - 0x220]
call fcn.10003a90
mov dword [ebp - 0x20c], 0xf
mov dword [ebp - 0x210], 0
mov byte [ebp - 0x220], 0
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x70]
call fcn.1007b830
push 3
push 0x100da3cc
test al, al
jne 0x10036d3a
lea ecx, [ebp - 0x268]
call fcn.10035a20
mov byte [ebp - 4], 0x1d
cmp dword [eax + 0x14], 0x10
jb 0x10036b25
mov eax, dword [eax]
lea ecx, [ebp - 0x3d0]
push ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.1007b18b
mov ecx, eax
call fcn.1007b435
mov dword [ebp - 0x114], eax
mov byte [ebp - 4], 0x1e
push 3
push 0x100da3c8
lea ecx, [ebp - 0x3b8]
call fcn.10035a20
mov byte [ebp - 4], 0x1f
cmp dword [eax + 0x14], 0x10
jb 0x10036b64
mov eax, dword [eax]
lea ecx, [ebp - 0x358]
push ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.1007b18b
mov ecx, eax
call fcn.1007b435
mov edi, eax
mov byte [ebp - 4], 0x20
push 4
push 0x100da3ec
lea ecx, [ebp - 0x250]
call fcn.10035a20
mov byte [ebp - 4], 0x21
cmp dword [eax + 0x14], 0x10
jb 0x10036b9f
mov eax, dword [eax]
lea ecx, [ebp - 0x238]
push ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.1007b18b
mov ecx, eax
call fcn.1007b435
mov byte [ebp - 4], 0x22
push dword [ebp - 0x114]
push edi
push eax
call fcn.100386a0
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0x224]
cmp eax, 0x10
jb 0x10036be9
inc eax
push eax
push dword [ebp - 0x238]
lea ecx, [ebp - 0x238]
call fcn.10003a90
mov dword [ebp - 0x224], 0xf
mov dword [ebp - 0x228], 0
mov byte [ebp - 0x238], 0
mov byte [ebp - 4], 0x23
mov eax, dword [ebp - 0x23c]
cmp eax, 0x10
jb 0x10036c26
inc eax
push eax
push dword [ebp - 0x250]
lea ecx, [ebp - 0x250]
call fcn.10003a90
mov dword [ebp - 0x23c], 0xf
mov dword [ebp - 0x240], 0
mov byte [ebp - 0x250], 0
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x344]
cmp eax, 0x10
jb 0x10036c63
inc eax
push eax
push dword [ebp - 0x358]
lea ecx, [ebp - 0x358]
call fcn.10003a90
mov dword [ebp - 0x344], 0xf
mov dword [ebp - 0x348], 0
mov byte [ebp - 0x358], 0
mov byte [ebp - 4], 0x24
mov eax, dword [ebp - 0x3a4]
cmp eax, 0x10
jb 0x10036ca0
inc eax
push eax
push dword [ebp - 0x3b8]
lea ecx, [ebp - 0x3b8]
call fcn.10003a90
mov dword [ebp - 0x3a4], 0xf
mov dword [ebp - 0x3a8], 0
mov byte [ebp - 0x3b8], 0
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x3bc]
cmp eax, 0x10
jb 0x10036cdd
inc eax
push eax
push dword [ebp - 0x3d0]
lea ecx, [ebp - 0x3d0]
call fcn.10003a90
mov dword [ebp - 0x3bc], 0xf
mov dword [ebp - 0x3c0], 0
mov byte [ebp - 0x3d0], 0
mov byte [ebp - 4], 0x25
mov eax, dword [ebp - 0x254]
cmp eax, 0x10
jb 0x10036d1a
inc eax
push eax
push dword [ebp - 0x268]
lea ecx, [ebp - 0x268]
call fcn.10003a90
mov dword [ebp - 0x254], 0xf
mov dword [ebp - 0x258], 0
mov byte [ebp - 0x268], 0
jmp 0x10036f61
lea ecx, [ebp - 0x2f8]
call fcn.10035a20
mov byte [ebp - 4], 0x26
cmp dword [eax + 0x14], 0x10
jb 0x10036d51
mov eax, dword [eax]
lea ecx, [ebp - 0x2e0]
push ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.1007b18b
mov ecx, eax
call fcn.1007b435
mov dword [ebp - 0x114], eax
mov byte [ebp - 4], 0x27
push 3
push 0x100da3c8
lea ecx, [ebp - 0x2c8]
call fcn.10035a20
mov byte [ebp - 4], 0x28
cmp dword [eax + 0x14], 0x10
jb 0x10036d90
mov eax, dword [eax]
lea ecx, [ebp - 0x2b0]
push ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.1007b18b
mov ecx, eax
call fcn.1007b435
mov edi, eax
mov byte [ebp - 4], 0x29
push 4
push 0x100da3f4
lea ecx, [ebp - 0x298]
call fcn.10035a20
mov byte [ebp - 4], 0x2a
cmp dword [eax + 0x14], 0x10
jb 0x10036dcb
mov eax, dword [eax]
lea ecx, [ebp - 0x280]
push ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.1007b18b
mov ecx, eax
call fcn.1007b435
mov byte [ebp - 4], 0x2b
push dword [ebp - 0x114]
push edi
push eax
call fcn.10038e90
mov byte [ebp - 4], 0x2a
mov eax, dword [ebp - 0x26c]
cmp eax, 0x10
jb 0x10036e15
inc eax
push eax
push dword [ebp - 0x280]
lea ecx, [ebp - 0x280]
call fcn.10003a90
mov dword [ebp - 0x26c], 0xf
mov dword [ebp - 0x270], 0
mov byte [ebp - 0x280], 0
mov byte [ebp - 4], 0x2c
mov eax, dword [ebp - 0x284]
cmp eax, 0x10
jb 0x10036e52
inc eax
push eax
push dword [ebp - 0x298]
lea ecx, [ebp - 0x298]
call fcn.10003a90
mov dword [ebp - 0x284], 0xf
mov dword [ebp - 0x288], 0
mov byte [ebp - 0x298], 0
mov byte [ebp - 4], 0x28
mov eax, dword [ebp - 0x29c]
cmp eax, 0x10
jb 0x10036e8f
inc eax
push eax
push dword [ebp - 0x2b0]
lea ecx, [ebp - 0x2b0]
call fcn.10003a90
mov dword [ebp - 0x29c], 0xf
mov dword [ebp - 0x2a0], 0
mov byte [ebp - 0x2b0], 0
mov byte [ebp - 4], 0x2d
mov eax, dword [ebp - 0x2b4]
cmp eax, 0x10
jb 0x10036ecc
inc eax
push eax
push dword [ebp - 0x2c8]
lea ecx, [ebp - 0x2c8]
call fcn.10003a90
mov dword [ebp - 0x2b4], 0xf
mov dword [ebp - 0x2b8], 0
mov byte [ebp - 0x2c8], 0
mov byte [ebp - 4], 0x26
mov eax, dword [ebp - 0x2cc]
cmp eax, 0x10
jb 0x10036f09
inc eax
push eax
push dword [ebp - 0x2e0]
lea ecx, [ebp - 0x2e0]
call fcn.10003a90
mov dword [ebp - 0x2cc], 0xf
mov dword [ebp - 0x2d0], 0
mov byte [ebp - 0x2e0], 0
mov byte [ebp - 4], 0x2e
mov eax, dword [ebp - 0x2e4]
cmp eax, 0x10
jb 0x10036f46
inc eax
push eax
push dword [ebp - 0x2f8]
lea ecx, [ebp - 0x2f8]
call fcn.10003a90
mov dword [ebp - 0x2e4], 0xf
mov dword [ebp - 0x2e8], 0
mov byte [ebp - 0x2f8], 0
mov byte [ebp - 4], 0x1b
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x70]
call fcn.1007afdf
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x40]
call fcn.1007afdf
inc esi
jmp 0x10036a40
mov edi, dword [ebp - 0x134]
test edi, edi
je 0x10036f94
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [ebp - 0x130]
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x114], eax
mov esi, dword [edi + 0x18]
mov dword [ebp - 0x1d4], esi
nop dword [eax]
cmp esi, eax
je 0x1003703d
lea edi, [esi + 0x18]
mov eax, dword [edi + 0x14]
cmp eax, 0x10
jb 0x10036fce
inc eax
push eax
push dword [edi]
mov ecx, edi
call fcn.10003a90
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], 0
cmp dword [edi + 0x14], 0x10
jb 0x10036fe4
mov edi, dword [edi]
mov byte [edi], 0
mov eax, dword [esi + 0x14]
cmp eax, 0x10
jb 0x10036ffa
inc eax
push eax
push dword [esi]
mov ecx, esi
call fcn.10003a90
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
cmp dword [esi + 0x14], 0x10
jb 0x10037024
mov eax, dword [esi]
mov byte [eax], 0
add esi, 0x30
mov dword [ebp - 0x1d4], esi
mov eax, dword [ebp - 0x114]
jmp 0x10036fb0
mov eax, esi
mov byte [eax], 0
add esi, 0x30
mov dword [ebp - 0x1d4], esi
mov eax, dword [ebp - 0x114]
jmp 0x10036fb0
mov edi, dword [ebp - 0x130]
mov eax, dword [edi + 0x18]
mov dword [edi + 0x1c], eax
mov byte [ebp - 4], 0x2f
xorps xmm0, xmm0
movups xmmword [ebp - 0xa0], xmm0
mov byte [ebp - 4], 0x15
push 6
push 0x100da430
lea ecx, [ebp - 0x310]
call fcn.10035a20
mov byte [ebp - 4], 0x30
cmp dword [eax + 0x14], 0x10
jb 0x10037079
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x50]
call fcn.1007b18b
push eax
lea ecx, [ebp - 0xa0]
call fcn.1007ad82
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x2fc]
cmp eax, 0x10
jb 0x100370b0
inc eax
push eax
push dword [ebp - 0x310]
lea ecx, [ebp - 0x310]
call fcn.10003a90
mov dword [ebp - 0x2fc], 0xf
mov dword [ebp - 0x300], 0
mov byte [ebp - 0x310], 0
mov byte [ebp - 4], 0x32
push 0xd
push 0x100da478
lea ecx, [ebp - 0x328]
call fcn.10035a20
mov edx, eax
mov byte [ebp - 4], 0x34
cmp dword [edx + 0x14], 0x10
jb 0x100370ef
mov edx, dword [edx]
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x138], 0xf
mov dword [ebp - 0x13c], 0
mov byte [ebp - 0x14c], 0
cmp byte [edx], 0
jne 0x10037127
xor ecx, ecx
jmp 0x10037139
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10037130
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x14c]
call fcn.100038b0
mov byte [ebp - 4], 0x35
lea esi, [edi + 0x18]
push esi
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.10037f80
mov byte [ebp - 4], 0x34
mov eax, dword [ebp - 0x138]
cmp eax, 0x10
jb 0x10037183
inc eax
push eax
push dword [ebp - 0x14c]
lea ecx, [ebp - 0x14c]
call fcn.10003a90
mov dword [ebp - 0x138], 0xf
mov dword [ebp - 0x13c], 0
mov byte [ebp - 0x14c], 0
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x314]
cmp eax, 0x10
jb 0x100371c0
inc eax
push eax
push dword [ebp - 0x328]
lea ecx, [ebp - 0x328]
call fcn.10003a90
mov dword [ebp - 0x314], 0xf
mov dword [ebp - 0x318], 0
mov byte [ebp - 0x328], 0
mov byte [ebp - 4], 0x32
mov byte [ebp - 4], 0x37
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov byte [ebp - 4], 0x32
cmp eax, ecx
jne 0x10037423
push 0xd
push 0x100da468
lea ecx, [ebp - 0x3e8]
call fcn.10035a20
mov byte [ebp - 4], 0x38
cmp dword [eax + 0x14], 0x10
jb 0x10037212
mov eax, dword [eax]
push eax
push edi
lea eax, [ebp - 0x340]
push eax
call fcn.1001fe20
mov byte [ebp - 4], 0x39
add esp, 8
mov edx, eax
lea ecx, [ebp - 0x404]
call fcn.10039560
add esp, 4
mov edi, eax
mov byte [ebp - 4], 0x3a
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1b0], 0xf
mov dword [ebp - 0x1b4], 0
mov byte [ebp - 0x1c4], 0
push edi
lea ecx, [ebp - 0x1c4]
call fcn.10003250
mov byte [ebp - 4], 0x3b
mov edx, dword [edi + 0x18]
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x198], 0xf
mov dword [ebp - 0x19c], 0
mov byte [ebp - 0x1ac], 0
cmp byte [edx], 0
jne 0x100372b7
xor ecx, ecx
jmp 0x100372c9
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100372c0
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x1ac]
call fcn.100038b0
mov byte [ebp - 4], 0x3c
mov byte [ebp - 4], 0x3d
lea eax, [ebp - 0x1c4]
push eax
mov ecx, esi
call fcn.10039220
mov byte [ebp - 4], 0x3a
mov eax, dword [ebp - 0x198]
cmp eax, 0x10
jb 0x1003730e
inc eax
push eax
push dword [ebp - 0x1ac]
lea ecx, [ebp - 0x1ac]
call fcn.10003a90
mov dword [ebp - 0x198], 0xf
mov dword [ebp - 0x19c], 0
mov byte [ebp - 0x1ac], 0
mov eax, dword [ebp - 0x1b0]
cmp eax, 0x10
jb 0x10037347
inc eax
push eax
push dword [ebp - 0x1c4]
lea ecx, [ebp - 0x1c4]
call fcn.10003a90
mov dword [ebp - 0x1b0], 0xf
mov dword [ebp - 0x1b4], 0
mov byte [ebp - 0x1c4], 0
mov byte [ebp - 4], 0x3e
mov eax, dword [ebp - 0x3f0]
cmp eax, 0x10
jb 0x10037384
inc eax
push eax
push dword [ebp - 0x404]
lea ecx, [ebp - 0x404]
call fcn.10003a90
mov dword [ebp - 0x3f0], 0xf
mov dword [ebp - 0x3f4], 0
mov byte [ebp - 0x404], 0
mov byte [ebp - 4], 0x38
mov eax, dword [ebp - 0x32c]
cmp eax, 0x10
jb 0x100373c1
inc eax
push eax
push dword [ebp - 0x340]
lea ecx, [ebp - 0x340]
call fcn.10003a90
mov dword [ebp - 0x32c], 0xf
mov dword [ebp - 0x330], 0
mov byte [ebp - 0x340], 0
mov byte [ebp - 4], 0x3f
mov eax, dword [ebp - 0x3d4]
cmp eax, 0x10
jb 0x100373fe
inc eax
push eax
push dword [ebp - 0x3e8]
lea ecx, [ebp - 0x3e8]
call fcn.10003a90
mov dword [ebp - 0x3d4], 0xf
mov dword [ebp - 0x3d8], 0
mov byte [ebp - 0x3e8], 0
mov byte [ebp - 4], 0x32
mov edi, dword [ebp - 0x130]
mov eax, dword [edi + 0x28]
mov dword [ebp - 0x114], eax
mov esi, dword [edi + 0x24]
mov dword [ebp - 0x1cc], esi
cmp esi, eax
je 0x100374c2
lea edi, [esi + 0x18]
mov eax, dword [edi + 0x14]
cmp eax, 0x10
jb 0x10037453
inc eax
push eax
push dword [edi]
mov ecx, edi
call fcn.10003a90
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], 0
cmp dword [edi + 0x14], 0x10
jb 0x10037469
mov edi, dword [edi]
mov byte [edi], 0
mov eax, dword [esi + 0x14]
cmp eax, 0x10
jb 0x1003747f
inc eax
push eax
push dword [esi]
mov ecx, esi
call fcn.10003a90
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
cmp dword [esi + 0x14], 0x10
jb 0x100374a9
mov eax, dword [esi]
mov byte [eax], 0
add esi, 0x30
mov dword [ebp - 0x1cc], esi
mov eax, dword [ebp - 0x114]
jmp 0x10037435
mov eax, esi
mov byte [eax], 0
add esi, 0x30
mov dword [ebp - 0x1cc], esi
mov eax, dword [ebp - 0x114]
jmp 0x10037435
mov edi, dword [ebp - 0x130]
mov eax, dword [edi + 0x24]
mov dword [edi + 0x28], eax
mov byte [ebp - 4], 0x40
xorps xmm0, xmm0
movups xmmword [ebp - 0x90], xmm0
mov byte [ebp - 4], 0x32
push 6
push 0x100da3e0
lea ecx, [ebp - 0x370]
call fcn.10035a20
mov byte [ebp - 4], 0x41
cmp dword [eax + 0x14], 0x10
jb 0x100374fe
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x50]
call fcn.1007b18b
push eax
lea ecx, [ebp - 0x90]
call fcn.1007ad82
mov byte [ebp - 4], 0x44
mov eax, dword [ebp - 0x35c]
cmp eax, 0x10
jb 0x10037535
inc eax
push eax
push dword [ebp - 0x370]
lea ecx, [ebp - 0x370]
call fcn.10003a90
mov dword [ebp - 0x35c], 0xf
mov dword [ebp - 0x360], 0
mov byte [ebp - 0x370], 0
mov byte [ebp - 4], 0x43
push 0xd
push 0x100da438
lea ecx, [ebp - 0x388]
call fcn.10035a20
mov edx, eax
mov byte [ebp - 4], 0x45
cmp dword [edx + 0x14], 0x10
jb 0x10037574
mov edx, dword [edx]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x118], 0xf
mov dword [ebp - 0x11c], 0
mov byte [ebp - 0x12c], 0
cmp byte [edx], 0
jne 0x100375ac
xor ecx, ecx
jmp 0x100375ba
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100375b1
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x12c]
call fcn.100038b0
mov byte [ebp - 4], 0x46
lea esi, [edi + 0x24]
push esi
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.10037f80
mov byte [ebp - 4], 0x45
mov eax, dword [ebp - 0x118]
cmp eax, 0x10
jb 0x10037604
inc eax
push eax
push dword [ebp - 0x12c]
lea ecx, [ebp - 0x12c]
call fcn.10003a90
mov dword [ebp - 0x118], 0xf
mov dword [ebp - 0x11c], 0
mov byte [ebp - 0x12c], 0
mov byte [ebp - 4], 0x47
mov eax, dword [ebp - 0x374]
cmp eax, 0x10
jb 0x10037641
inc eax
push eax
push dword [ebp - 0x388]
lea ecx, [ebp - 0x388]
call fcn.10003a90
mov dword [ebp - 0x374], 0xf
mov dword [ebp - 0x378], 0
mov byte [ebp - 0x388], 0
mov byte [ebp - 4], 0x43
mov byte [ebp - 4], 0x48
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov byte [ebp - 4], 0x43
cmp eax, ecx
jne 0x100378a3
push 0xd
push 0x100da3fc
lea ecx, [ebp - 0x1ec]
call fcn.10035a20
mov byte [ebp - 4], 0x49
cmp dword [eax + 0x14], 0x10
jb 0x10037693
mov eax, dword [eax]
push eax
push edi
lea eax, [ebp - 0x3a0]
push eax
call fcn.1001fe20
mov byte [ebp - 4], 0x4a
add esp, 8
mov edx, eax
lea ecx, [ebp - 0x208]
call fcn.10039560
add esp, 4
mov edi, eax
mov byte [ebp - 4], 0x4b
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x168], 0xf
mov dword [ebp - 0x16c], 0
mov byte [ebp - 0x17c], 0
push edi
lea ecx, [ebp - 0x17c]
call fcn.10003250
mov byte [ebp - 4], 0x4c
mov edx, dword [edi + 0x18]
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x150], 0xf
mov dword [ebp - 0x154], 0
mov byte [ebp - 0x164], 0
cmp byte [edx], 0
jne 0x10037738
xor ecx, ecx
jmp 0x10037749
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10037740
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x164]
call fcn.100038b0
mov byte [ebp - 4], 0x4d
mov byte [ebp - 4], 0x4e
lea eax, [ebp - 0x17c]
push eax
mov ecx, esi
call fcn.10039220
mov byte [ebp - 4], 0x4b
mov eax, dword [ebp - 0x150]
cmp eax, 0x10
jb 0x1003778e
inc eax
push eax
push dword [ebp - 0x164]
lea ecx, [ebp - 0x164]
call fcn.10003a90
mov dword [ebp - 0x150], 0xf
mov dword [ebp - 0x154], 0
mov byte [ebp - 0x164], 0
mov eax, dword [ebp - 0x168]
cmp eax, 0x10
jb 0x100377c7
inc eax
push eax
push dword [ebp - 0x17c]
lea ecx, [ebp - 0x17c]
call fcn.10003a90
mov dword [ebp - 0x168], 0xf
mov dword [ebp - 0x16c], 0
mov byte [ebp - 0x17c], 0
mov byte [ebp - 4], 0x4f
mov eax, dword [ebp - 0x1f4]
cmp eax, 0x10
jb 0x10037804
inc eax
push eax
push dword [ebp - 0x208]
lea ecx, [ebp - 0x208]
call fcn.10003a90
mov dword [ebp - 0x1f4], 0xf
mov dword [ebp - 0x1f8], 0
mov byte [ebp - 0x208], 0
mov byte [ebp - 4], 0x49
mov eax, dword [ebp - 0x38c]
cmp eax, 0x10
jb 0x10037841
inc eax
push eax
push dword [ebp - 0x3a0]
lea ecx, [ebp - 0x3a0]
call fcn.10003a90
mov dword [ebp - 0x38c], 0xf
mov dword [ebp - 0x390], 0
mov byte [ebp - 0x3a0], 0
mov byte [ebp - 4], 0x50
mov eax, dword [ebp - 0x1d8]
cmp eax, 0x10
jb 0x1003787e
inc eax
push eax
push dword [ebp - 0x1ec]
lea ecx, [ebp - 0x1ec]
call fcn.10003a90
mov dword [ebp - 0x1d8], 0xf
mov dword [ebp - 0x1dc], 0
mov byte [ebp - 0x1ec], 0
mov byte [ebp - 4], 0x43
mov edi, dword [ebp - 0x130]
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x114], eax
mov esi, dword [edi + 0x30]
mov dword [ebp - 0x1d0], esi
cmp esi, eax
je 0x10037942
lea edi, [esi + 0x18]
mov eax, dword [edi + 0x14]
cmp eax, 0x10
jb 0x100378d3
inc eax
push eax
push dword [edi]
mov ecx, edi
call fcn.10003a90
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], 0
cmp dword [edi + 0x14], 0x10
jb 0x100378e9
mov edi, dword [edi]
mov byte [edi], 0
mov eax, dword [esi + 0x14]
cmp eax, 0x10
jb 0x100378ff
inc eax
push eax
push dword [esi]
mov ecx, esi
call fcn.10003a90
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
cmp dword [esi + 0x14], 0x10
jb 0x10037929
mov eax, dword [esi]
mov byte [eax], 0
add esi, 0x30
mov dword [ebp - 0x1d0], esi
mov eax, dword [ebp - 0x114]
jmp 0x100378b5
mov eax, esi
mov byte [eax], 0
add esi, 0x30
mov dword [ebp - 0x1d0], esi
mov eax, dword [ebp - 0x114]
jmp 0x100378b5
mov edi, dword [ebp - 0x130]
mov eax, dword [edi + 0x30]
mov dword [edi + 0x34], eax
mov byte [ebp - 4], 0x51
xorps xmm0, xmm0
movups xmmword [ebp - 0x80], xmm0
mov byte [ebp - 4], 0x43
push 3
push 0x100da3e8
lea ecx, [ebp - 0x194]
call fcn.10035a20
mov byte [ebp - 4], 0x52
cmp dword [eax + 0x14], 0x10
jb 0x1003797b
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x50]
call fcn.1007b18b
push eax
lea ecx, [ebp - 0x80]
call fcn.1007ad82
mov byte [ebp - 4], 0x55
mov eax, dword [ebp - 0x180]
cmp eax, 0x10
jb 0x100379af
inc eax
push eax
push dword [ebp - 0x194]
lea ecx, [ebp - 0x194]
call fcn.10003a90
mov dword [ebp - 0x180], 0xf
mov dword [ebp - 0x184], 0
mov byte [ebp - 0x194], 0
mov byte [ebp - 4], 0x54
push 0x14
push 0x100da448
lea ecx, [ebp - 0x1ec]
call fcn.10035a20
mov byte [ebp - 4], 0x56
mov ecx, eax
call fcn.10003430
push eax
lea ecx, [ebp - 0x194]
call fcn.10003a10
mov byte [ebp - 4], 0x57
lea esi, [edi + 0x30]
push esi
lea eax, [ebp - 0x194]
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.10037f80
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0x194]
call fcn.10003b80
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0x1ec]
call fcn.10003b80
mov byte [ebp - 4], 0x58
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov byte [ebp - 4], 0x54
cmp eax, ecx
jne 0x10037ae2
push 0x14
push 0x100da40c
lea ecx, [ebp - 0x1ec]
call fcn.10035a20
mov byte [ebp - 4], 0x59
mov ecx, eax
call fcn.10003430
push eax
push edi
lea eax, [ebp - 0x194]
push eax
call fcn.1001fe20
mov byte [ebp - 4], 0x5a
add esp, 8
mov edx, eax
lea ecx, [ebp - 0x208]
call fcn.10039560
add esp, 4
mov byte [ebp - 4], 0x5b
push eax
lea ecx, [ebp - 0x17c]
call fcn.10039590
mov byte [ebp - 4], 0x5c
lea eax, [ebp - 0x17c]
push eax
mov ecx, esi
call fcn.10039220
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x17c]
call fcn.10034c00
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x208]
call fcn.10003b80
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x194]
call fcn.10003b80
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0x1ec]
call fcn.10003b80
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x80]
call fcn.1007afdf
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x90]
call fcn.1007afdf
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xa0]
call fcn.1007afdf
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x60]
call fcn.1007afdf
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x50]
call fcn.1007afdf
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x110]
call fcn.10037b50
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.10003b80
mov al, 1
jmp 0x10036a20