Function at 0x4d1d20
Capabilities:
Access peb ldr_data
Encode data using xor
Get ntdll base address
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
mov eax, edx
push ebx
push esi
push edi
cmp dword [eax], 5
mov dword [esp + 0xc], eax
jne 0x4d3324
cmp dword [eax + 0x14], ecx
jne 0x4d3324
cmp dword [ebp + 8], 0
mov ebx, dword [0x4f37a8]
jne 0x4d203e
test ebx, ebx
jne 0x4d1deb
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 + 0x18], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x1c], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4d1dd1
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 + 0x1c]
imul eax, eax, 0x1000193
mov dword [esp + 0x1c], eax
cmp edi, ebx
jne 0x4d1d95
cmp eax, 0xc0323159
je 0x4d1fed
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x18], ecx
cmp eax, edx
je 0x4d1de3
cmp dword [ecx + 0x18], 0
jne 0x4d1d76
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbf40]
test eax, eax
jne 0x4d1e89
test ebx, ebx
je 0x4d1e82
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x4d1e82
xor ecx, ecx
mov dword [esp + 0x18], ecx
cmp dword [eax + 0x18], ecx
je 0x4d1e82
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x1c], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4d1e6d
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 0x4d1e36
mov ecx, dword [esp + 0x18]
cmp edi, 0x197c87c6
je 0x4d1ff9
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
inc ecx
add eax, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
cmp ecx, dword [edx + 0x18]
jne 0x4d1e26
xor eax, eax
mov dword [0x4fbf40], eax
mov edx, dword [esp + 0xc]
push dword [0x4fba94]
lea ecx, [edx + 0x1c]
push ecx
push dword [edx + 0x18]
call eax
mov ebx, dword [0x4f37a8]
test ebx, ebx
jne 0x4d1f39
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 + 0x18], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x1c], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4d1f1f
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 + 0x1c]
imul eax, eax, 0x1000193
mov dword [esp + 0x1c], eax
cmp edi, ebx
jne 0x4d1ee3
cmp eax, 0xc0323159
je 0x4d2017
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x18], ecx
cmp eax, edx
je 0x4d1f31
cmp dword [ecx + 0x18], 0
jne 0x4d1ec4
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbf48]
test eax, eax
jne 0x4d1fd3
test ebx, ebx
je 0x4d1fcc
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x4d1fcc
xor ecx, ecx
mov dword [esp + 0x18], ecx
cmp dword [eax + 0x18], ecx
je 0x4d1fcc
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x1c], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4d1fb7
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 0x4d1f84
mov ecx, dword [esp + 0x18]
cmp edi, 0xf82d0b14
je 0x4d2023
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
inc ecx
add eax, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
cmp ecx, dword [edx + 0x18]
jne 0x4d1f74
xor eax, eax
mov dword [0x4fbf48], eax
mov edx, dword [esp + 0xc]
push dword [0x4fbac8]
lea ecx, [edx + 0x1c]
push ecx
push dword [edx + 0x18]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x18]
jmp 0x4d1de5
mov edx, dword [esp + 0x14]
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 0x4d1e84
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x18]
jmp 0x4d1f33
mov edx, dword [esp + 0x14]
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 0x4d1fce
test ebx, ebx
jne 0x4d20d6
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 + 0x18], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x1c], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4d20bc
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 + 0x1c]
imul eax, eax, 0x1000193
mov dword [esp + 0x1c], eax
cmp edi, ebx
jne 0x4d2080
cmp eax, 0xc0323159
je 0x4d2754
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x18], ecx
cmp eax, edx
je 0x4d20ce
cmp dword [ecx + 0x18], 0
jne 0x4d2060
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbf48]
test eax, eax
jne 0x4d2174
test ebx, ebx
je 0x4d216d
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x4d216d
xor ecx, ecx
mov dword [esp + 0x18], ecx
cmp dword [eax + 0x18], ecx
je 0x4d216d
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x1c], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4d2158
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 0x4d2121
cmp edi, 0xf82d0b14
je 0x4d2760
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
inc ecx
add eax, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
cmp ecx, dword [edx + 0x18]
jne 0x4d2111
xor eax, eax
mov dword [0x4fbf48], eax
mov edx, dword [esp + 0xc]
push dword [0x4fbac8]
lea ecx, [edx + 0x1c]
push ecx
push dword [edx + 0x18]
mov dword [esp + 0x24], ecx
call eax
mov ebx, dword [0x4fbf30]
test ebx, ebx
jne 0x4d2228
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 + 0x14], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x1c], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4d220e
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 + 0x1c]
imul eax, eax, 0x1000193
mov dword [esp + 0x1c], eax
cmp edi, ebx
jne 0x4d21d2
cmp eax, 0x8b4d9112
je 0x4d2780
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x14], ecx
cmp eax, edx
je 0x4d2220
cmp dword [ecx + 0x18], 0
jne 0x4d21b3
xor ebx, ebx
mov dword [0x4fbf30], ebx
mov eax, dword [0x4fbfb0]
test eax, eax
jne 0x4d22c6
test ebx, ebx
je 0x4d22bf
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x10], eax
cmp eax, ebx
je 0x4d22bf
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [eax + 0x18], ecx
je 0x4d22bf
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x1c], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4d22aa
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 0x4d2273
cmp edi, 0xd91a228b
je 0x4d278c
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc ecx
add eax, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
cmp ecx, dword [edx + 0x18]
jne 0x4d2263
xor eax, eax
mov dword [0x4fbfb0], eax
mov ecx, dword [esp + 0xc]
push 0x61554d
push dword [ecx + 0x18]
call eax
mov ebx, dword [0x4fbf30]
test ebx, ebx
jne 0x4d2376
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 + 0x14], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x1c], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4d235c
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 + 0x1c]
imul eax, eax, 0x1000193
mov dword [esp + 0x1c], eax
cmp edi, ebx
jne 0x4d2320
cmp eax, 0x8b4d9112
je 0x4d27ac
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x14], ecx
cmp eax, edx
je 0x4d236e
cmp dword [ecx + 0x18], 0
jne 0x4d2300
xor ebx, ebx
mov dword [0x4fbf30], ebx
mov eax, dword [0x4fc030]
test eax, eax
jne 0x4d2414
test ebx, ebx
je 0x4d240d
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x10], eax
cmp eax, ebx
je 0x4d240d
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [eax + 0x18], ecx
je 0x4d240d
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x1c], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4d23f8
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 0x4d23c1
cmp edi, 0xd8dbb39b
je 0x4d27b8
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc ecx
add eax, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
cmp ecx, dword [edx + 0x18]
jne 0x4d23b1
xor eax, eax
mov dword [0x4fc030], eax
mov ecx, dword [esp + 0xc]
push 1
push dword [ecx + 0x18]
call eax
mov ebx, dword [0x4f37a8]
test ebx, ebx
jne 0x4d24bc
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 + 0x14], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x1c], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4d24a2
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 + 0x1c]
imul eax, eax, 0x1000193
mov dword [esp + 0x1c], eax
cmp edi, ebx
jne 0x4d2466
cmp eax, 0xc0323159
je 0x4d27d8
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x14], ecx
cmp eax, edx
je 0x4d24b4
cmp dword [ecx + 0x18], 0
jne 0x4d2447
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbf40]
test eax, eax
jne 0x4d255a
test ebx, ebx
je 0x4d2553
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x10], eax
cmp eax, ebx
je 0x4d2553
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [eax + 0x18], ecx
je 0x4d2553
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x1c], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4d253e
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 0x4d2507
cmp edi, 0x197c87c6
je 0x4d27e4
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc ecx
add eax, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
cmp ecx, dword [edx + 0x18]
jne 0x4d24f7
xor eax, eax
mov dword [0x4fbf40], eax
push dword [0x4fbaf8]
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
push esi
push dword [ecx + 0x18]
call eax
mov eax, 0x67
xor ebx, ebx
mov word [esp + 0x40], ax
mov eax, 0xc
mov word [esp + 0x42], ax
movzx eax, word [0x40491c]
add eax, 0xc
mov dword [esp + 0x28], ebx
mov word [esp + 0x44], ax
xor eax, eax
mov word [esp + 0x46], ax
xor edx, edx
mov ax, word [esp + 0x40]
mov ax, word [esp + edx*2 + 0x40]
movzx eax, ax
add eax, 0xfffffff4
mov word [esp + edx*2 + 0x40], ax
inc edx
cmp edx, 3
jb 0x4d25a5
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x3c]
push eax
lea edx, [esp + 0x44]
call fcn.004d33c0
mov ecx, eax
add esp, 4
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x4d3324
nop dword [eax]
test bl, 1
je 0x4d2e69
mov eax, dword [esp + 0x50]
add dword [esi], eax
mov ebx, dword [0x4fbf30]
test ebx, ebx
jne 0x4d268c
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 + 0x20], eax
mov edx, eax
mov dword [esp + 0x10], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x1c], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4d2672
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 + 0x1c]
imul eax, eax, 0x1000193
mov dword [esp + 0x1c], eax
cmp edi, ebx
jne 0x4d2636
cmp eax, 0x8b4d9112
je 0x4d2804
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x10], ecx
cmp eax, edx
je 0x4d2684
cmp dword [ecx + 0x18], 0
jne 0x4d2617
xor ebx, ebx
mov dword [0x4fbf30], ebx
mov eax, dword [0x4fbf78]
test eax, eax
jne 0x4d272a
test ebx, ebx
je 0x4d2723
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x1c], eax
cmp eax, ebx
je 0x4d2723
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [eax + 0x18], ecx
je 0x4d2723
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x20], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4d270e
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 0x4d26d7
cmp edi, 0x88a9b502
je 0x4d2810
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
inc ecx
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], eax
cmp ecx, dword [edx + 0x18]
jne 0x4d26c7
xor eax, eax
mov dword [0x4fbf78], eax
mov ecx, dword [esp + 0xc]
push dword [0x4fbafc]
push dword [ecx + 0x18]
call eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x34], eax
mov eax, ecx
test ecx, ecx
jne 0x4d2830
mov dword [esp + 0x24], ecx
jmp 0x4d2847
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x18]
jmp 0x4d20d0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
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 0x4d216f
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 0x18]
jmp 0x4d2222
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
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 0x4d22c1
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 0x18]
jmp 0x4d2370
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
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 0x4d240f
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 0x18]
jmp 0x4d24b6
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
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 0x4d2555
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x18]
jmp 0x4d2686
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
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 0x4d2725
cmp word [ecx], 0
je 0x4d283f
add eax, 2
cmp word [eax], 0
jne 0x4d2836
sub eax, ecx
sar eax, 1
mov dword [esp + 0x24], eax
mov esi, dword [0x4f37a8]
test esi, esi
jne 0x4d28e6
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 + 0x1c], eax
mov edx, eax
mov dword [esp + 0x10], ecx
nop
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x20], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4d28cc
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 + 0x20]
imul eax, eax, 0x1000193
mov dword [esp + 0x20], eax
cmp edi, ebx
jne 0x4d2890
cmp eax, 0xc0323159
je 0x4d2db5
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x10], ecx
cmp eax, edx
je 0x4d28de
cmp dword [ecx + 0x18], 0
jne 0x4d2870
xor esi, esi
mov dword [0x4f37a8], esi
mov eax, dword [0x4fbf70]
test eax, eax
jne 0x4d2988
test esi, esi
je 0x4d2981
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
lea eax, [ecx + esi]
mov dword [esp + 0x1c], eax
cmp eax, esi
je 0x4d2981
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [eax + 0x18], ecx
je 0x4d2981
mov eax, dword [eax + 0x20]
add eax, esi
mov dword [esp + 0x20], eax
mov edx, dword [eax]
mov edi, 0x811c9dc5
add edx, esi
mov bl, byte [edx]
inc edx
test bl, bl
je 0x4d296c
movsx ecx, bl
lea edx, [edx + 1]
sub bl, 0x41
mov eax, ecx
or eax, 0x20
cmp bl, 0x19
mov bl, byte [edx - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test bl, bl
jne 0x4d2935
cmp edi, 0xd18a5819
je 0x4d2dc1
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
inc ecx
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], eax
cmp ecx, dword [edx + 0x18]
jne 0x4d2925
xor eax, eax
mov dword [0x4fbf70], eax
mov ecx, dword [esp + 0x18]
push 0x24
push ecx
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
push dword [esp + 0x20]
push dword [ecx + 0x18]
call eax
mov edi, dword [0x4f3810]
test edi, edi
jne 0x4d2a46
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 + 0x20], eax
mov edx, eax
mov dword [esp + 0x10], ecx
nop dword [eax + eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x24], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4d2a2c
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 + 0x24]
imul eax, eax, 0x1000193
mov dword [esp + 0x24], eax
cmp edi, ebx
jne 0x4d29f0
cmp eax, 0xa3e6f6c3
je 0x4d2de1
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x10], ecx
cmp eax, edx
je 0x4d2a3e
cmp dword [ecx + 0x18], 0
jne 0x4d29d0
xor edi, edi
mov dword [0x4f3810], edi
mov eax, dword [0x4fbf58]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4d2af7
test edi, edi
je 0x4d2aec
mov eax, dword [edi + 0x3c]
mov ecx, dword [eax + edi + 0x78]
lea eax, [ecx + edi]
mov dword [esp + 0x20], eax
cmp eax, edi
je 0x4d2aec
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [eax + 0x18], ecx
je 0x4d2aec
mov eax, dword [eax + 0x20]
add eax, edi
mov dword [esp + 0x24], eax
nop dword [eax]
mov edx, dword [eax]
mov esi, 0x811c9dc5
add edx, edi
mov bl, byte [edx]
inc edx
test bl, bl
je 0x4d2ad7
movsx ecx, bl
lea edx, [edx + 1]
sub bl, 0x41
mov eax, ecx
or eax, 0x20
cmp bl, 0x19
mov bl, byte [edx - 1]
cmova eax, ecx
xor eax, esi
imul esi, eax, 0x1000193
test bl, bl
jne 0x4d2aa0
cmp esi, 0x6f2e8e0a
je 0x4d2ded
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
inc ecx
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x24], eax
cmp ecx, dword [edx + 0x18]
jne 0x4d2a90
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [0x4fbf58], eax
mov esi, dword [0x4fbf30]
test esi, esi
jne 0x4d2b9f
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 + 0x20], eax
mov edx, eax
mov dword [esp + 0x10], ecx
nop
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x24], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4d2b7c
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 + 0x24]
imul eax, eax, 0x1000193
mov dword [esp + 0x24], eax
cmp edi, ebx
jne 0x4d2b40
cmp eax, 0x8b4d9112
je 0x4d2e0d
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x10], ecx
cmp eax, edx
je 0x4d2b8e
cmp dword [ecx + 0x18], 0
jne 0x4d2b20
xor esi, esi
mov eax, dword [0x4fbf58]
mov dword [0x4fbf30], esi
mov dword [esp + 0x10], eax
mov edi, dword [0x4fc014]
test edi, edi
jne 0x4d2c48
test esi, esi
je 0x4d2c40
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
lea eax, [ecx + esi]
mov dword [esp + 0x20], eax
cmp eax, esi
je 0x4d2c3c
xor ecx, ecx
mov dword [esp + 0x1c], ecx
cmp dword [eax + 0x18], ecx
je 0x4d2c3c
mov eax, dword [eax + 0x20]
add eax, esi
mov dword [esp + 0x24], eax
nop
mov edx, dword [eax]
mov edi, 0x811c9dc5
add edx, esi
mov bl, byte [edx]
inc edx
test bl, bl
je 0x4d2c27
movsx ecx, bl
lea edx, [edx + 1]
sub bl, 0x41
mov eax, ecx
or eax, 0x20
cmp bl, 0x19
mov bl, byte [edx - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test bl, bl
jne 0x4d2bf0
cmp edi, 0xc017a5f0
je 0x4d2e19
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
inc ecx
add eax, 4
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], eax
cmp ecx, dword [edx + 0x18]
jne 0x4d2be0
mov eax, dword [esp + 0x10]
xor edi, edi
mov dword [0x4fc014], edi
mov ebx, dword [esp + 0x14]
lea ecx, [esp + 0x50]
push ecx
push ebx
call eax
push eax
mov eax, dword [esp + 0x14]
push ebx
push dword [eax + 0x18]
call edi
mov ebx, dword [0x4fbf30]
test ebx, ebx
jne 0x4d2cfc
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 + 0x20], eax
mov edx, eax
mov dword [esp + 0x1c], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x24], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4d2ce2
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 + 0x24]
imul eax, eax, 0x1000193
mov dword [esp + 0x24], eax
cmp edi, ebx
jne 0x4d2ca6
cmp eax, 0x8b4d9112
je 0x4d2e3d
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x1c], ecx
cmp eax, edx
je 0x4d2cf4
cmp dword [ecx + 0x18], 0
jne 0x4d2c87
xor ebx, ebx
mov dword [0x4fbf30], ebx
mov eax, dword [0x4fbf78]
test eax, eax
jne 0x4d2da3
test ebx, ebx
je 0x4d2d9c
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x20], eax
cmp eax, ebx
je 0x4d2d9c
xor ecx, ecx
mov dword [esp + 0x1c], ecx
cmp dword [eax + 0x18], ecx
je 0x4d2d9c
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x24], eax
nop dword [eax + eax]
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4d2d87
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 0x4d2d50
cmp edi, 0x88a9b502
je 0x4d2e49
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
inc ecx
add eax, 4
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], eax
cmp ecx, dword [edx + 0x18]
jne 0x4d2d40
xor eax, eax
mov dword [0x4fbf78], eax
mov ecx, dword [esp + 0xc]
push dword [esp + 0x34]
push dword [ecx + 0x18]
call eax
jmp 0x4d32af
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x18]
jmp 0x4d28e0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x4d2983
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x18]
jmp 0x4d2a40
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edi
add eax, edi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, edi
jmp 0x4d2aee
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x18]
jmp 0x4d2b90
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
mov eax, dword [esp + 0x10]
add edi, esi
jmp 0x4d2c42
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax + 0x18]
jmp 0x4d2cf6
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
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 0x4d2d9e
mov eax, ecx
test ecx, ecx
jne 0x4d2e75
mov dword [esp + 0x10], ecx
jmp 0x4d2e91
cmp word [ecx], 0
je 0x4d2e89
nop dword [eax + eax]
add eax, 2
cmp word [eax], 0
jne 0x4d2e80
sub eax, ecx
sar eax, 1
mov dword [esp + 0x10], eax
mov esi, dword [0x4f37a8]
test esi, esi
jne 0x4d2f36
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 + 0x20], eax
mov edx, eax
mov dword [esp + 0x1c], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x24], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4d2f1c
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 + 0x24]
imul eax, eax, 0x1000193
mov dword [esp + 0x24], eax
cmp edi, ebx
jne 0x4d2ee0
cmp eax, 0xc0323159
je 0x4d332b
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x1c], ecx
cmp eax, edx
je 0x4d2f2e
cmp dword [ecx + 0x18], 0
jne 0x4d2ec0
xor esi, esi
mov dword [0x4f37a8], esi
mov eax, dword [0x4fbf70]
test eax, eax
jne 0x4d2fd8
test esi, esi
je 0x4d2fd1
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
lea eax, [ecx + esi]
mov dword [esp + 0x20], eax
cmp eax, esi
je 0x4d2fd1
xor ecx, ecx
mov dword [esp + 0x1c], ecx
cmp dword [eax + 0x18], ecx
je 0x4d2fd1
mov eax, dword [eax + 0x20]
add eax, esi
mov dword [esp + 0x24], eax
mov edx, dword [eax]
mov edi, 0x811c9dc5
add edx, esi
mov bl, byte [edx]
inc edx
test bl, bl
je 0x4d2fbc
movsx ecx, bl
lea edx, [edx + 1]
sub bl, 0x41
mov eax, ecx
or eax, 0x20
cmp bl, 0x19
mov bl, byte [edx - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test bl, bl
jne 0x4d2f85
cmp edi, 0xd18a5819
je 0x4d3337
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
inc ecx
add eax, 4
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], eax
cmp ecx, dword [edx + 0x18]
jne 0x4d2f75
xor eax, eax
mov dword [0x4fbf70], eax
mov ecx, dword [esp + 0x18]
push 0x24
push ecx
push dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
push dword [esp + 0x20]
push dword [ecx + 0x18]
call eax
mov ebx, dword [0x4f3810]
test ebx, ebx
jne 0x4d3096
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 + 0x20], eax
mov edx, eax
mov dword [esp + 0x1c], ecx
nop dword [eax + eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x24], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4d307c
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 + 0x24]
imul eax, eax, 0x1000193
mov dword [esp + 0x24], eax
cmp edi, ebx
jne 0x4d3040
cmp eax, 0xa3e6f6c3
je 0x4d3357
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x1c], ecx
cmp eax, edx
je 0x4d308e
cmp dword [ecx + 0x18], 0
jne 0x4d3020
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbf58]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4d3147
test ebx, ebx
je 0x4d313c
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [esp + 0x20], eax
cmp eax, ebx
je 0x4d313c
xor ecx, ecx
mov dword [esp + 0x1c], ecx
cmp dword [eax + 0x18], ecx
je 0x4d313c
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [esp + 0x24], eax
nop dword [eax]
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4d3127
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 0x4d30f0
cmp edi, 0x6f2e8e0a
je 0x4d3363
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
inc ecx
add eax, 4
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], eax
cmp ecx, dword [edx + 0x18]
jne 0x4d30e0
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [0x4fbf58], eax
mov esi, dword [0x4fbf30]
test esi, esi
jne 0x4d31ef
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 + 0x20], eax
mov edx, eax
mov dword [esp + 0x1c], ecx
nop
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [esp + 0x24], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4d31cc
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 + 0x24]
imul eax, eax, 0x1000193
mov dword [esp + 0x24], eax
cmp edi, ebx
jne 0x4d3190
cmp eax, 0x8b4d9112
je 0x4d3383
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x1c], ecx
cmp eax, edx
je 0x4d31de
cmp dword [ecx + 0x18], 0
jne 0x4d3170
xor esi, esi
mov eax, dword [0x4fbf58]
mov dword [0x4fbf30], esi
mov dword [esp + 0x10], eax
mov edi, dword [0x4fc014]
test edi, edi
jne 0x4d3298
test esi, esi
je 0x4d3290
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
lea eax, [ecx + esi]
mov dword [esp + 0x20], eax
cmp eax, esi
je 0x4d328c
xor ecx, ecx
mov dword [esp + 0x1c], ecx
cmp dword [eax + 0x18], ecx
je 0x4d328c
mov eax, dword [eax + 0x20]
add eax, esi
mov dword [esp + 0x24], eax
nop dword [eax + eax]
mov edx, dword [eax]
mov edi, 0x811c9dc5
add edx, esi
mov bl, byte [edx]
inc edx
test bl, bl
je 0x4d3277
movsx ecx, bl
lea edx, [edx + 1]
sub bl, 0x41
mov eax, ecx
or eax, 0x20
cmp bl, 0x19
mov bl, byte [edx - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test bl, bl
jne 0x4d3240
cmp edi, 0xc017a5f0
je 0x4d338f
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
inc ecx
add eax, 4
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], eax
cmp ecx, dword [edx + 0x18]
jne 0x4d3230
mov eax, dword [esp + 0x10]
xor edi, edi
mov dword [0x4fc014], edi
mov ebx, dword [esp + 0x14]
lea ecx, [esp + 0x50]
push ecx
push ebx
call eax
push eax
mov eax, dword [esp + 0x14]
push ebx
push dword [eax + 0x18]
call edi
mov eax, 0x5e
mov word [esp + 0x48], ax
mov eax, 3
mov word [esp + 0x4a], ax
movzx eax, word [0x40491c]
add eax, 3
mov word [esp + 0x4c], ax
xor eax, eax
mov word [esp + 0x4e], ax
xor ecx, ecx
mov ax, word [esp + 0x48]
mov ax, word [esp + ecx*2 + 0x48]
movzx eax, ax
add eax, 0xfffffffd
mov word [esp + ecx*2 + 0x48], ax
inc ecx
cmp ecx, 3
jb 0x4d32e0
lea eax, [esp + 0x3c]
xor ecx, ecx
push eax
lea edx, [esp + 0x4c]
call fcn.004d33c0
mov ebx, dword [esp + 0x2c]
mov ecx, eax
mov esi, dword [esp + 0x1c]
inc ebx
add esp, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], ebx
test ecx, ecx
jne 0x4d25e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
jmp 0x4d2f30
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x4d2fd3
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax + 0x18]
jmp 0x4d3090
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
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 0x4d313e
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
jmp 0x4d31e0
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
mov eax, dword [esp + 0x10]
add edi, esi
jmp 0x4d3292