Function at 0x44d8d0
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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x19c
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x38], 0
mov esi, ecx
mov dword [ebp - 8], ebx
push edi
mov ecx, 0x800
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x178], ebx
call fcn.004baba0
mov edi, eax
mov dword [ebp - 0x30], edi
test edi, edi
je 0x44fa1f
mov eax, dword [esi]
push 0x400
push edi
push 2
push esi
call dword [eax + 0x38]
test eax, eax
js 0x44fa1f
mov dword [ebp - 0x13c], 2
mov edx, 0x67
mov eax, 0x52
mov ecx, 0x70
mov word [ebp - 0x138], ax
mov eax, 0x64
mov word [ebp - 0x136], cx
mov word [ebp - 0x134], dx
mov word [ebp - 0x132], ax
mov eax, 0x6c
mov word [ebp - 0x130], dx
mov word [ebp - 0x12e], cx
mov word [ebp - 0x12c], dx
mov word [ebp - 0x12a], ax
mov eax, 0x61
mov word [ebp - 0x128], ax
mov eax, 0x71
mov word [ebp - 0x126], dx
mov word [ebp - 0x124], ax
mov eax, 2
mov word [ebp - 0x122], ax
movzx eax, word [0x4025e0]
xor eax, 2
mov word [ebp - 0x120], ax
movzx eax, word [0x4025e2]
xor eax, 2
mov word [ebp - 0x11e], ax
movzx eax, word [0x4025e4]
xor eax, 2
mov word [ebp - 0x11c], ax
movzx eax, word [0x4025e6]
xor eax, 2
mov word [ebp - 0x11a], ax
movzx eax, word [0x4025e8]
xor eax, 2
mov word [ebp - 0x118], ax
movzx eax, word [0x4025ea]
xor eax, 2
mov word [ebp - 0x116], ax
movzx eax, word [0x4025ec]
xor eax, 2
mov word [ebp - 0x114], ax
movzx eax, word [0x4025ee]
xor eax, 2
mov word [ebp - 0x112], ax
movzx eax, word [0x4025f0]
xor eax, 2
mov word [ebp - 0x110], ax
movzx eax, word [0x4025f2]
xor eax, 2
mov word [ebp - 0x10e], ax
movzx eax, word [0x4025f4]
xor eax, 2
mov word [ebp - 0x10c], ax
xor eax, eax
mov word [ebp - 0x10a], ax
xor edx, edx
mov ax, word [ebp - 0x138]
nop dword [eax]
mov ax, word [ebp + edx*2 - 0x138]
movzx ecx, ax
movzx eax, word [ebp - 0x13c]
xor ecx, eax
mov word [ebp + edx*2 - 0x138], cx
inc edx
cmp edx, 0x17
jb 0x44da80
xor eax, eax
mov word [ebp - 0x10a], ax
lea eax, [ebp - 0x138]
push eax
push edi
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
test eax, eax
je 0x44fa1f
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x44db59
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 - 0x14], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 4], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x44db3d
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 - 4]
imul eax, eax, 0x1000193
mov dword [ebp - 4], eax
cmp edi, ebx
jne 0x44db05
cmp eax, 0xa3e6f6c3
je 0x44f06c
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0x14], ecx
cmp eax, edx
je 0x44db4e
cmp dword [ecx + 0x18], 0
jne 0x44dae7
xor ebx, ebx
mov edi, dword [ebp - 0x30]
mov dword [0x4f081c], ebx
mov eax, dword [0x4f07dc]
test eax, eax
jne 0x44dc01
test ebx, ebx
je 0x44dbf7
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x44dbf7
xor ecx, ecx
mov dword [ebp - 0x14], ecx
cmp dword [eax + 0x18], ecx
je 0x44dbf7
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 4], 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 0x44dbe5
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 0x44dbb0
cmp edi, 0x28737e55
je 0x44f077
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], eax
cmp ecx, dword [edx + 0x18]
jne 0x44dba0
xor eax, eax
mov edi, dword [ebp - 0x30]
mov dword [0x4f07dc], eax
push 0
push edi
call eax
mov eax, 0x57
mov edx, 0x6e
mov word [ebp - 0x174], ax
mov ecx, 0x7b
mov word [ebp - 0x172], dx
mov eax, 0x7d
mov word [ebp - 0x170], ax
mov eax, 0x80
mov word [ebp - 0x16e], ax
mov eax, 0x78
mov word [ebp - 0x16c], ax
mov eax, 0x74
mov word [ebp - 0x16a], cx
mov word [ebp - 0x168], ax
mov eax, 0x5c
mov word [ebp - 0x166], ax
mov eax, 0x71
mov word [ebp - 0x164], ax
mov eax, 0x6a
mov word [ebp - 0x162], ax
mov eax, 0x7c
mov word [ebp - 0x160], cx
mov word [ebp - 0x15e], dx
mov word [ebp - 0x15c], ax
mov eax, 9
mov word [ebp - 0x15a], ax
movzx eax, word [0x402d28]
add eax, 9
mov word [ebp - 0x158], ax
movzx eax, word [0x402d2a]
add eax, 9
mov word [ebp - 0x156], ax
movzx eax, word [0x402d2c]
add eax, 9
mov word [ebp - 0x154], ax
movzx eax, word [0x402d2e]
add eax, 9
mov word [ebp - 0x152], ax
movzx eax, word [0x402d30]
add eax, 9
mov word [ebp - 0x150], ax
movzx eax, word [0x402d32]
add eax, 9
mov word [ebp - 0x14e], ax
movzx eax, word [0x402d34]
add eax, 9
mov word [ebp - 0x14c], ax
movzx eax, word [0x402d36]
add eax, 9
mov word [ebp - 0x14a], ax
movzx eax, word [0x402d38]
add eax, 9
mov word [ebp - 0x148], ax
movzx eax, word [0x402d3a]
add eax, 9
mov word [ebp - 0x146], ax
movzx eax, word [0x402d3c]
add eax, 9
mov word [ebp - 0x144], ax
movzx eax, word [0x402d3e]
add eax, 9
mov word [ebp - 0x142], ax
movzx eax, word [0x402d40]
add eax, 9
mov word [ebp - 0x140], ax
xor eax, eax
mov word [ebp - 0x13e], ax
xor ecx, ecx
mov ax, word [ebp - 0x174]
nop dword [eax]
nop word [eax + eax]
mov ax, word [ebp + ecx*2 - 0x174]
movzx eax, ax
add eax, 0xfffffff7
mov word [ebp + ecx*2 - 0x174], ax
inc ecx
cmp ecx, 0x1b
jb 0x44dda0
lea eax, [ebp - 0x174]
push eax
push edi
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
test eax, eax
je 0x44fa1d
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x44de71
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 - 0x14], ecx
nop dword [eax + eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 4], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x44de58
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 - 4]
imul eax, eax, 0x1000193
mov dword [ebp - 4], eax
cmp edi, ebx
jne 0x44de20
cmp eax, 0xa3e6f6c3
je 0x44f095
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0x14], ecx
cmp eax, edx
je 0x44de69
cmp dword [ecx + 0x18], 0
jne 0x44de00
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f07dc]
test eax, eax
jne 0x44df0e
test ebx, ebx
je 0x44df07
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x44df07
xor ecx, ecx
mov dword [ebp - 0x14], ecx
cmp dword [eax + 0x18], ecx
je 0x44df07
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 4], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x44def5
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 0x44dec0
cmp edi, 0x28737e55
je 0x44f0a0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], eax
cmp ecx, dword [edx + 0x18]
jne 0x44deb0
xor eax, eax
mov dword [0x4f07dc], eax
mov edi, dword [ebp - 0x30]
push 0
push edi
call eax
mov dword [ebp - 0x88], 0x68
mov eax, dword [ebp - 0x88]
xor eax, 0x5c
mov word [ebp - 0x84], ax
mov eax, dword [ebp - 0x88]
inc eax
xor eax, 0x4e
mov word [ebp - 0x82], ax
mov eax, dword [ebp - 0x88]
add eax, 2
xor eax, 0x65
mov word [ebp - 0x80], ax
mov eax, dword [ebp - 0x88]
add eax, 3
xor eax, 0x74
mov word [ebp - 0x7e], ax
mov eax, dword [ebp - 0x88]
add eax, 4
xor eax, 0x77
mov word [ebp - 0x7c], ax
mov eax, dword [ebp - 0x88]
add eax, 5
xor eax, 0x6f
mov word [ebp - 0x7a], ax
mov eax, dword [ebp - 0x88]
add eax, 6
xor eax, 0x72
mov word [ebp - 0x78], ax
mov eax, dword [ebp - 0x88]
add eax, 7
xor eax, 0x6b
mov word [ebp - 0x76], ax
mov eax, dword [ebp - 0x88]
add eax, 8
xor eax, 0x53
mov word [ebp - 0x74], ax
mov eax, dword [ebp - 0x88]
add eax, 9
xor eax, 0x68
mov word [ebp - 0x72], ax
mov eax, dword [ebp - 0x88]
add eax, 0xa
xor eax, 0x61
mov word [ebp - 0x70], ax
mov eax, dword [ebp - 0x88]
add eax, 0xb
xor eax, 0x72
mov word [ebp - 0x6e], ax
mov eax, dword [ebp - 0x88]
add eax, 0xc
xor eax, 0x65
mov word [ebp - 0x6c], ax
mov eax, dword [ebp - 0x88]
add eax, 0xd
xor eax, 0x73
mov word [ebp - 0x6a], ax
mov eax, dword [ebp - 0x88]
add eax, 0xe
xor eax, 0x2e
mov word [ebp - 0x68], ax
mov eax, dword [ebp - 0x88]
add eax, 0xf
xor eax, 0x78
mov word [ebp - 0x66], ax
mov eax, dword [ebp - 0x88]
add eax, 0x10
xor eax, 0x6d
mov word [ebp - 0x64], ax
mov eax, dword [ebp - 0x88]
add eax, 0x11
xor eax, 0x6c
mov word [ebp - 0x62], ax
mov eax, dword [ebp - 0x88]
add eax, 0x12
mov word [ebp - 0x60], ax
mov eax, dword [ebp - 0x88]
add eax, 0x13
movzx ecx, word [0x402d4e]
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x5e], cx
mov eax, dword [ebp - 0x88]
movzx ecx, word [0x402d50]
add eax, 0x14
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x5c], cx
mov eax, dword [ebp - 0x88]
movzx ecx, word [0x402d52]
add eax, 0x15
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x5a], cx
mov eax, dword [ebp - 0x88]
movzx ecx, word [0x402d54]
add eax, 0x16
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x58], cx
mov eax, dword [ebp - 0x88]
movzx ecx, word [0x402d56]
add eax, 0x17
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x56], cx
mov eax, dword [ebp - 0x88]
movzx ecx, word [0x402d58]
add eax, 0x18
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x54], cx
mov eax, dword [ebp - 0x88]
movzx ecx, word [0x402d5a]
add eax, 0x19
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x52], cx
mov eax, dword [ebp - 0x88]
movzx ecx, word [0x402d5c]
add eax, 0x1a
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x50], cx
mov eax, dword [ebp - 0x88]
movzx ecx, word [0x402d5e]
add eax, 0x1b
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x4e], cx
mov eax, dword [ebp - 0x88]
movzx ecx, word [0x402d60]
add eax, 0x1c
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x4c], cx
mov eax, dword [ebp - 0x88]
movzx ecx, word [0x402d62]
add eax, 0x1d
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x4a], cx
mov eax, dword [ebp - 0x88]
movzx ecx, word [0x402d64]
add eax, 0x1e
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x48], cx
mov eax, dword [ebp - 0x88]
movzx ecx, word [0x402d66]
add eax, 0x1f
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x46], cx
mov eax, dword [ebp - 0x88]
movzx ecx, word [0x402d68]
add eax, 0x20
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x44], cx
mov eax, dword [ebp - 0x88]
movzx ecx, word [0x402d6a]
add eax, 0x21
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x42], cx
mov eax, dword [ebp - 0x88]
movzx ecx, word [0x402d6c]
add eax, 0x22
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x40], cx
mov eax, dword [ebp - 0x88]
movzx ecx, word [0x402d6e]
add eax, 0x23
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x3e], cx
mov eax, dword [ebp - 0x88]
movzx ecx, word [0x402d70]
add eax, 0x24
movzx eax, ax
xor ecx, eax
xor eax, eax
mov word [ebp - 0x3c], cx
xor edx, edx
mov word [ebp - 0x3a], ax
mov ax, word [ebp - 0x84]
nop
mov ax, word [ebp + edx*2 - 0x84]
mov ecx, dword [ebp - 0x88]
add ecx, edx
movzx eax, ax
xor ecx, eax
mov word [ebp + edx*2 - 0x84], cx
inc edx
cmp edx, 0x25
jb 0x44e220
xor eax, eax
lea edx, [ebp - 0x84]
mov word [ebp - 0x3a], ax
mov esi, edx
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x44e251
sub edx, esi
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x44e261
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x44e311
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 - 0x14], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 4], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x44e2f8
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 - 4]
imul eax, eax, 0x1000193
mov dword [ebp - 4], eax
cmp edi, ebx
jne 0x44e2c0
cmp eax, 0xa3e6f6c3
je 0x44f0be
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0x14], ecx
cmp eax, edx
je 0x44e309
cmp dword [ecx + 0x18], 0
jne 0x44e2a1
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f0810]
test eax, eax
jne 0x44e3ae
test ebx, ebx
je 0x44e3a7
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x44e3a7
xor ecx, ecx
mov dword [ebp - 0x14], ecx
cmp dword [eax + 0x18], ecx
je 0x44e3a7
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 4], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x44e395
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 0x44e360
cmp edi, 0xe95da064
je 0x44f0c9
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], eax
cmp ecx, dword [edx + 0x18]
jne 0x44e350
xor eax, eax
mov dword [0x4f0810], eax
mov edi, dword [ebp - 0x30]
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
push edi
call eax
mov esi, eax
mov dword [ebp - 0x14], esi
cmp esi, 0xffffffff
je 0x44fa19
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x44e471
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 - 0x18], eax
mov edx, eax
mov dword [ebp - 0x10], ecx
nop word [eax + eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 4], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x44e458
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 - 4]
imul eax, eax, 0x1000193
mov dword [ebp - 4], eax
cmp edi, ebx
jne 0x44e420
cmp eax, 0xa3e6f6c3
je 0x44f0e7
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0x10], ecx
cmp eax, edx
je 0x44e469
cmp dword [ecx + 0x18], 0
jne 0x44e400
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f07fc]
test eax, eax
jne 0x44e50e
test ebx, ebx
je 0x44e507
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x18], eax
cmp eax, ebx
je 0x44e507
xor ecx, ecx
mov dword [ebp - 0x10], ecx
cmp dword [eax + 0x18], ecx
je 0x44e507
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 4], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x44e4f5
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 0x44e4c0
cmp edi, 0x60f680f
je 0x44f0f2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
inc ecx
add eax, 4
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], eax
cmp ecx, dword [edx + 0x18]
jne 0x44e4b0
xor eax, eax
mov dword [0x4f07fc], eax
lea ecx, [ebp - 0x188]
push ecx
call eax
mov ecx, 0x800
call fcn.004baba0
mov ebx, eax
mov dword [ebp - 0x10], ebx
test ebx, ebx
je 0x44f963
mov dword [ebp - 0x104], 0x3e
mov eax, dword [ebp - 0x104]
xor eax, 0x25
mov word [ebp - 0x100], ax
mov eax, dword [ebp - 0x104]
inc eax
xor eax, 0x30
mov word [ebp - 0xfe], ax
mov eax, dword [ebp - 0x104]
add eax, 2
xor eax, 0x34
mov word [ebp - 0xfc], ax
mov eax, dword [ebp - 0x104]
add eax, 3
xor eax, 0x64
mov word [ebp - 0xfa], ax
mov eax, dword [ebp - 0x104]
add eax, 4
xor eax, 0x2d
mov word [ebp - 0xf8], ax
mov eax, dword [ebp - 0x104]
add eax, 5
xor eax, 0x25
mov word [ebp - 0xf6], ax
mov eax, dword [ebp - 0x104]
add eax, 6
xor eax, 0x30
mov word [ebp - 0xf4], ax
mov eax, dword [ebp - 0x104]
add eax, 7
xor eax, 0x32
mov word [ebp - 0xf2], ax
mov eax, dword [ebp - 0x104]
add eax, 8
xor eax, 0x64
mov word [ebp - 0xf0], ax
mov eax, dword [ebp - 0x104]
add eax, 9
xor eax, 0x2d
mov word [ebp - 0xee], ax
mov eax, dword [ebp - 0x104]
add eax, 0xa
xor eax, 0x25
mov word [ebp - 0xec], ax
mov eax, dword [ebp - 0x104]
add eax, 0xb
xor eax, 0x30
mov word [ebp - 0xea], ax
mov eax, dword [ebp - 0x104]
add eax, 0xc
xor eax, 0x32
mov word [ebp - 0xe8], ax
mov eax, dword [ebp - 0x104]
add eax, 0xd
xor eax, 0x64
mov word [ebp - 0xe6], ax
mov eax, dword [ebp - 0x104]
add eax, 0xe
xor eax, 0x20
mov word [ebp - 0xe4], ax
mov eax, dword [ebp - 0x104]
add eax, 0xf
xor eax, 0x25
mov word [ebp - 0xe2], ax
mov eax, dword [ebp - 0x104]
add eax, 0x10
xor eax, 0x30
mov word [ebp - 0xe0], ax
mov eax, dword [ebp - 0x104]
add eax, 0x11
xor eax, 0x32
mov word [ebp - 0xde], ax
mov eax, dword [ebp - 0x104]
add eax, 0x12
xor eax, 0x64
mov word [ebp - 0xdc], ax
mov eax, dword [ebp - 0x104]
add eax, 0x13
xor eax, 0x3a
mov word [ebp - 0xda], ax
mov eax, dword [ebp - 0x104]
add eax, 0x14
xor eax, 0x25
mov word [ebp - 0xd8], ax
mov eax, dword [ebp - 0x104]
add eax, 0x15
xor eax, 0x30
mov word [ebp - 0xd6], ax
mov eax, dword [ebp - 0x104]
add eax, 0x16
xor eax, 0x32
mov word [ebp - 0xd4], ax
mov eax, dword [ebp - 0x104]
add eax, 0x17
xor eax, 0x64
mov word [ebp - 0xd2], ax
mov eax, dword [ebp - 0x104]
add eax, 0x18
xor eax, 0x3a
mov word [ebp - 0xd0], ax
mov eax, dword [ebp - 0x104]
add eax, 0x19
xor eax, 0x25
mov word [ebp - 0xce], ax
mov eax, dword [ebp - 0x104]
add eax, 0x1a
xor eax, 0x30
mov word [ebp - 0xcc], ax
mov eax, dword [ebp - 0x104]
add eax, 0x1b
xor eax, 0x32
mov word [ebp - 0xca], ax
mov eax, dword [ebp - 0x104]
add eax, 0x1c
xor eax, 0x64
mov word [ebp - 0xc8], ax
mov eax, dword [ebp - 0x104]
add eax, 0x1d
mov word [ebp - 0xc6], ax
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x402640]
add eax, 0x1e
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xc4], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x402642]
add eax, 0x1f
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xc2], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x402644]
add eax, 0x20
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xc0], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x402646]
add eax, 0x21
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xbe], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x402648]
add eax, 0x22
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xbc], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x40264a]
add eax, 0x23
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xba], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x40264c]
add eax, 0x24
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xb8], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x40264e]
add eax, 0x25
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xb6], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x402650]
add eax, 0x26
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xb4], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x402652]
add eax, 0x27
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xb2], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x402654]
add eax, 0x28
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xb0], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x402656]
add eax, 0x29
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xae], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x402658]
add eax, 0x2a
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xac], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x40265a]
add eax, 0x2b
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xaa], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x40265c]
add eax, 0x2c
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xa8], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x40265e]
add eax, 0x2d
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xa6], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x402660]
add eax, 0x2e
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xa4], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x402662]
add eax, 0x2f
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xa2], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x402664]
add eax, 0x30
movzx eax, ax
xor ecx, eax
mov word [ebp - 0xa0], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x402666]
add eax, 0x31
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x9e], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x402668]
add eax, 0x32
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x9c], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x40266a]
add eax, 0x33
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x9a], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x40266c]
add eax, 0x34
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x98], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x40266e]
add eax, 0x35
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x96], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x402670]
add eax, 0x36
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x94], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x402672]
add eax, 0x37
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x92], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x402674]
add eax, 0x38
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x90], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x402676]
add eax, 0x39
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x8e], cx
mov eax, dword [ebp - 0x104]
movzx ecx, word [0x402678]
add eax, 0x3a
movzx eax, ax
xor ecx, eax
xor eax, eax
mov word [ebp - 0x8c], cx
xor edx, edx
mov word [ebp - 0x8a], ax
mov ax, word [ebp - 0x100]
nop dword [eax + eax]
mov ax, word [ebp + edx*2 - 0x100]
mov ecx, dword [ebp - 0x104]
add ecx, edx
movzx eax, ax
xor ecx, eax
mov word [ebp + edx*2 - 0x100], cx
inc edx
cmp edx, 0x3b
jb 0x44eab0
mov ebx, dword [0x4f07ac]
xor eax, eax
mov word [ebp - 0x8a], ax
test ebx, ebx
jne 0x44eb71
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 - 0x18], 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 - 4], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x44eb58
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 - 4]
imul eax, eax, 0x1000193
mov dword [ebp - 4], eax
cmp edi, ebx
jne 0x44eb20
cmp eax, 0xc0323159
je 0x44f110
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x18]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x44eb69
cmp dword [ecx + 0x18], 0
jne 0x44eb02
xor ebx, ebx
mov dword [0x4f07ac], ebx
mov ecx, dword [0x4f07b8]
test ecx, ecx
jne 0x44ec10
test ebx, ebx
je 0x44ec08
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [ecx + ebx]
xor ecx, ecx
mov dword [ebp - 0x18], eax
cmp eax, ebx
je 0x44ec0a
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x44ec08
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 4], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x44ebf6
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 0x44ebc1
mov ecx, dword [ebp - 8]
cmp edi, 0xaeb3c6d5
je 0x44f11b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x18]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 4], eax
cmp ecx, dword [edx + 0x18]
jne 0x44ebb1
xor ecx, ecx
mov dword [0x4f07b8], ecx
movzx eax, word [ebp - 0x17c]
push eax
movzx eax, word [ebp - 0x17e]
push eax
movzx eax, word [ebp - 0x180]
push eax
movzx eax, word [ebp - 0x182]
push eax
movzx eax, word [ebp - 0x186]
push eax
movzx eax, word [ebp - 0x188]
push eax
lea eax, [ebp - 0x100]
push eax
push dword [ebp - 0x10]
call ecx
add esp, 0x20
mov ecx, 0x2e
call fcn.004baba0
mov ebx, eax
mov dword [ebp - 0x18], ebx
test ebx, ebx
je 0x44f960
xor esi, esi
mov dword [ebp - 0x28], esi
nop dword [eax + eax]
mov ecx, 0x800
call fcn.004baba0
mov dword [ebx + esi*4], eax
lea ecx, [ebx + esi*4]
mov dword [ebp - 0x1c], ecx
test eax, eax
je 0x44f945
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x44ed21
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 - 4], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x44ed08
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 - 4]
imul eax, eax, 0x1000193
mov dword [ebp - 4], eax
cmp edi, ebx
jne 0x44ecd0
cmp eax, 0xa3e6f6c3
je 0x44f138
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 0x44ed19
cmp dword [ecx + 0x18], 0
jne 0x44ecb1
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f0818]
test eax, eax
jne 0x44edc2
test ebx, ebx
je 0x44edbb
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [ecx + ebx]
mov dword [ebp - 4], eax
cmp eax, ebx
je 0x44edbb
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x44edbb
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 0x44eda9
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 0x44ed74
mov ecx, dword [ebp - 8]
cmp edi, 0x805acd19
je 0x44f143
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x44ed64
xor eax, eax
mov dword [0x4f0818], eax
call eax
cmp al, 6
jb 0x44f1b0
shr eax, 8
cmp al, 2
jb 0x44f1b0
mov ebx, dword [0x4f07f0]
test ebx, ebx
jne 0x44ee71
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 - 4], 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 0x44ee58
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 0x44ee20
cmp eax, 0xfa102e29
je 0x44f160
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x44ee69
cmp dword [ecx + 0x18], 0
jne 0x44ee00
xor ebx, ebx
mov dword [0x4f07f0], ebx
mov eax, dword [0x4f0814]
test eax, eax
jne 0x44ef12
test ebx, ebx
je 0x44ef0b
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [ecx + ebx]
mov dword [ebp - 4], eax
cmp eax, ebx
je 0x44ef0b
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x44ef0b
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 0x44eef9
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 0x44eec4
mov ecx, dword [ebp - 8]
cmp edi, 0x1807f01a
je 0x44f16b
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x44eeb4
xor eax, eax
mov dword [0x4f0814], eax
lea ecx, [ebp - 0x198]
push ecx
call eax
test eax, eax
js 0x44f942
mov ebx, dword [0x4f07f0]
test ebx, ebx
jne 0x44efc1
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 - 4], 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 0x44efa8
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 0x44ef70
cmp eax, 0xfa102e29
je 0x44f188
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x44efb9
cmp dword [ecx + 0x18], 0
jne 0x44ef50
xor ebx, ebx
mov dword [0x4f07f0], ebx
mov eax, dword [0x4f07f4]
test eax, eax
jne 0x44f43d
test ebx, ebx
je 0x44f436
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [ecx + ebx]
mov dword [ebp - 4], eax
cmp eax, ebx
je 0x44f436
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x44f436
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0xc], 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 0x44f055
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 0x44f020
mov ecx, dword [ebp - 8]
cmp edi, 0x1ed908f5
je 0x44f193
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x44f010
jmp 0x44f436
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax + 0x18]
jmp 0x44db50
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 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 0x44dbf9
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax + 0x18]
jmp 0x44de6b
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 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 0x44df09
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax + 0x18]
jmp 0x44e30b
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 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 0x44e3a9
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax + 0x18]
jmp 0x44e46b
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 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 0x44e509
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x44eb6b
mov edx, dword [ebp - 0x18]
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 0x44ec0a
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x44ed1b
mov edx, dword [ebp - 4]
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 0x44edbd
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x44ee6b
mov edx, dword [ebp - 4]
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 0x44ef0d
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x44efbb
mov edx, dword [ebp - 4]
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 0x44f438
mov ebx, dword [0x4f07b4]
test ebx, ebx
jne 0x44f245
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 - 4], 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 0x44f22c
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 0x44f1f4
cmp eax, 0x174c966e
je 0x44f96e
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x44f23d
cmp dword [ecx + 0x18], 0
jne 0x44f1d6
xor ebx, ebx
mov dword [0x4f07b4], ebx
mov eax, dword [0x4f0814]
test eax, eax
jne 0x44f2ee
test ebx, ebx
je 0x44f2e7
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [ecx + ebx]
mov dword [ebp - 4], eax
cmp eax, ebx
je 0x44f2e7
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x44f2e7
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0xc], 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 0x44f2d5
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 0x44f2a0
mov ecx, dword [ebp - 8]
cmp edi, 0x1807f01a
je 0x44f979
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x44f290
xor eax, eax
mov dword [0x4f0814], eax
lea ecx, [ebp - 0x198]
push ecx
call eax
test eax, eax
js 0x44f942
mov ebx, dword [0x4f07b4]
test ebx, ebx
jne 0x44f394
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 - 4], 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 0x44f37b
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 0x44f343
cmp eax, 0x174c966e
je 0x44f996
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x44f38c
cmp dword [ecx + 0x18], 0
jne 0x44f325
xor ebx, ebx
mov dword [0x4f07b4], ebx
mov eax, dword [0x4f07f4]
test eax, eax
jne 0x44f43d
test ebx, ebx
je 0x44f436
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x44f436
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x44f436
mov eax, dword [eax + 0x20]
mov edx, dword [ebp - 8]
add eax, ebx
mov dword [ebp - 0xc], eax
nop word [eax + eax]
mov esi, dword [eax]
mov edi, 0x811c9dc5
mov al, byte [esi + ebx]
add esi, ebx
inc esi
test al, al
je 0x44f424
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 0x44f3f1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
cmp edi, 0x1ed908f5
je 0x44f196
mov eax, dword [ebp - 0xc]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x44f3e0
xor eax, eax
mov dword [0x4f07f4], eax
mov ecx, dword [ebp - 0x1c]
push 0x400
push dword [ecx]
lea ecx, [ebp - 0x198]
push ecx
call eax
test eax, eax
je 0x44f942
mov esi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x18]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x17
jb 0x44ec70
mov ecx, 0x1fffe
call fcn.004baba0
mov ebx, eax
mov dword [ebp - 8], ebx
test ebx, ebx
je 0x44f942
lea eax, [ebp - 0x108]
push eax
push 0x2aa
push 0x4e1a20
call fcn.00457d40
test eax, eax
je 0x44f942
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
push dword [eax + 0x58]
push ecx
push dword [eax + 0x54]
push ecx
push dword [eax + 0x50]
push ecx
push dword [eax + 0x4c]
push ecx
push dword [eax + 0x48]
push ecx
push dword [eax + 0x44]
push ecx
push dword [eax + 0x40]
push ecx
push dword [eax + 0x3c]
push ecx
push dword [eax + 0x38]
push ecx
push dword [eax + 0x34]
push ecx
push dword [eax + 0x30]
push ecx
push dword [eax + 0x2c]
push ecx
push dword [eax + 0x28]
push ecx
push dword [eax + 0x24]
push ecx
push dword [eax + 0x20]
push ecx
push dword [eax + 0x1c]
push ecx
push dword [eax + 0x18]
push ecx
push dword [eax + 0x14]
push ecx
push dword [eax + 0x10]
push ecx
push dword [eax + 0xc]
push ecx
push dword [eax + 8]
push ecx
push dword [eax + 4]
push ecx
push dword [eax]
lea eax, [ebp - 8]
push ecx
push dword [ebp - 0x108]
push 0xffff
push eax
call fcn.004bb120
add esp, 0xc4
mov ecx, ebx
call fcn.004bb100
mov ebx, dword [0x4f081c]
mov dword [ebp - 0xc], eax
test ebx, ebx
jne 0x44f5c1
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 - 0x1c], eax
mov edx, eax
mov dword [ebp - 4], ecx
nop dword [eax + eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x28], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x44f5a8
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 - 0x28]
imul eax, eax, 0x1000193
mov dword [ebp - 0x28], eax
cmp edi, ebx
jne 0x44f570
cmp eax, 0xa3e6f6c3
je 0x44f9a1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x44f5b9
cmp dword [ecx + 0x18], 0
jne 0x44f550
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f07a8]
test eax, eax
jne 0x44f65e
test ebx, ebx
je 0x44f657
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [ebx + ecx]
mov dword [ebp - 0x1c], eax
cmp eax, ebx
je 0x44f657
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x44f657
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x28], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x44f645
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 0x44f610
mov ecx, dword [ebp - 4]
cmp edi, 0xa83e21de
je 0x44f9ac
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0x28], eax
cmp ecx, dword [edx + 0x18]
jne 0x44f600
xor eax, eax
mov dword [0x4f07a8], eax
push 0
push 0
push 0
push 0
push dword [ebp - 0xc]
push dword [ebp - 8]
push 0
push 0xfde9
call eax
mov dword [ebp - 0x20], eax
test eax, eax
jle 0x44f942
mov ecx, eax
call fcn.004baba0
mov dword [ebp - 0x38], eax
test eax, eax
je 0x44f942
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x44f731
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 - 4], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x28], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x44f718
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 - 0x28]
imul eax, eax, 0x1000193
mov dword [ebp - 0x28], eax
cmp edi, ebx
jne 0x44f6e0
cmp eax, 0xa3e6f6c3
je 0x44f9c9
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x44f729
cmp dword [ecx + 0x18], 0
jne 0x44f6c0
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f07a8]
test eax, eax
jne 0x44f7ce
test ebx, ebx
je 0x44f7c7
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x28], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x1c], eax
cmp eax, ebx
je 0x44f7c7
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x44f7c7
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x28], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x44f7b5
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 0x44f780
mov ecx, dword [ebp - 4]
cmp edi, 0xa83e21de
je 0x44f9d4
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0x28], eax
cmp ecx, dword [edx + 0x18]
jne 0x44f770
xor eax, eax
mov dword [0x4f07a8], eax
push 0
push 0
push dword [ebp - 0x20]
push dword [ebp - 0x38]
push dword [ebp - 0xc]
push dword [ebp - 8]
push 0
push 0xfde9
call eax
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x44f881
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 - 0x1c], eax
mov edx, eax
mov dword [ebp - 4], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x28], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x44f868
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 - 0x28]
imul eax, eax, 0x1000193
mov dword [ebp - 0x28], eax
cmp edi, ebx
jne 0x44f830
cmp eax, 0xa3e6f6c3
je 0x44f9f1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x44f879
cmp dword [ecx + 0x18], 0
jne 0x44f810
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f0778]
test eax, eax
jne 0x44f91e
test ebx, ebx
je 0x44f917
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x28], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x1c], eax
cmp eax, ebx
je 0x44f917
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x44f917
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x28], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x44f905
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 0x44f8d0
mov ecx, dword [ebp - 4]
cmp edi, 0x84aec1ca
je 0x44f9fc
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0x28], eax
cmp ecx, dword [edx + 0x18]
jne 0x44f8c0
xor eax, eax
mov dword [0x4f0778], eax
push 0
lea ecx, [ebp - 0x178]
push ecx
push dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
push dword [ebp - 0x38]
push ecx
call eax
xor ecx, ecx
mov edx, 1
test eax, eax
cmovne ecx, edx
mov dword [ebp - 0x34], ecx
mov ebx, dword [ebp - 0x18]
xor esi, esi
mov ecx, dword [ebx + esi*4]
test ecx, ecx
je 0x44f953
call fcn.004bb000
inc esi
cmp esi, 0x17
jb 0x44f947
mov ecx, ebx
call fcn.004bb000
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x30]
mov esi, dword [ebp - 0x14]
jmp 0x44fa22
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x44f23f
mov edx, dword [ebp - 4]
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 0x44f2e9
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x44f38e
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x44f5bb
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 0x44f659
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x44f72b
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 0x44f7c9
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x44f87b
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 0x44f919
xor ebx, ebx
jmp 0x44fa22
xor ebx, ebx
or esi, 0xffffffff
mov ecx, dword [ebp - 0x108]
test ecx, ecx
je 0x44fa31
call fcn.004bb000
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x44fa3f
mov ecx, eax
call fcn.004bb000
test edi, edi
je 0x44fa4a
mov ecx, edi
call fcn.004bb000
test ebx, ebx
je 0x44fa55
mov ecx, ebx
call fcn.004bb000
cmp esi, 0xffffffff
je 0x44fa62
push esi
call fcn.00411310
call eax
mov eax, dword [ebp - 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret