Function at 0x100514d0
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10064fcc
mov eax, dword fs:[0]
push eax
sub esp, 0x108
mov eax, dword [0x10077604]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov bh, 0x15
mov byte [ebp - 0x85], 0x12
mov byte [ebp - 0x71], bh
mov al, 4
mov bh, byte [ebp - 0x85]
mov dl, 0x1e
mov byte [ebp - 0xc8], 0x70
mov bl, 0x2f
xor bh, byte [ebp - 0xc8]
mov cl, 0x13
xor al, byte [ebp - 0xc8]
mov ah, 0x1c
mov byte [ebp - 0x85], bh
mov ch, 0x1f
mov byte [ebp - 0xc7], bh
mov dh, 3
mov bh, byte [ebp - 0x71]
mov byte [ebp - 0xc6], al
mov al, byte [ebp - 0xc8]
xor dl, al
mov byte [ebp - 0xbe], 0
xor bl, al
mov byte [ebp - 0xc5], dl
xor cl, al
mov byte [ebp - 0xc4], bl
xor ah, al
mov byte [ebp - 0xc3], cl
xor ch, al
mov byte [ebp - 0xc2], ah
xor dh, al
mov byte [ebp - 0xc1], ch
xor bh, al
mov byte [ebp - 0xc0], dh
cmp byte [ebp - 0x85], 0
mov byte [ebp - 0xbf], bh
mov byte [ebp - 0xbe], 0
mov dword [ebp - 0x8c], 0xf
mov dword [ebp - 0x90], 0
mov byte [ebp - 0xa0], 0
jne 0x100515bc
xor ecx, ecx
jmp 0x100515ce
lea ecx, [ebp - 0xc7]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100515c5
sub ecx, edx
push ecx
lea eax, [ebp - 0xc7]
push eax
lea ecx, [ebp - 0xa0]
call fcn.10002800
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], 0
push eax
push dword [edi]
call fcn.10012500
mov dword [edi + 4], eax
add esp, 8
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x10051620
inc eax
push 1
push eax
push dword [ebp - 0xa0]
call fcn.10002610
add esp, 0xc
mov cl, 0x6d
mov dword [ebp - 0x84], 0x3190f6d
mov dword [ebp - 0x80], 0xe081f32
xor eax, eax
mov dword [ebp - 0x7c], 0xa1f0c05
mov word [ebp - 0x78], 8
xor byte [ebp + eax - 0x83], cl
inc eax
cmp eax, 0xc
jae 0x10051657
mov cl, byte [ebp - 0x84]
jmp 0x10051642
cmp byte [ebp - 0x83], 0
mov byte [ebp - 0x77], 0
mov dword [ebp - 0x8c], 0xf
mov dword [ebp - 0x90], 0
mov byte [ebp - 0xa0], 0
jne 0x10051683
xor ecx, ecx
jmp 0x10051699
lea ecx, [ebp - 0x83]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10051690
sub ecx, edx
push ecx
lea eax, [ebp - 0x83]
push eax
lea ecx, [ebp - 0xa0]
call fcn.10002800
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], 1
push eax
push dword [edi]
call fcn.10012500
mov dword [edi + 8], eax
add esp, 8
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x100516eb
inc eax
push 1
push eax
push dword [ebp - 0xa0]
call fcn.10002610
add esp, 0xc
mov byte [ebp - 0xac], 0x5c
mov al, 0x24
xor al, byte [ebp - 0xac]
mov bh, 0x28
mov cl, bh
mov byte [ebp - 0xaa], al
mov al, byte [ebp - 0xac]
mov dl, 3
xor bh, byte [ebp - 0xac]
mov bl, 0x3f
mov ah, 0x3d
mov byte [ebp - 0xa3], 0
mov ch, 0x2f
mov byte [ebp - 0xab], bh
mov dh, 0x34
mov byte [ebp - 0xa3], 0
xor cl, al
mov dword [ebp - 0x8c], 0xf
xor dl, al
mov byte [ebp - 0xa9], cl
xor bl, al
mov byte [ebp - 0xa8], dl
xor ah, al
mov byte [ebp - 0xa7], bl
xor ch, al
mov byte [ebp - 0xa6], ah
xor dh, al
mov byte [ebp - 0xa5], ch
mov byte [ebp - 0xa4], dh
mov dword [ebp - 0x90], 0
mov byte [ebp - 0xa0], 0
test bh, bh
jne 0x10051781
xor ecx, ecx
jmp 0x10051799
lea ecx, [ebp - 0xab]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10051790
sub ecx, edx
push ecx
lea eax, [ebp - 0xab]
push eax
lea ecx, [ebp - 0xa0]
call fcn.10002800
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], 2
push eax
push dword [edi]
call fcn.10012500
mov dword [edi + 0xc], eax
add esp, 8
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x100517eb
inc eax
push 1
push eax
push dword [ebp - 0xa0]
call fcn.10002610
add esp, 0xc
mov cl, 0x2a
mov dword [ebp - 0x84], 0x5e525e2a
mov dword [ebp - 0x80], 0x464b4875
xor eax, eax
mov dword [ebp - 0x7c], 0x4f49444b
mov byte [ebp - 0x78], 0
nop dword [eax + eax]
xor byte [ebp + eax - 0x83], cl
inc eax
cmp eax, 0xb
jae 0x10051825
mov cl, byte [ebp - 0x84]
jmp 0x10051810
cmp byte [ebp - 0x83], 0
mov byte [ebp - 0x78], 0
mov dword [ebp - 0x8c], 0xf
mov dword [ebp - 0x90], 0
mov byte [ebp - 0xa0], 0
jne 0x10051851
xor ecx, ecx
jmp 0x10051869
lea ecx, [ebp - 0x83]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10051860
sub ecx, edx
push ecx
lea eax, [ebp - 0x83]
push eax
lea ecx, [ebp - 0xa0]
call fcn.10002800
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], 3
push eax
push dword [edi]
call fcn.10012500
mov dword [edi + 0x10], eax
add esp, 8
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x100518bb
inc eax
push 1
push eax
push dword [ebp - 0xa0]
call fcn.10002610
add esp, 0xc
movaps xmm0, xmmword [0x1006cb10]
xor ecx, ecx
movups xmmword [ebp - 0x20], xmm0
mov al, byte [ebp - 0x20]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 0xe
jb 0x100518c8
cmp byte [ebp - 0x1f], 0
mov byte [ebp - 0x11], 0
mov dword [ebp - 0x8c], 0xf
mov dword [ebp - 0x90], 0
mov byte [ebp - 0xa0], 0
jne 0x100518fe
xor ecx, ecx
jmp 0x1005190d
lea ecx, [ebp - 0x1f]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10051904
sub ecx, edx
push ecx
lea eax, [ebp - 0x1f]
push eax
lea ecx, [ebp - 0xa0]
call fcn.10002800
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], 4
push eax
push dword [edi]
call fcn.10012500
mov dword [edi + 0x14], eax
add esp, 8
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x1005195c
inc eax
push 1
push eax
push dword [ebp - 0xa0]
call fcn.10002610
add esp, 0xc
mov al, 0x72
mov byte [ebp - 0xac], 0x17
mov dh, al
mov byte [ebp - 0xa3], 0
xor al, byte [ebp - 0xac]
mov bh, 0x45
xor bh, byte [ebp - 0xac]
mov cl, 0x54
mov byte [ebp - 0xaa], al
mov dl, 0x7f
mov al, byte [ebp - 0xac]
mov bl, 0x76
mov ah, 0x65
mov byte [ebp - 0xab], bh
mov ch, 0x70
mov byte [ebp - 0xa3], 0
xor cl, al
mov dword [ebp - 0x8c], 0xf
xor dl, al
mov byte [ebp - 0xa9], cl
xor bl, al
mov byte [ebp - 0xa8], dl
xor ah, al
mov byte [ebp - 0xa7], bl
xor ch, al
mov byte [ebp - 0xa6], ah
xor dh, al
mov byte [ebp - 0xa5], ch
mov byte [ebp - 0xa4], dh
mov dword [ebp - 0x90], 0
mov byte [ebp - 0xa0], 0
test bh, bh
jne 0x100519f2
xor ecx, ecx
jmp 0x10051a09
lea ecx, [ebp - 0xab]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10051a00
sub ecx, edx
push ecx
lea eax, [ebp - 0xab]
push eax
lea ecx, [ebp - 0xa0]
call fcn.10002800
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], 5
push eax
push dword [edi + 0x14]
call fcn.10012500
mov dword [edi + 0x18], eax
add esp, 8
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x10051a5c
inc eax
push 1
push eax
push dword [ebp - 0xa0]
call fcn.10002610
add esp, 0xc
cmp dword [edi + 0x18], 0
je 0x10051ca8
xor ebx, ebx
mov dword [ebp - 0xcc], 5
lea esi, [edi + 0x24]
nop word [eax + eax]
push ebx
mov cl, 0xb
mov dword [ebp - 0xbc], 0x626f6e0b
mov dword [ebp - 0xb8], 0x6562547f
xor eax, eax
mov dword [ebp - 0xb4], 0x547f7e7b
mov word [ebp - 0xb0], 0x6f2e
mov byte [ebp - 0xae], 0
xor byte [ebp + eax - 0xbb], cl
inc eax
cmp eax, 0xd
jae 0x10051ac8
mov cl, byte [ebp - 0xbc]
jmp 0x10051ab3
sub esp, 0x18
mov byte [ebp - 0xae], 0
lea eax, [ebp - 0xbb]
mov ecx, esp
push eax
call fcn.100017e0
lea eax, [ebp - 0xe4]
push eax
call fcn.100322e0
push eax
push dword [edi + 0x18]
mov dword [ebp - 4], 6
call fcn.10012500
mov dword [esi], eax
add esp, 0x28
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x10051b25
inc eax
push 1
push eax
push dword [ebp - 0xe4]
call fcn.10002610
add esp, 0xc
push 4
push dword [esi]
call fcn.10013060
add esp, 8
inc ebx
add esi, 4
sub dword [ebp - 0xcc], 1
jne 0x10051a80
mov cl, 0x75
mov dword [ebp - 0x84], 0x1b011775
mov dword [ebp - 0x80], 0x1b1a162a
xor eax, eax
mov dword [ebp - 0x7c], 0x18071c13
mov byte [ebp - 0x78], 0
xor byte [ebp + eax - 0x83], cl
inc eax
cmp eax, 0xb
jae 0x10051b77
mov cl, byte [ebp - 0x84]
jmp 0x10051b62
lea eax, [ebp - 0x83]
mov byte [ebp - 0x78], 0
push eax
lea ecx, [ebp - 0xa0]
call fcn.100017e0
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], 7
push eax
push dword [edi + 0x18]
call fcn.10012500
mov dword [edi + 0x38], eax
add esp, 8
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x10051bcd
inc eax
push 1
push eax
push dword [ebp - 0xa0]
call fcn.10002610
add esp, 0xc
mov byte [ebp - 0x84], 0x12
mov al, 0x70
xor al, byte [ebp - 0x84]
mov cl, 0x66
xor cl, byte [ebp - 0x84]
mov ah, 0x71
mov byte [ebp - 0x83], al
mov bh, ah
mov byte [ebp - 0x82], cl
mov dl, 0x7c
mov cl, byte [ebp - 0x84]
mov ch, 0x73
mov byte [ebp - 0x71], 0x77
xor ah, cl
mov al, byte [ebp - 0x71]
mov dh, dl
xor al, cl
mov byte [ebp - 0x85], 0x7e
mov byte [ebp - 0x7b], al
xor ch, cl
mov al, byte [ebp - 0x85]
mov bl, 0x4d
xor al, cl
mov byte [ebp - 0x7f], ah
mov byte [ebp - 0x7a], al
xor dl, cl
xor bl, cl
mov byte [ebp - 0x7e], ch
xor dh, cl
mov byte [ebp - 0x79], 0
xor bh, cl
mov byte [ebp - 0x81], dl
lea eax, [ebp - 0x83]
mov byte [ebp - 0x80], bl
push eax
lea ecx, [ebp - 0xa0]
mov byte [ebp - 0x7d], dh
mov byte [ebp - 0x7c], bh
mov byte [ebp - 0x79], 0
call fcn.100017e0
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], 8
push eax
push dword [edi + 0x18]
call fcn.10012500
mov dword [edi + 0x3c], eax
add esp, 8
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x10051c9b
inc eax
push 1
push eax
push dword [ebp - 0xa0]
call fcn.10002610
add esp, 0xc
push 0
push dword [edi + 0x18]
call fcn.10012be0
add esp, 8
movaps xmm0, xmmword [0x1006cd00]
xor ecx, ecx
movups xmmword [ebp - 0x9c], xmm0
mov word [ebp - 0x8c], 0x45
mov al, byte [ebp - 0x9c]
xor byte [ebp + ecx - 0x9b], al
inc ecx
cmp ecx, 0x10
jb 0x10051cc1
lea eax, [ebp - 0x9b]
mov byte [ebp - 0x8b], 0
push eax
lea ecx, [ebp - 0x38]
call fcn.100017e0
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 9
push eax
push dword [edi + 0x14]
call fcn.10012500
mov dword [edi + 0x1c], eax
add esp, 8
mov eax, dword [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x10051d21
inc eax
push 1
push eax
push dword [ebp - 0x38]
call fcn.10002610
add esp, 0xc
cmp dword [edi + 0x1c], 0
je 0x10052152
mov cl, 0x6a
mov dword [ebp - 0xbc], 0x502396a
mov dword [ebp - 0xb8], 0x4031a1a
xor eax, eax
mov dword [ebp - 0xb4], 0xb24350d
mov word [ebp - 0xb0], 0xf07
mov byte [ebp - 0xae], 0
nop dword [eax]
xor byte [ebp + eax - 0xbb], cl
inc eax
cmp eax, 0xd
jae 0x10051d75
mov cl, byte [ebp - 0xbc]
jmp 0x10051d60
lea eax, [ebp - 0xbb]
mov byte [ebp - 0xae], 0
push eax
lea ecx, [ebp - 0xa0]
call fcn.100017e0
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], 0xa
push eax
push dword [edi + 0x1c]
call fcn.10012500
mov dword [edi + 0x40], eax
add esp, 8
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x10051dce
inc eax
push 1
push eax
push dword [ebp - 0xa0]
call fcn.10002610
add esp, 0xc
movaps xmm0, xmmword [0x1006cb00]
xor ecx, ecx
movups xmmword [ebp - 0x20], xmm0
nop dword [eax + eax]
mov al, byte [ebp - 0x20]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 0xe
jb 0x10051de0
lea eax, [ebp - 0x1f]
mov byte [ebp - 0x11], 0
push eax
lea ecx, [ebp - 0xa0]
call fcn.100017e0
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], 0xb
push eax
push dword [edi + 0x1c]
call fcn.10012500
mov dword [edi + 0x44], eax
add esp, 8
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x10051e40
inc eax
push 1
push eax
push dword [ebp - 0xa0]
call fcn.10002610
add esp, 0xc
movaps xmm0, xmmword [0x1006cc90]
xor ecx, ecx
movups xmmword [ebp - 0x9c], xmm0
mov word [ebp - 0x8c], 0x5954
mov byte [ebp - 0x8a], 0
mov al, byte [ebp - 0x9c]
xor byte [ebp + ecx - 0x9b], al
inc ecx
cmp ecx, 0x11
jb 0x10051e60
lea eax, [ebp - 0x9b]
mov byte [ebp - 0x8a], 0
push eax
lea ecx, [ebp - 0x38]
call fcn.100017e0
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 0xc
push eax
push dword [edi + 0x1c]
call fcn.10012500
mov dword [edi + 0x48], eax
add esp, 8
mov eax, dword [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x10051ec0
inc eax
push 1
push eax
push dword [ebp - 0x38]
call fcn.10002610
add esp, 0xc
movaps xmm0, xmmword [0x1006cc00]
xor ecx, ecx
movups xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x8c], 0xb0f18
nop word [eax + eax]
mov al, byte [ebp - 0x9c]
xor byte [ebp + ecx - 0x9b], al
inc ecx
cmp ecx, 0x12
jb 0x10051ee0
lea eax, [ebp - 0x9b]
mov byte [ebp - 0x89], 0
push eax
lea ecx, [ebp - 0xe4]
call fcn.100017e0
lea eax, [ebp - 0xe4]
mov dword [ebp - 4], 0xd
push eax
push dword [edi + 0x1c]
call fcn.10012500
add esp, 8
mov dword [edi + 0x4c], eax
lea ecx, [ebp - 0xe4]
mov dword [ebp - 4], 0xffffffff
call fcn.10001840
call fcn.1000c2c0
test eax, eax
je 0x10052010
mov dword [edi + 0x50], eax
call fcn.10013160
test eax, eax
je 0x10052010
mov ecx, dword [edi + 0x50]
mov dword [ecx], eax
mov eax, dword [edi + 0x50]
push dword [edi + 0x1c]
push dword [eax]
call fcn.10012a70
mov eax, dword [edi + 0x50]
mov dword [esp + 4], 0
mov dword [esp], 0
sub esp, 0x18
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x3f340000
mov dword [esp + 8], 0x3f340000
mov dword [esp + 4], 0
mov dword [esp], 0
push dword [eax]
call fcn.100132f0
mov eax, dword [edi + 0x50]
push 0xb
push dword [eax]
call fcn.10012ba0
mov eax, dword [edi + 0x50]
push pe_nt_image_headers32
push dword [eax]
call fcn.10012b70
push dword [edi + 0x4c]
lea eax, [ebp - 0x30]
push eax
call fcn.10012630
movups xmm0, xmmword [eax]
lea eax, [ebp - 0x20]
push eax
mov eax, dword [edi + 0x50]
movups xmmword [ebp - 0x20], xmm0
push dword [eax]
call fcn.10013180
add esp, 0x44
lea eax, [ebp - 0x20]
push eax
mov eax, dword [edi + 0x50]
push dword [eax]
call fcn.10012a40
mov eax, dword [edi + 0x50]
push 0
push dword [eax]
call fcn.10012be0
add esp, 0x10
mov cl, 0x27
mov dword [ebp - 0x84], 0x49534527
mov dword [ebp - 0x80], 0x49484478
xor eax, eax
mov dword [ebp - 0x7c], 0x4a554e41
mov byte [ebp - 0x78], 0
xor byte [ebp + eax - 0x83], cl
inc eax
cmp eax, 0xb
jae 0x10052045
mov cl, byte [ebp - 0x84]
jmp 0x10052030
lea eax, [ebp - 0x83]
mov byte [ebp - 0x78], 0
push eax
lea ecx, [ebp - 0xe4]
call fcn.100017e0
lea eax, [ebp - 0xe4]
mov dword [ebp - 4], 0xe
push eax
push dword [edi + 0x1c]
call fcn.10012500
add esp, 8
mov dword [edi + 0x54], eax
lea ecx, [ebp - 0xe4]
mov dword [ebp - 4], 0xffffffff
call fcn.10001840
mov byte [ebp - 0x84], 0x1c
mov al, 0x7e
xor al, byte [ebp - 0x84]
mov cl, 0x68
xor cl, byte [ebp - 0x84]
mov ah, 0x7f
mov byte [ebp - 0x83], al
mov bh, ah
mov byte [ebp - 0x82], cl
mov dl, 0x72
mov cl, byte [ebp - 0x84]
mov ch, 0x7d
mov byte [ebp - 0x71], 0x79
xor ah, cl
mov al, byte [ebp - 0x71]
mov dh, dl
xor al, cl
mov byte [ebp - 0x85], 0x70
mov byte [ebp - 0x7b], al
xor ch, cl
mov al, byte [ebp - 0x85]
mov bl, 0x43
xor al, cl
mov byte [ebp - 0x7f], ah
mov byte [ebp - 0x7a], al
xor dl, cl
xor bl, cl
mov byte [ebp - 0x7e], ch
xor dh, cl
mov byte [ebp - 0x79], 0
xor bh, cl
mov byte [ebp - 0x81], dl
lea eax, [ebp - 0x83]
mov byte [ebp - 0x80], bl
push eax
lea ecx, [ebp - 0xe4]
mov byte [ebp - 0x7d], dh
mov byte [ebp - 0x7c], bh
mov byte [ebp - 0x79], 0
call fcn.100017e0
lea eax, [ebp - 0xe4]
mov dword [ebp - 4], 0xf
push eax
push dword [edi + 0x1c]
call fcn.10012500
add esp, 8
mov dword [edi + 0x58], eax
lea ecx, [ebp - 0xe4]
mov dword [ebp - 4], 0xffffffff
call fcn.10001840
push 0
push dword [edi + 0x1c]
call fcn.10012be0
add esp, 8
movaps xmm0, xmmword [0x1006ccf0]
xor ecx, ecx
movups xmmword [ebp - 0xa0], xmm0
mov dword [ebp - 0x90], 0x43617d4f
mov word [ebp - 0x8c], 0x5650
mov byte [ebp - 0x8a], 0
nop dword [eax]
mov al, byte [ebp - 0xa0]
xor byte [ebp + ecx - 0x9f], al
inc ecx
cmp ecx, 0x15
jb 0x10052180
lea eax, [ebp - 0x9f]
mov byte [ebp - 0x8a], 0
push eax
lea ecx, [ebp - 0x38]
call fcn.100017e0
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 0x10
push eax
push dword [edi + 0x14]
call fcn.10012500
mov dword [edi + 0x20], eax
add esp, 8
mov eax, dword [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x100521e0
inc eax
push 1
push eax
push dword [ebp - 0x38]
call fcn.10002610
add esp, 0xc
cmp dword [edi + 0x20], 0
je 0x1005234a
movaps xmm0, xmmword [0x1006cb20]
xor ecx, ecx
movups xmmword [ebp - 0x20], xmm0
mov al, byte [ebp - 0x20]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 0xe
jb 0x100521f7
lea eax, [ebp - 0x1f]
mov byte [ebp - 0x11], 0
push eax
lea ecx, [ebp - 0xe4]
call fcn.100017e0
lea eax, [ebp - 0xe4]
mov dword [ebp - 4], 0x11
push eax
push dword [edi + 0x20]
call fcn.10012500
add esp, 8
mov dword [edi + 0x7c], eax
lea ecx, [ebp - 0xe4]
mov dword [ebp - 4], 0xffffffff
call fcn.10001840
movaps xmm0, xmmword [0x1006cda0]
xor ecx, ecx
movups xmmword [ebp - 0x9c], xmm0
mov word [ebp - 0x8c], 0x79
nop
mov al, byte [ebp - 0x9c]
xor byte [ebp + ecx - 0x9b], al
inc ecx
cmp ecx, 0x10
jb 0x10052260
lea eax, [ebp - 0x9b]
mov byte [ebp - 0x8b], 0
push eax
lea ecx, [ebp - 0xe4]
call fcn.100017e0
lea eax, [ebp - 0xe4]
mov dword [ebp - 4], 0x12
push eax
push dword [edi + 0x20]
call fcn.10012500
add esp, 8
mov dword [edi + 0x80], eax
lea ecx, [ebp - 0xe4]
mov dword [ebp - 4], 0xffffffff
call fcn.10001840
movaps xmm0, xmmword [0x1006cc50]
xor ecx, ecx
movups xmmword [ebp - 0x9c], xmm0
mov byte [ebp - 0x8c], 0
nop dword [eax]
nop dword [eax + eax]
mov al, byte [ebp - 0x9c]
xor byte [ebp + ecx - 0x9b], al
inc ecx
cmp ecx, 0xf
jb 0x100522e0
lea eax, [ebp - 0x9b]
mov byte [ebp - 0x8c], 0
push eax
lea ecx, [ebp - 0xe4]
call fcn.100017e0
lea eax, [ebp - 0xe4]
mov dword [ebp - 4], 0x13
push eax
push dword [edi + 0x20]
call fcn.10012500
add esp, 8
mov dword [edi + 0x84], eax
lea ecx, [ebp - 0xe4]
mov dword [ebp - 4], 0xffffffff
call fcn.10001840
push 0
push dword [edi + 0x20]
call fcn.10012be0
add esp, 8
mov cl, 0x2d
mov dword [ebp - 0x84], 0x4449482d
mov dword [ebp - 0x80], 0x485e7259
xor eax, eax
mov dword [ebp - 0x7c], 0x454e5f4c
mov byte [ebp - 0x78], 0
nop word [eax + eax]
xor byte [ebp + eax - 0x83], cl
inc eax
cmp eax, 0xb
jae 0x10052385
mov cl, byte [ebp - 0x84]
jmp 0x10052370
lea eax, [ebp - 0x83]
mov byte [ebp - 0x78], 0
push eax
lea ecx, [ebp - 0xa0]
call fcn.100017e0
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], 0x14
push eax
push dword [edi + 0x14]
call fcn.10012500
mov dword [edi + 0x88], eax
add esp, 8
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x100523de
inc eax
push 1
push eax
push dword [ebp - 0xa0]
call fcn.10002610
add esp, 0xc
mov byte [ebp - 0x84], 4
mov al, 0x66
xor al, byte [ebp - 0x84]
mov cl, 0x70
xor cl, byte [ebp - 0x84]
mov ah, 0x77
mov byte [ebp - 0x83], al
mov ch, 0x61
mov byte [ebp - 0x82], cl
mov dl, 0x6a
mov cl, byte [ebp - 0x84]
mov dh, 0x65
mov byte [ebp - 0x71], 0x67
xor ah, cl
mov al, byte [ebp - 0x71]
xor ch, cl
xor al, cl
mov byte [ebp - 0x85], 0x6c
mov byte [ebp - 0x7b], al
mov bl, 0x5b
mov al, byte [ebp - 0x85]
mov bh, 0x76
xor al, cl
mov byte [ebp - 0x7f], ah
mov byte [ebp - 0x7a], al
xor dl, cl
xor bl, cl
mov byte [ebp - 0x7e], ch
xor dh, cl
mov byte [ebp - 0x79], 0
xor bh, cl
mov byte [ebp - 0x81], dl
lea eax, [ebp - 0x83]
mov byte [ebp - 0x80], bl
push eax
lea ecx, [ebp - 0xa0]
mov byte [ebp - 0x7d], dh
mov byte [ebp - 0x7c], bh
mov byte [ebp - 0x79], 0
call fcn.100017e0
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], 0x15
push eax
push dword [edi + 0x14]
call fcn.10012500
mov dword [edi + 0x8c], eax
add esp, 8
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x100524af
inc eax
push 1
push eax
push dword [ebp - 0xa0]
call fcn.10002610
add esp, 0xc
xor esi, esi
mov dword [ebp - 0xcc], 6
lea ebx, [edi + 0x90]
movaps xmm0, xmmword [0x1006cbf0]
xor ecx, ecx
push esi
movups xmmword [ebp - 0x9c], xmm0
mov byte [ebp - 0x8c], 0
nop dword [eax]
mov al, byte [ebp - 0x9c]
xor byte [ebp + ecx - 0x9b], al
inc ecx
cmp ecx, 0xf
jb 0x100524e0
sub esp, 0x18
mov byte [ebp - 0x8c], 0
lea eax, [ebp - 0x9b]
mov ecx, esp
push eax
call fcn.100017e0
lea eax, [ebp - 0xe4]
push eax
call fcn.100322e0
push eax
push dword [edi + 0x14]
mov dword [ebp - 4], 0x16
call fcn.10012500
mov dword [ebx], eax
add esp, 0x28
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x10052550
inc eax
push 1
push eax
push dword [ebp - 0xe4]
call fcn.10002610
add esp, 0xc
inc esi
add ebx, 4
sub dword [ebp - 0xcc], 1
jne 0x100524c1
mov cl, 7
mov dword [ebp - 0x84], 0x68756007
mov dword [ebp - 0x80], 0x6e587772
xor eax, eax
mov dword [ebp - 0x7c], 0x746a6273
mov byte [ebp - 0x78], 0
xor byte [ebp + eax - 0x83], cl
inc eax
cmp eax, 0xb
jae 0x10052596
mov cl, byte [ebp - 0x84]
jmp 0x10052581
lea eax, [ebp - 0x83]
mov byte [ebp - 0x78], 0
push eax
lea ecx, [ebp - 0xa0]
call fcn.100017e0
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], 0x17
push eax
push dword [edi + 0x14]
call fcn.10012500
mov dword [edi + 0xa8], eax
add esp, 8
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x100525ef
inc eax
push 1
push eax
push dword [ebp - 0xa0]
call fcn.10002610
add esp, 0xc
xor eax, eax
mov dword [ebp - 0xf4], 0xc
mov dword [ebp - 0xcc], eax
lea esi, [edi + 0xac]
nop word [eax + eax]
push eax
mov bh, 0x3c
mov byte [ebp - 0xa4], 0
mov al, 0x75
mov byte [ebp - 0xac], bh
mov ah, 0x63
mov byte [ebp - 0xa4], 0
mov cl, 0x48
mov ch, 0x19
xor al, bh
xor ah, bh
sub esp, 0x18
mov byte [ebp - 0xab], al
xor cl, bh
mov byte [ebp - 0xa7], ah
xor ch, bh
mov byte [ebp - 0xaa], cl
mov dl, 0x59
mov byte [ebp - 0xa6], ch
mov dh, 0x58
lea eax, [ebp - 0xab]
mov bl, 0x51
xor dl, bh
xor dh, bh
mov byte [ebp - 0xa9], dl
mov ecx, esp
mov byte [ebp - 0xa5], dh
xor bl, bh
push eax
mov byte [ebp - 0xa8], bl
call fcn.100017e0
lea eax, [ebp - 0xe4]
push eax
call fcn.100322e0
push eax
push dword [edi + 0xa8]
mov dword [ebp - 4], 0x18
call fcn.10012500
mov dword [esi], eax
add esp, 0x28
mov eax, dword [ebp - 0xd0]
cmp eax, 0x10
jb 0x100526bf
inc eax
push 1
push eax
push dword [ebp - 0xe4]
call fcn.10002610
add esp, 0xc
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
call fcn.100512f0
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0x19
call fcn.100512f0
mov cl, 0x30
mov dword [ebp - 0x108], 0x44484430
mov dword [ebp - 0x104], 0x5544596f
xor eax, eax
mov dword [ebp - 0x100], 0x515e6f5d
mov word [ebp - 0xfc], 0x555d
mov byte [ebp - 0xfa], 0
nop dword [eax]
xor byte [ebp + eax - 0x107], cl
inc eax
cmp eax, 0xd
jae 0x10052735
mov cl, byte [ebp - 0x108]
jmp 0x10052720
lea eax, [ebp - 0x107]
mov byte [ebp - 0xfa], 0
push eax
lea ecx, [ebp - 0xe4]
call fcn.100017e0
lea eax, [ebp - 0xe4]
mov byte [ebp - 4], 0x1a
push eax
push dword [esi]
call fcn.10012500
mov dword [ebp - 0x70], eax
add esp, 8
mov eax, dword [ebp - 0xd0]
mov byte [ebp - 4], 0x19
cmp eax, 0x10
jb 0x10052787
inc eax
push 1
push eax
push dword [ebp - 0xe4]
call fcn.10002610
add esp, 0xc
mov al, 0x1b
mov byte [ebp - 0xf0], 0x6f
mov dl, al
mov byte [ebp - 0x71], 0xa
xor al, byte [ebp - 0xf0]
mov cl, 0x17
mov byte [ebp - 0xef], al
mov ah, 0x1f
mov al, byte [ebp - 0xf0]
mov ch, 0x1d
xor cl, al
mov byte [ebp - 0xe6], 0
xor ch, al
mov byte [ebp - 0xee], cl
xor dl, al
mov byte [ebp - 0xea], ch
xor ah, al
mov byte [ebp - 0xed], dl
mov dh, 6
mov byte [ebp - 0xeb], ah
xor dh, al
mov byte [ebp - 0xe6], 0
mov bl, 0x30
mov byte [ebp - 0xe9], dh
xor bl, al
lea ecx, [ebp - 0xe4]
mov bh, 0xc
mov byte [ebp - 0xec], bl
xor bh, al
mov al, byte [ebp - 0x71]
xor al, byte [ebp - 0xf0]
mov byte [ebp - 0xe7], al
lea eax, [ebp - 0xef]
push eax
mov byte [ebp - 0xe8], bh
call fcn.100017e0
lea eax, [ebp - 0xe4]
mov byte [ebp - 4], 0x1b
push eax
push dword [esi]
call fcn.10012500
mov dword [ebp - 0x6c], eax
add esp, 8
mov eax, dword [ebp - 0xd0]
mov byte [ebp - 4], 0x19
cmp eax, 0x10
jb 0x10052854
inc eax
push 1
push eax
push dword [ebp - 0xe4]
call fcn.10002610
add esp, 0xc
mov cl, 0x5a
mov dword [ebp - 0x20], 0x2e222e5a
mov dword [ebp - 0x1c], 0x3b2f2b05
xor eax, eax
mov dword [ebp - 0x18], 0x2e332e34
mov word [ebp - 0x14], 0x2333
mov byte [ebp - 0x12], 0
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 0xd
jae 0x10052886
mov cl, byte [ebp - 0x20]
jmp 0x10052877
lea eax, [ebp - 0x1f]
mov byte [ebp - 0x12], 0
push eax
lea ecx, [ebp - 0xe4]
call fcn.100017e0
lea eax, [ebp - 0xe4]
mov byte [ebp - 4], 0x1c
push eax
push dword [esi]
call fcn.10012500
mov dword [ebp - 0x68], eax
add esp, 8
mov eax, dword [ebp - 0xd0]
mov byte [ebp - 4], 0x19
cmp eax, 0x10
jb 0x100528d2
inc eax
push 1
push eax
push dword [ebp - 0xe4]
call fcn.10002610
add esp, 0xc
mov cl, 0x55
mov dword [ebp - 0xbc], 0x3b213755
mov dword [ebp - 0xb8], 0x2720250a
xor eax, eax
mov dword [ebp - 0xb4], 0x26343d36
mov word [ebp - 0xb0], 0x30
nop dword [eax]
xor byte [ebp + eax - 0xbb], cl
inc eax
cmp eax, 0xc
jae 0x10052915
mov cl, byte [ebp - 0xbc]
jmp 0x10052900
lea eax, [ebp - 0xbb]
mov byte [ebp - 0xaf], 0
push eax
lea ecx, [ebp - 0xe4]
call fcn.100017e0
lea eax, [ebp - 0xe4]
mov byte [ebp - 4], 0x1d
push eax
push dword [esi]
call fcn.10012500
mov dword [ebp - 0x64], eax
add esp, 8
mov eax, dword [ebp - 0xd0]
mov byte [ebp - 4], 0x19
cmp eax, 0x10
jb 0x10052967
inc eax
push 1
push eax
push dword [ebp - 0xe4]
call fcn.10002610
add esp, 0xc
mov byte [ebp - 0xc8], 2
mov al, 0x60
xor al, byte [ebp - 0xc8]
mov cl, 0x76
mov byte [ebp - 0xc7], al
mov ah, 0x61
mov al, byte [ebp - 0xc8]
mov bh, cl
xor ah, al
mov byte [ebp - 0xbf], 0
mov dl, 0x6c
mov byte [ebp - 0xc3], ah
mov ch, 0x63
mov byte [ebp - 0xbf], 0
mov dh, 0x70
xor cl, al
xor ch, al
mov byte [ebp - 0xc6], cl
mov bl, 0x5d
mov byte [ebp - 0xc2], ch
xor dl, al
lea ecx, [ebp - 0xe4]
xor bl, al
mov byte [ebp - 0xc5], dl
xor dh, al
mov byte [ebp - 0xc4], bl
xor bh, al
mov byte [ebp - 0xc1], dh
lea eax, [ebp - 0xc7]
mov byte [ebp - 0xc0], bh
push eax
call fcn.100017e0
lea eax, [ebp - 0xe4]
mov byte [ebp - 4], 0x1e
push eax
push dword [esi]
call fcn.10012500
mov dword [ebp - 0x60], eax
add esp, 8
mov eax, dword [ebp - 0xd0]
mov byte [ebp - 4], 0x19
cmp eax, 0x10
jb 0x10052a21
inc eax
push 1
push eax
push dword [ebp - 0xe4]
call fcn.10002610
add esp, 0xc
mov al, 0x5e
mov byte [ebp - 0x84], 0x3f
mov bl, al
mov byte [ebp - 0x71], 0x51
xor al, byte [ebp - 0x84]
mov cl, 0x4d
mov byte [ebp - 0x83], al
mov dl, 0x5a
mov al, byte [ebp - 0x84]
mov ah, 0x60
xor cl, al
mov byte [ebp - 0x7a], 0
xor dl, al
mov byte [ebp - 0x82], cl
xor bl, al
mov byte [ebp - 0x81], dl
xor ah, al
mov byte [ebp - 0x80], bl
mov ch, 0x56
mov byte [ebp - 0x7f], ah
xor ch, al
mov byte [ebp - 0x7a], 0
mov dh, 0x5c
mov byte [ebp - 0x7e], ch
xor dh, al
lea ecx, [ebp - 0xe4]
mov bh, 0x50
mov byte [ebp - 0x7d], dh
xor bh, al
mov al, byte [ebp - 0x71]
xor al, byte [ebp - 0x84]
mov byte [ebp - 0x7b], al
lea eax, [ebp - 0x83]
push eax
mov byte [ebp - 0x7c], bh
call fcn.100017e0
lea eax, [ebp - 0xe4]
mov byte [ebp - 4], 0x1f
push eax
push dword [esi]
call fcn.10012500
add esp, 8
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0x19
call fcn.10001840
call fcn.1000c2c0
mov ebx, eax
test ebx, ebx
je 0x10052b98
mov dword [ebp - 0x58], ebx
call fcn.10013160
test eax, eax
je 0x10052b89
mov dword [ebx], eax
push dword [edi + 0xa8]
push eax
call fcn.10012a70
mov dword [esp + 4], 0
mov dword [esp], 0
sub esp, 0x18
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x3f340000
mov dword [esp + 8], 0x3f340000
mov dword [esp + 4], 0
mov dword [esp], 0
push dword [ebx]
call fcn.100132f0
push 0xb
push dword [ebx]
call fcn.10012ba0
push pe_nt_image_headers32
push dword [ebx]
call fcn.10012b70
push dword [ebp - 0x5c]
lea eax, [ebp - 0x98]
push eax
call fcn.10012630
movups xmm0, xmmword [eax]
lea eax, [ebp - 0x30]
push eax
movups xmmword [ebp - 0x30], xmm0
push dword [ebx]
call fcn.10013180
add esp, 0x44
lea eax, [ebp - 0x30]
push eax
push dword [ebx]
call fcn.10012a40
push 0
push dword [ebx]
call fcn.10012be0
add esp, 0x10
lea eax, [ebp - 0x70]
push eax
lea ecx, [edi + 0xdc]
call fcn.10057890
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
test ecx, ecx
je 0x10052bba
mov eax, dword [ebp - 0x44]
sub eax, ecx
sar eax, 2
push 4
push eax
push ecx
call fcn.10002610
add esp, 0xc
mov eax, dword [ebp - 0xcc]
add esi, 4
inc eax
sub dword [ebp - 0xf4], 1
mov dword [ebp - 0xcc], eax
jne 0x10052610
mov cl, 0x2b
mov byte [ebp - 0x84], 0x59
mov byte [ebp - 0x71], cl
mov al, 0x3e
xor al, byte [ebp - 0x84]
mov ah, 0x29
xor cl, byte [ebp - 0x84]
mov ch, 6
mov byte [ebp - 0x83], al
mov dl, 0x36
mov al, byte [ebp - 0x71]
mov dh, 0x3a
mov byte [ebp - 0x82], cl
mov bl, 0x2c
mov cl, byte [ebp - 0x84]
mov bh, 0x38
xor al, cl
mov byte [ebp - 0x85], 0x2d
mov byte [ebp - 0x7b], al
xor ah, cl
mov al, byte [ebp - 0x85]
xor ch, cl
xor al, cl
mov byte [ebp - 0x7f], ah
mov byte [ebp - 0x7a], al
xor dl, cl
xor bl, cl
mov byte [ebp - 0x7e], ch
xor dh, cl
mov byte [ebp - 0x79], 0
xor bh, cl
mov byte [ebp - 0x81], dl
lea eax, [ebp - 0x83]
mov byte [ebp - 0x80], bl
push eax
lea ecx, [ebp - 0xe4]
mov byte [ebp - 0x7d], dh
mov byte [ebp - 0x7c], bh
mov byte [ebp - 0x79], 0
call fcn.100017e0
lea eax, [ebp - 0xe4]
mov dword [ebp - 4], 0x20
push eax
push dword [edi + 0x14]
call fcn.10012500
add esp, 8
mov dword [edi + 0xf4], eax
lea ecx, [ebp - 0xe4]
mov dword [ebp - 4], 0xffffffff
call fcn.10001840
xor ecx, ecx
mov dword [ebp - 0xf8], 6
lea eax, [edi + 0xfc]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xcc], eax
push ecx
mov bh, 0x49
mov byte [ebp - 0xa4], 0
mov al, 0x2a
mov byte [ebp - 0xac], bh
mov ah, 0x16
mov byte [ebp - 0xa4], 0
mov cl, 0x28
mov ch, 0x6c
xor al, bh
xor ah, bh
sub esp, 0x18
mov byte [ebp - 0xab], al
xor cl, bh
mov byte [ebp - 0xa7], ah
xor ch, bh
mov byte [ebp - 0xaa], cl
mov dl, 0x3b
mov byte [ebp - 0xa6], ch
mov dh, 0x2d
lea eax, [ebp - 0xab]
mov bl, 0x3d
xor dl, bh
xor dh, bh
mov byte [ebp - 0xa9], dl
mov ecx, esp
mov byte [ebp - 0xa5], dh
xor bl, bh
push eax
mov byte [ebp - 0xa8], bl
call fcn.100017e0
lea eax, [ebp - 0xe4]
push eax
call fcn.100322e0
push eax
push dword [edi + 0xf4]
mov dword [ebp - 4], 0x21
call fcn.10012500
add esp, 0x28
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe4]
mov esi, eax
call fcn.10001840
mov cl, 0x2b
mov byte [ebp - 0x84], 0x4a
mov al, cl
mov byte [ebp - 0x71], 0x3e
mov dh, cl
mov byte [ebp - 0x7a], 0
xor cl, byte [ebp - 0x84]
mov ah, 0x15
mov byte [ebp - 0x83], cl
mov dl, 0x38
mov cl, byte [ebp - 0x84]
mov ch, 0x29
xor al, cl
mov byte [ebp - 0x7a], 0
mov byte [ebp - 0x80], al
xor ah, cl
mov al, byte [ebp - 0x71]
mov bh, dl
xor al, cl
mov byte [ebp - 0x7f], ah
xor ch, cl
mov byte [ebp - 0x7b], al
mov bl, 0x2f
mov byte [ebp - 0x7e], ch
xor dl, cl
lea eax, [ebp - 0x83]
xor bl, cl
mov byte [ebp - 0x82], dl
xor dh, cl
mov byte [ebp - 0x81], bl
xor bh, cl
mov byte [ebp - 0x7d], dh
push eax
lea ecx, [ebp - 0xe4]
mov byte [ebp - 0x7c], bh
call fcn.100017e0
lea eax, [ebp - 0xe4]
mov dword [ebp - 4], 0x22
push eax
push esi
call fcn.10012500
mov ebx, dword [ebp - 0xcc]
lea ecx, [ebp - 0xe4]
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov dword [ebx - 4], eax
call fcn.10001840
call fcn.1000c2c0
test eax, eax
je 0x10052ed4
mov dword [ebx], eax
call fcn.10013160
test eax, eax
je 0x10052ed4
mov ecx, dword [ebx]
mov dword [ecx], eax
mov eax, dword [ebx]
push dword [edi + 0xf4]
push dword [eax]
call fcn.10012a70
mov eax, dword [ebx]
mov dword [esp + 4], 0
mov dword [esp], 0
sub esp, 0x18
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x3f340000
mov dword [esp + 8], 0x3f340000
mov dword [esp + 4], 0
mov dword [esp], 0
push dword [eax]
call fcn.100132f0
mov eax, dword [ebx]
push 0xb
push dword [eax]
call fcn.10012ba0
mov eax, dword [ebx]
push pe_nt_image_headers32
push dword [eax]
call fcn.10012b70
push dword [ebx - 4]
lea eax, [ebp - 0x98]
push eax
call fcn.10012630
movups xmm0, xmmword [eax]
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebx]
movups xmmword [ebp - 0x30], xmm0
push dword [eax]
call fcn.10013180
add esp, 0x44
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebx]
push dword [eax]
call fcn.10012a40
mov eax, dword [ebx]
push 0
push dword [eax]
call fcn.10012be0
add esp, 0x10
mov ecx, dword [ebp - 0xf4]
mov dword [ebx + 0x10], 0
inc ecx
mov dword [ebx + 0xc], 0
mov dword [ebx + 8], 0
mov dword [ebx + 4], 0
add ebx, 0x18
sub dword [ebp - 0xf8], 1
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xcc], ebx
jne 0x10052cb3
movaps xmm0, xmmword [0x1006cd10]
xor ecx, ecx
movups xmmword [ebp - 0x9c], xmm0
mov word [ebp - 0x8c], 0x5e
nop dword [eax]
mov al, byte [ebp - 0x9c]
xor byte [ebp + ecx - 0x9b], al
inc ecx
cmp ecx, 0x10
jb 0x10052f30
lea eax, [ebp - 0x9b]
mov byte [ebp - 0x8b], 0
push eax
lea ecx, [ebp - 0xe4]
call fcn.100017e0
lea eax, [ebp - 0xe4]
mov dword [ebp - 4], 0x23
push eax
push dword [edi + 0x14]
call fcn.10012500
add esp, 8
mov dword [edi + 0x188], eax
lea ecx, [ebp - 0xe4]
mov dword [ebp - 4], 0xffffffff
call fcn.10001840
movaps xmm0, xmmword [0x1006caf0]
xor ecx, ecx
movups xmmword [ebp - 0x20], xmm0
nop word [eax + eax]
mov al, byte [ebp - 0x20]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 0xe
jb 0x10052fa0
lea eax, [ebp - 0x1f]
mov byte [ebp - 0x11], 0
push eax
lea ecx, [ebp - 0xe4]
call fcn.100017e0
lea eax, [ebp - 0xe4]
mov dword [ebp - 4], 0x24
push eax
push dword [edi + 0x14]
call fcn.10012500
add esp, 8
mov dword [edi + 0x18c], eax
lea ecx, [ebp - 0xe4]
mov dword [ebp - 4], 0xffffffff
call fcn.10001840
mov cl, 0x66
mov dword [ebp - 0xbc], 0x8120466
mov dword [ebp - 0xb8], 0x3141639
xor eax, eax
mov dword [ebp - 0xb4], 0x13090f10
mov word [ebp - 0xb0], 0x15
nop dword [eax]
xor byte [ebp + eax - 0xbb], cl
inc eax
cmp eax, 0xc
jae 0x10053035
mov cl, byte [ebp - 0xbc]
jmp 0x10053020
lea eax, [ebp - 0xbb]
mov byte [ebp - 0xaf], 0
push eax
lea ecx, [ebp - 0xe4]
call fcn.100017e0
lea eax, [ebp - 0xe4]
mov dword [ebp - 4], 0x25
push eax
push dword [edi + 0x14]
call fcn.10012500
add esp, 8
mov dword [edi + 0x190], eax
lea ecx, [ebp - 0xe4]
mov dword [ebp - 4], 0xffffffff
call fcn.10001840
mov al, 0xf
mov byte [ebp - 0xc8], 0x7b
mov dl, al
mov byte [ebp - 0xbf], 0
xor al, byte [ebp - 0xc8]
mov ah, 0xb
mov byte [ebp - 0xc7], al
mov cl, 3
mov al, byte [ebp - 0xc8]
mov ch, 0x1a
xor ah, al
mov byte [ebp - 0xbf], 0
mov dh, 0x1c
mov byte [ebp - 0xc3], ah
xor cl, al
xor ch, al
mov bl, 0x24
mov byte [ebp - 0xc6], cl
mov bh, 0x1e
mov byte [ebp - 0xc2], ch
xor dl, al
lea ecx, [ebp - 0xe4]
xor bl, al
mov byte [ebp - 0xc5], dl
xor dh, al
mov byte [ebp - 0xc4], bl
xor bh, al
mov byte [ebp - 0xc1], dh
lea eax, [ebp - 0xc7]
mov byte [ebp - 0xc0], bh
push eax
call fcn.100017e0
lea eax, [ebp - 0xe4]
mov dword [ebp - 4], 0x26
push eax
push dword [edi + 0x14]
call fcn.10012500
add esp, 8
mov dword [edi + 0x194], eax
lea ecx, [ebp - 0xe4]
mov dword [ebp - 4], 0xffffffff
call fcn.10001840
mov byte [ebp - 0xf0], 0x4d
mov al, 0x2f
xor al, byte [ebp - 0xf0]
mov dl, 0x23
mov cl, 0x39
mov byte [ebp - 0xef], al
mov al, byte [ebp - 0xf0]
mov ah, dl
mov bl, 0x12
mov byte [ebp - 0xe7], 0
mov bh, cl
xor dl, al
xor cl, al
mov byte [ebp - 0xed], dl
xor bl, al
mov byte [ebp - 0xee], cl
xor ah, al
mov byte [ebp - 0xec], bl
mov ch, 0x28
mov byte [ebp - 0xeb], ah
mov dh, 0x35
xor ch, al
xor dh, al
mov byte [ebp - 0xea], ch
xor bh, al
mov byte [ebp - 0xe9], dh
lea eax, [ebp - 0xef]
mov byte [ebp - 0xe8], bh
push eax
lea ecx, [ebp - 0x110]
mov byte [ebp - 0xe7], 0
call fcn.100017e0
lea eax, [ebp - 0x110]
mov dword [ebp - 4], 0x27
push eax
push dword [edi + 0x14]
call fcn.10012500
add esp, 8
mov dword [edi + 0x198], eax
lea ecx, [ebp - 0x110]
call fcn.10001840
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1005f6be
mov esp, ebp
pop ebp
ret