Function at 0x100144d0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x10074fd7
mov eax, dword fs:[0]
push eax
sub esp, 0xd8
mov eax, dword [0x1008c54c]
xor eax, esp
mov dword [esp + 0xd0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1008c54c]
xor eax, esp
push eax
lea eax, [esp + 0xec]
mov dword fs:[0], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x14], eax
test byte [0x10091310], 1
mov ecx, 0x8a
mov word [esp + 0x80], cx
mov edx, 0xbb
mov word [esp + 0x82], dx
mov ecx, 0xd4
mov word [esp + 0x84], cx
mov edx, 0xdb
mov word [esp + 0x86], dx
mov ecx, 0x4c
mov word [esp + 0x88], cx
mov edx, 0xd0
mov word [esp + 0x8a], dx
mov ecx, 0x74
mov word [esp + 0x8c], cx
mov edx, 0xf7
mov word [esp + 0x8e], dx
mov ebp, 4
mov ecx, ebp
mov word [esp + 0x90], cx
mov edx, 0xeb
mov word [esp + 0x92], dx
mov ecx, 0xf0
mov word [esp + 0x94], cx
mov edx, 0x80
mov word [esp + 0x96], dx
mov ecx, 0x2e
mov edx, ecx
mov word [esp + 0x98], cx
mov word [esp + 0x9a], dx
mov ecx, 0x22
mov word [esp + 0x9c], cx
mov edx, 0xe6
mov word [esp + 0xc0], dx
mov ecx, 0xda
mov word [esp + 0xc2], cx
mov edx, 0xa7
mov word [esp + 0xc4], dx
mov ecx, 0xaf
mov word [esp + 0xc6], cx
mov edx, 0x13
mov word [esp + 0xc8], dx
mov ecx, 0xb3
mov word [esp + 0xca], cx
mov edx, 0x18
mov ecx, 0x9e
mov word [esp + 0xcc], dx
mov word [esp + 0xce], cx
mov edx, 0x67
mov ecx, 0x80
mov word [esp + 0xd0], dx
mov word [esp + 0xd2], cx
mov edx, 0xaf
mov ecx, 0xf4
mov word [esp + 0xd4], dx
mov word [esp + 0xd6], cx
mov edx, 0x47
mov ebx, 3
mov ecx, 0x43
mov byte [0x1008d8fc], 0x49
mov dword [esp + 0x1c], ebx
mov word [esp + 0xd8], dx
mov word [esp + 0xda], cx
mov word [esp + 0xdc], dx
lea edi, [eax + 1]
jne 0x100146f0
or dword [0x10091310], edi
mov dword [esp + 0xf4], eax
lea eax, [esp + 0xc0]
lea ecx, [esp + 0x80]
call fcn.1002fee0
push 0x10076bc0
call fcn.1005f1f6
add esp, 4
mov dword [esp + 0xf4], 0xffffffff
test byte [0x1009130c], 1
mov eax, dword [0x100911ec]
mov dword [esp + 0x20], eax
mov ecx, 0xf0
mov word [esp + 0xa4], cx
mov edx, 0xf5
mov word [esp + 0xa6], dx
mov eax, 0x56
mov ecx, 0x27
mov edx, 0xff
mov word [esp + 0xa8], ax
mov word [esp + 0xaa], cx
mov word [esp + 0xac], dx
mov eax, 0x21
mov ecx, 0x42
mov edx, 0x95
mov word [esp + 0xae], ax
mov word [esp + 0xb0], cx
mov word [esp + 0x80], dx
mov eax, 0x9b
mov ecx, 0x37
mov edx, 0x45
mov word [esp + 0x82], ax
mov word [esp + 0x84], cx
mov word [esp + 0x86], dx
mov eax, 0x93
mov ecx, 0x44
mov edx, 0x26
mov dword [esp + 0x24], 2
mov word [esp + 0x88], ax
mov word [esp + 0x8a], cx
mov word [esp + 0x8c], dx
jne 0x100147fd
or dword [0x1009130c], edi
mov dword [esp + 0xf4], edi
lea esi, [esp + 0x80]
lea edi, [esp + 0xa4]
call fcn.1002ffd0
push 0x10076bd0
call fcn.1005f1f6
add esp, 4
mov dword [esp + 0xf4], 0xffffffff
mov edi, 1
test byte [0x10091308], 1
mov eax, dword [0x100911e8]
mov dword [esp + 0x28], eax
mov ecx, 0x65
mov word [esp + 0xa4], cx
mov edx, 0x80
mov word [esp + 0xa6], dx
mov eax, 0x48
mov word [esp + 0xa8], ax
mov ecx, 0xb3
mov word [esp + 0xaa], cx
mov edx, 0x10
mov word [esp + 0xac], dx
mov eax, 0x49
mov word [esp + 0xae], ax
mov ecx, 0x53
mov word [esp + 0xb0], cx
mov edx, 0xa3
mov word [esp + 0xb2], dx
mov eax, 0xb0
mov word [esp + 0xb4], ax
mov ecx, 0x8f
mov word [esp + 0xb6], cx
mov edx, 0x4b
mov word [esp + 0xb8], dx
mov eax, 0xef
mov word [esp + 0xba], ax
mov ecx, 0x17
mov edx, 0xe5
mov eax, 0x2e
mov word [esp + 0x80], cx
mov word [esp + 0x82], dx
mov word [esp + 0x84], ax
mov ecx, 0xc1
mov edx, 0x75
mov eax, 0x3a
mov word [esp + 0x86], cx
mov word [esp + 0x88], dx
mov word [esp + 0x8a], ax
mov ecx, 0x3b
mov edx, 0xfc
mov eax, 0xc4
mov word [esp + 0x8c], cx
mov word [esp + 0x8e], dx
mov word [esp + 0x90], ax
mov ecx, 0xe6
mov edx, 0x26
mov eax, 0x8a
mov dword [esp + 0x2c], 0
mov word [esp + 0x92], cx
mov word [esp + 0x94], dx
mov word [esp + 0x96], ax
jne 0x1001498b
or dword [0x10091308], edi
lea eax, [esp + 0x80]
lea ecx, [esp + 0xa4]
mov dword [esp + 0xf4], 2
call fcn.1002f9b0
push 0x10076be0
call fcn.1005f1f6
add esp, 4
mov dword [esp + 0xf4], 0xffffffff
test byte [0x10091304], 1
mov ecx, dword [0x1009120c]
mov dword [esp + 0x30], ecx
mov edx, 0x67
mov word [esp + 0xc0], dx
mov eax, 0x62
mov word [esp + 0xc2], ax
mov ecx, 0x10
mov word [esp + 0xc4], cx
mov edx, 0x89
mov word [esp + 0xc6], dx
mov eax, 0xa6
mov word [esp + 0xc8], ax
mov ecx, 0x15
mov word [esp + 0xca], cx
mov edx, 0xde
mov word [esp + 0xcc], dx
mov eax, 0xc5
mov word [esp + 0xce], ax
mov ecx, 0x54
mov word [esp + 0xd0], cx
mov edx, 0xf2
mov word [esp + 0xd2], dx
mov eax, 0x3a
mov word [esp + 0xd4], ax
mov ecx, 0xd2
mov word [esp + 0xd6], cx
mov edx, 0xbf
mov word [esp + 0xd8], dx
mov eax, 0x5e
mov word [esp + 0xda], ax
mov ecx, 0x85
mov word [esp + 0xdc], cx
mov edx, 0x8a
mov word [esp + 0xde], dx
mov eax, 0xc6
mov word [esp + 0xe0], ax
mov ecx, 0xb
mov word [esp + 0x80], cx
mov edx, ebx
mov word [esp + 0x82], dx
mov eax, 0x63
mov word [esp + 0x84], ax
mov ecx, 0xfd
mov word [esp + 0x86], cx
mov edx, 0xf9
mov word [esp + 0x88], dx
mov eax, 0x67
mov ecx, 0xbb
mov edx, 0xa3
mov word [esp + 0x8a], ax
mov word [esp + 0x8c], cx
mov word [esp + 0x8e], dx
mov eax, 0x26
mov ecx, 0x97
mov edx, 0x49
mov word [esp + 0x90], ax
mov word [esp + 0x92], cx
mov word [esp + 0x94], dx
mov eax, 0xba
mov ecx, 0xe0
mov edx, 0x2a
mov word [esp + 0x96], ax
mov word [esp + 0x98], cx
mov word [esp + 0x9a], dx
mov eax, 0xec
mov ecx, 0xe7
mov edx, 0xa3
mov dword [esp + 0x34], edi
mov word [esp + 0x9c], ax
mov word [esp + 0x9e], cx
mov word [esp + 0xa0], dx
jne 0x10014b92
or dword [0x10091304], edi
lea eax, [esp + 0xc0]
push eax
lea eax, [esp + 0x84]
mov dword [esp + 0xf8], ebx
call fcn.1002fbd0
push 0x10076bf0
call fcn.1005f1f6
add esp, 4
mov dword [esp + 0xf4], 0xffffffff
test byte [0x10091300], 1
mov ecx, dword [0x10091200]
mov dword [esp + 0x38], ecx
mov edx, 0xb5
mov word [esp + 0xa4], dx
mov eax, 0xd0
mov word [esp + 0xa6], ax
mov ecx, 0x82
mov word [esp + 0xa8], cx
mov edx, 0x21
mov word [esp + 0xaa], dx
mov eax, 0x1f
mov word [esp + 0xac], ax
mov ecx, 0x5c
mov word [esp + 0xae], cx
mov edx, 0x91
mov eax, 0xdd
mov ecx, 0x10
mov word [esp + 0xb0], dx
mov word [esp + 0xb2], ax
mov word [esp + 0xb4], cx
mov edx, 0xd4
mov eax, 0xb6
mov ecx, 0xe4
mov word [esp + 0x80], dx
mov word [esp + 0x82], ax
mov word [esp + 0x84], cx
mov edx, 0x48
mov eax, 0x73
mov ecx, 0x35
mov word [esp + 0x86], dx
mov word [esp + 0x88], ax
mov word [esp + 0x8a], cx
mov edx, 0xf0
mov eax, 0xa9
mov ecx, 0x75
mov dword [esp + 0x3c], ebp
mov word [esp + 0x8c], dx
mov word [esp + 0x8e], ax
mov word [esp + 0x90], cx
jne 0x10014cd5
or dword [0x10091300], edi
lea edi, [esp + 0x80]
lea ebx, [esp + 0xa4]
mov esi, 0x100912fc
mov dword [esp + 0xf4], ebp
call fcn.1002fc90
push 0x10076c00
call fcn.1005f1f6
add esp, 4
mov dword [esp + 0xf4], 0xffffffff
mov edi, 1
mov edx, dword [0x100912fc]
mov dword [esp + 0x40], edx
mov ecx, 0x74
mov word [esp + 0xa4], cx
mov edx, 0xc4
mov word [esp + 0xa6], dx
mov ecx, 0xd
mov word [esp + 0xa8], cx
mov edx, 0x91
mov word [esp + 0xaa], dx
mov ecx, 0xdb
mov word [esp + 0xac], cx
mov edx, 0x11
mov word [esp + 0xae], dx
mov ecx, 0x82
mov word [esp + 0xb0], cx
mov edx, 0xf
mov word [esp + 0xb2], dx
xor edx, edx
test byte [0x100912f8], 1
mov ecx, 0x5e
mov word [esp + 0xb4], cx
mov word [esp + 0x80], dx
mov ecx, 0xad
mov edx, 0x60
mov word [esp + 0x82], cx
mov word [esp + 0x84], dx
mov ecx, 0xf4
mov edx, 0xa8
mov word [esp + 0x86], cx
mov word [esp + 0x88], dx
mov ecx, 0x65
mov edx, 0xe3
mov word [esp + 0x8a], cx
mov word [esp + 0x8c], dx
mov eax, 5
mov ecx, 0x62
mov edx, 0x2e
mov dword [esp + 0x44], eax
mov word [esp + 0x8e], cx
mov word [esp + 0x90], dx
jne 0x10014e1a
or dword [0x100912f8], edi
lea edi, [esp + 0x80]
lea ebx, [esp + 0xa4]
mov esi, 0x100912f4
mov dword [esp + 0xf4], eax
call fcn.1002fc90
push 0x10076c10
call fcn.1005f1f6
add esp, 4
mov dword [esp + 0xf4], 0xffffffff
mov edi, 1
test byte [0x100912f0], 1
mov eax, dword [0x100912f4]
mov dword [esp + 0x48], eax
mov ecx, 0x5b
mov edx, 0xae
mov eax, 0xbe
mov word [esp + 0x80], cx
mov word [esp + 0x82], dx
mov word [esp + 0x84], ax
mov esi, 6
mov ecx, 0x38
mov edx, 0xc7
mov eax, 0xda
mov dword [esp + 0x4c], esi
mov word [esp + 0xa4], cx
mov word [esp + 0xa6], dx
mov word [esp + 0xa8], ax
jne 0x10014ee6
or dword [0x100912f0], edi
push 8
mov dword [esp + 0xf8], esi
call fcn.1004407f
add esp, 4
mov dword [0x100911e4], eax
xor eax, eax
mov cx, word [esp + eax + 0xa4]
xor cx, word [esp + eax + 0x80]
mov edx, dword [0x100911e4]
mov word [eax + edx], cx
add eax, 2
cmp eax, esi
jb 0x10014ea1
mov ecx, dword [0x100911e4]
xor eax, eax
push 0x10076c20
mov word [ecx + 6], ax
call fcn.1005f1f6
add esp, 4
mov dword [esp + 0xf4], 0xffffffff
test byte [0x100912ec], 1
mov edx, dword [0x100911e4]
mov dword [esp + 0x50], edx
mov eax, 0x89
mov ecx, 0xb2
mov edx, 0x4f
mov word [esp + 0xa4], ax
mov word [esp + 0xa6], cx
mov word [esp + 0xa8], dx
mov eax, 0xe6
mov ecx, 0x67
mov edx, 0xf7
mov word [esp + 0xaa], ax
mov word [esp + 0xac], cx
mov word [esp + 0xae], dx
mov eax, 0xed
mov ecx, 0xdd
mov edx, 0x22
mov word [esp + 0x80], ax
mov word [esp + 0x82], cx
mov word [esp + 0x84], dx
mov ebp, 7
mov eax, 0x87
mov ecx, 0xe
mov edx, 0x99
mov dword [esp + 0x54], ebp
mov word [esp + 0x86], ax
mov word [esp + 0x88], cx
mov word [esp + 0x8a], dx
jne 0x10014fd8
or dword [0x100912ec], 1
lea esi, [esp + 0x80]
lea edi, [esp + 0xa4]
mov dword [esp + 0xf4], ebp
call fcn.10030070
push 0x10076c30
call fcn.1005f1f6
add esp, 4
or ebx, 0xffffffff
mov dword [esp + 0xf4], ebx
jmp 0x10014fdb
or ebx, 0xffffffff
test byte [0x100912e8], 1
mov eax, dword [0x100911e0]
mov dword [esp + 0x58], eax
mov ecx, 3
mov word [esp + 0x80], cx
mov edx, 0xe3
mov word [esp + 0x82], dx
mov eax, 0xe4
mov word [esp + 0x84], ax
mov ecx, 0xe9
mov word [esp + 0x86], cx
mov edx, 0x79
mov word [esp + 0x88], dx
mov eax, 0x9b
mov word [esp + 0x8a], ax
mov ecx, 0x6d
mov word [esp + 0x8c], cx
mov edx, 0xef
mov word [esp + 0x8e], dx
mov eax, 0x3e
mov word [esp + 0x90], ax
mov ecx, 0x46
mov word [esp + 0x92], cx
mov edx, 0x68
mov eax, 0x6f
mov ecx, 0x82
mov word [esp + 0x94], dx
mov word [esp + 0xa4], ax
mov word [esp + 0xa6], cx
mov edx, 0x97
mov eax, 0x9d
mov ecx, 0x26
mov word [esp + 0xa8], dx
mov word [esp + 0xaa], ax
mov word [esp + 0xac], cx
mov edx, 0xf5
mov eax, 2
mov ecx, 0x9b
mov esi, 8
mov word [esp + 0xae], dx
mov word [esp + 0xb0], ax
mov word [esp + 0xb2], cx
mov edx, 0x57
mov eax, 0x20
mov ecx, 0x11
mov dword [esp + 0x5c], esi
mov word [esp + 0xb4], dx
mov word [esp + 0xb6], ax
mov word [esp + 0xb8], cx
lea edi, [esi - 7]
jne 0x1001514c
or dword [0x100912e8], edi
lea edx, [esp + 0x80]
push edx
lea eax, [esp + 0xa8]
mov dword [esp + 0xf8], esi
call fcn.1002fc30
push 0x10076c40
call fcn.1005f1f6
add esp, 4
mov dword [esp + 0xf4], ebx
test byte [0x100912e4], 1
mov ecx, 0x7c
mov word [esp + 0x80], cx
mov edx, 0x70
mov word [esp + 0x82], dx
mov ecx, 0x29
mov word [esp + 0x84], cx
mov edx, 0xb1
mov word [esp + 0x86], dx
mov eax, dword [0x100911fc]
mov ecx, 0x39
mov word [esp + 0x88], cx
mov edx, 0x80
mov word [esp + 0x8a], dx
mov ecx, 0x64
mov word [esp + 0x8c], cx
mov edx, 0xfa
mov word [esp + 0x8e], dx
mov ecx, 0xfe
mov word [esp + 0x90], cx
mov edx, 0xda
mov word [esp + 0x92], dx
mov ecx, 0xcd
mov word [esp + 0x94], cx
mov edx, 0x81
mov word [esp + 0x96], dx
mov ecx, 0xba
mov word [esp + 0x98], cx
mov edx, 0x15
mov word [esp + 0x9a], dx
mov ecx, 0x12
mov word [esp + 0xa4], cx
mov edx, 0x1f
mov word [esp + 0xa6], dx
mov ecx, 0x5d
mov word [esp + 0xa8], cx
mov edx, 0xd8
mov word [esp + 0xaa], dx
mov ecx, 0x5f
mov word [esp + 0xac], cx
mov edx, 0xf9
mov word [esp + 0xae], dx
mov ecx, 0x3b
mov edx, 0x99
mov word [esp + 0xb0], cx
mov word [esp + 0xb2], dx
mov ecx, 0x91
mov edx, 0xaf
mov word [esp + 0xb4], cx
mov word [esp + 0xb6], dx
mov ecx, 0xa3
mov edx, 0xf5
mov dword [esp + 0x60], eax
mov word [esp + 0xb8], cx
mov word [esp + 0xba], dx
mov eax, 9
mov ecx, 0xdf
mov edx, 0x67
mov dword [esp + 0x64], eax
mov word [esp + 0xbc], cx
mov word [esp + 0xbe], dx
jne 0x10015308
or dword [0x100912e4], edi
mov dword [esp + 0xf4], eax
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0xa8]
call fcn.1002fd30
push 0x10076c50
call fcn.1005f1f6
add esp, 4
mov dword [esp + 0xf4], ebx
test byte [0x100912e0], 1
mov ecx, dword [0x100911f8]
mov dword [esp + 0x68], ecx
mov edx, 0xc2
mov word [esp + 0xa4], dx
mov ecx, 0x57
mov edx, 0xbc
mov word [esp + 0xa8], cx
mov word [esp + 0xaa], dx
mov ecx, 0x45
mov edx, 0xb2
mov word [esp + 0xac], cx
mov word [esp + 0x80], dx
mov ecx, 0x7a
mov edx, 0x38
mov word [esp + 0x82], cx
mov word [esp + 0x84], dx
mov eax, 0xa
mov ecx, 0xde
mov edx, 0x20
mov dword [esp + 0x6c], eax
mov word [esp + 0xa6], si
mov word [esp + 0x86], cx
mov word [esp + 0x88], dx
jne 0x100153d5
or dword [0x100912e0], edi
lea esi, [esp + 0x80]
lea edi, [esp + 0xa4]
mov dword [esp + 0xf4], eax
call fcn.10030100
push 0x10076c60
call fcn.1005f1f6
add esp, 4
mov dword [esp + 0xf4], ebx
mov eax, dword [0x100911dc]
mov dl, byte [0x1008d8fd]
mov esi, dword [esp + 0x100]
mov dword [esp + 0x70], eax
mov al, dl
mov bl, 0xa6
imul bl
mov byte [0x1008d8fe], al
mov dword [esp + 0x74], 0xb
mov dword [esp + 0x78], 0
lea ecx, [esp + 0x1c]
sub dl, 0x3f
mov eax, 3
mov byte [0x1008d8fc], dl
cmp esi, eax
je 0x10015465
mov eax, dword [ecx + 8]
add ecx, 8
cmp eax, 0xb
jne 0x10015412
mov eax, dword [esp + 0x18]
xor edx, edx
mov dword [eax + 0x18], ebp
mov dword [eax + 0x14], 0
mov word [eax + 4], dx
mov ecx, dword [esp + 0xec]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xd0]
xor ecx, esp
call fcn.1005f0c0
add esp, 0xe4
ret 0xc
mov eax, dword [ecx + 4]
xor ecx, ecx
xor edi, edi
cmp byte [esp + 0x104], cl
je 0x100154e4
mov word [esp + 0xa8], cx
mov ecx, eax
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xb8], edi
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, di
jne 0x10015490
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [esp + 0xa8]
call fcn.1000aed0
mov edx, esi
push edx
lea eax, [esp + 0xc4]
mov dword [esp + 0xf8], 0xb
push eax
mov dword [esp + 0x1c], 1
call fcn.1001c630
add esp, 8
mov dword [esp + 0xf4], 0xc
mov ebx, 3
jmp 0x1001552e
mov word [esp + 0x84], cx
mov ecx, eax
mov dword [esp + 0x98], ebp
mov dword [esp + 0x94], edi
lea esi, [ecx + 2]
nop
mov dx, word [ecx]
add ecx, 2
cmp dx, di
jne 0x10015500
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [esp + 0x84]
call fcn.1000aed0
mov eax, esi
mov dword [esp + 0xf4], 0xd
mov ebx, 4
mov esi, dword [esp + 0x18]
push 0xffffffffffffffff
xor edx, edx
mov dword [esi + 0x18], ebp
mov dword [esi + 0x14], edi
push edi
mov ecx, esi
mov dword [esp + 0x1c], ebx
mov word [esi + 4], dx
call fcn.100087f0
or ebx, 8
test bl, 4
je 0x10015589
and ebx, 0xfffffffb
cmp dword [esp + 0x98], 8
jb 0x10015571
mov eax, dword [esp + 0x84]
push eax
call fcn.1004408a
add esp, 4
xor ecx, ecx
mov dword [esp + 0x98], ebp
mov dword [esp + 0x94], edi
mov word [esp + 0x84], cx
test bl, 2
je 0x100155c3
and ebx, 0xfffffffd
cmp dword [esp + 0xd8], 8
jb 0x100155ab
mov edx, dword [esp + 0xc4]
push edx
call fcn.1004408a
add esp, 4
xor eax, eax
mov dword [esp + 0xd8], ebp
mov dword [esp + 0xd4], edi
mov word [esp + 0xc4], ax
test bl, 1
je 0x100155e2
cmp dword [esp + 0xbc], 8
jb 0x100155e2
mov ecx, dword [esp + 0xa8]
push ecx
call fcn.1004408a
add esp, 4
mov eax, esi
jmp 0x1001543b