Function at 0x454e10
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, 0x1f8
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x2c], edx
mov esi, ecx
mov dword [ebp - 0x34], 0
push edi
mov ecx, 0x800
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x1b8], ebx
call fcn.004baba0
mov edi, eax
mov dword [ebp - 0x28], edi
test edi, edi
je 0x456dfe
mov eax, dword [esi]
push 0x400
push edi
push 1
push esi
call dword [eax + 0x38]
test eax, eax
js 0x456dfe
mov dword [ebp - 0x110], 0x5e
mov edx, 0x3b
mov eax, 0xe
mov ecx, 0x2c
mov word [ebp - 0x10c], ax
mov eax, 0x38
mov word [ebp - 0x10a], cx
mov word [ebp - 0x108], dx
mov word [ebp - 0x106], ax
mov eax, 0x30
mov word [ebp - 0x104], dx
mov word [ebp - 0x102], cx
mov word [ebp - 0x100], dx
mov word [ebp - 0xfe], ax
mov eax, 0x3d
mov word [ebp - 0xfc], ax
mov eax, 0x2d
mov word [ebp - 0xfa], dx
mov word [ebp - 0xf8], ax
mov eax, 0x5e
mov word [ebp - 0xf6], ax
movzx eax, word [0x4025e0]
xor eax, 0x5e
mov word [ebp - 0xf4], ax
movzx eax, word [0x4025e2]
xor eax, 0x5e
mov word [ebp - 0xf2], ax
movzx eax, word [0x4025e4]
xor eax, 0x5e
mov word [ebp - 0xf0], ax
movzx eax, word [0x4025e6]
xor eax, 0x5e
mov word [ebp - 0xee], ax
movzx eax, word [0x4025e8]
xor eax, 0x5e
mov word [ebp - 0xec], ax
movzx eax, word [0x4025ea]
xor eax, 0x5e
mov word [ebp - 0xea], ax
movzx eax, word [0x4025ec]
xor eax, 0x5e
mov word [ebp - 0xe8], ax
movzx eax, word [0x4025ee]
xor eax, 0x5e
mov word [ebp - 0xe6], ax
movzx eax, word [0x4025f0]
xor eax, 0x5e
mov word [ebp - 0xe4], ax
movzx eax, word [0x4025f2]
xor eax, 0x5e
mov word [ebp - 0xe2], ax
movzx eax, word [0x4025f4]
xor eax, 0x5e
mov word [ebp - 0xe0], ax
xor eax, eax
mov word [ebp - 0xde], ax
xor edx, edx
mov ax, word [ebp - 0x10c]
nop word [eax + eax]
mov ax, word [ebp + edx*2 - 0x10c]
movzx ecx, ax
movzx eax, word [ebp - 0x110]
xor ecx, eax
mov word [ebp + edx*2 - 0x10c], cx
inc edx
cmp edx, 0x17
jb 0x454fd0
xor eax, eax
mov word [ebp - 0xde], ax
lea eax, [ebp - 0x10c]
push eax
push edi
push eax
call 0x50c7d1
test eax, eax
je 0x456df1
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x4550a6
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0xc], eax
mov edx, eax
mov dword [ebp - 8], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x10], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x45508d
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 0x455055
cmp eax, 0xa3e6f6c3
je 0x456c0c
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 0x45509e
cmp dword [ecx + 0x18], 0
jne 0x455037
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f07dc]
test eax, eax
jne 0x455143
test ebx, ebx
je 0x45513c
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x18], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x45513c
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x45513c
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 0x45512a
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 0x4550f5
cmp edi, 0x28737e55
je 0x456c17
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x4550e5
xor eax, eax
mov dword [0x4f07dc], eax
push 0
push dword [ebp - 0x28]
call eax
mov eax, 0x50
mov word [ebp - 0xdc], ax
mov eax, 0x73
mov word [ebp - 0xda], ax
mov eax, 0x76
mov word [ebp - 0xd8], ax
mov eax, 0x6f
mov word [ebp - 0xd6], ax
mov eax, 0x7d
mov word [ebp - 0xd4], ax
mov eax, 0xa
mov word [ebp - 0xd2], ax
movzx eax, word [0x4025ec]
add eax, 0xa
mov word [ebp - 0xd0], ax
movzx eax, word [0x4025ee]
add eax, 0xa
mov word [ebp - 0xce], ax
movzx eax, word [0x4025f0]
add eax, 0xa
mov word [ebp - 0xcc], ax
movzx eax, word [0x4025f2]
add eax, 0xa
mov word [ebp - 0xca], ax
movzx eax, word [0x4025f4]
add eax, 0xa
mov word [ebp - 0xc8], ax
xor eax, eax
mov word [ebp - 0xc6], ax
xor ecx, ecx
mov ax, word [ebp - 0xdc]
nop dword [eax]
mov ax, word [ebp + ecx*2 - 0xdc]
movzx eax, ax
add eax, 0xfffffff6
mov word [ebp + ecx*2 - 0xdc], ax
inc ecx
cmp ecx, 0xb
jb 0x455200
mov ebx, dword [0x4f0780]
test ebx, ebx
jne 0x4552b1
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 8], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x455298
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 0x455260
cmp eax, 0x8ec4c73b
je 0x456c35
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x4552a9
cmp dword [ecx + 0x18], 0
jne 0x455242
xor ebx, ebx
mov dword [0x4f0780], ebx
mov eax, dword [0x4f0784]
test eax, eax
jne 0x45534e
test ebx, ebx
je 0x455347
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x18], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x455347
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x455347
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 0x455335
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 0x455300
cmp edi, 0x93ffc6af
je 0x456c40
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x4552f0
xor eax, eax
mov dword [0x4f0784], eax
lea ecx, [ebp - 0xdc]
push ecx
push dword [ebp - 0x28]
call eax
test eax, eax
je 0x456df1
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x455401
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 8], ecx
nop dword [eax + eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4553e8
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 0x4553b0
cmp eax, 0xa3e6f6c3
je 0x456c5e
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x4553f9
cmp dword [ecx + 0x18], 0
jne 0x455390
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f07dc]
test eax, eax
jne 0x45549e
test ebx, ebx
je 0x455497
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x18], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x455497
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x455497
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 0x455485
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 0x455450
cmp edi, 0x28737e55
je 0x456c69
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x455440
xor eax, eax
mov dword [0x4f07dc], eax
mov ebx, dword [ebp - 0x28]
push 0
push ebx
call eax
mov eax, 0x67
mov ecx, 0x77
mov word [ebp - 0x13c], ax
mov eax, 0x51
mov word [ebp - 0x13a], ax
mov eax, 0x74
mov word [ebp - 0x138], ax
mov eax, 0x70
mov word [ebp - 0x136], cx
mov word [ebp - 0x134], ax
mov eax, 0x7e
mov word [ebp - 0x132], ax
mov eax, 0x39
mov word [ebp - 0x130], ax
mov eax, 0x83
mov word [ebp - 0x12e], ax
mov eax, 0x78
mov word [ebp - 0x12c], ax
mov eax, 0xb
mov word [ebp - 0x12a], cx
mov word [ebp - 0x128], ax
movzx eax, word [0x402602]
add eax, 0xb
mov word [ebp - 0x126], ax
movzx eax, word [0x402604]
add eax, 0xb
mov word [ebp - 0x124], ax
movzx eax, word [0x402606]
add eax, 0xb
mov word [ebp - 0x122], ax
movzx eax, word [0x402608]
add eax, 0xb
mov word [ebp - 0x120], ax
movzx eax, word [0x40260a]
add eax, 0xb
mov word [ebp - 0x11e], ax
movzx eax, word [0x40260c]
add eax, 0xb
mov word [ebp - 0x11c], ax
movzx eax, word [0x40260e]
add eax, 0xb
mov word [ebp - 0x11a], ax
movzx eax, word [0x402610]
add eax, 0xb
mov word [ebp - 0x118], ax
movzx eax, word [0x402612]
add eax, 0xb
mov word [ebp - 0x116], ax
movzx eax, word [0x402614]
add eax, 0xb
mov word [ebp - 0x114], ax
xor eax, eax
mov word [ebp - 0x112], ax
xor ecx, ecx
mov ax, word [ebp - 0x13c]
mov ax, word [ebp + ecx*2 - 0x13c]
movzx eax, ax
add eax, 0xfffffff5
mov word [ebp + ecx*2 - 0x13c], ax
inc ecx
cmp ecx, 0x15
jb 0x4555e1
lea edx, [ebp - 0x13c]
mov esi, edx
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x455605
sub edx, esi
lea edi, [ebx - 2]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x455615
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 0x4556c4
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 8], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4556ab
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 0x455673
cmp eax, 0xa3e6f6c3
je 0x456c87
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x4556bc
cmp dword [ecx + 0x18], 0
jne 0x455655
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f0810]
test eax, eax
jne 0x455761
test ebx, ebx
je 0x45575a
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x18], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x45575a
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x45575a
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 0x455748
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 0x455713
cmp edi, 0xe95da064
je 0x456c92
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x455703
xor eax, eax
mov dword [0x4f0810], eax
push 0
push pe_nt_image_headers32
push 2
push 0
push 0
push 0x40000000
push dword [ebp - 0x28]
call eax
mov dword [ebp - 0x24], eax
cmp eax, 0xffffffff
je 0x456df1
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x455821
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 8], ecx
nop word [eax + eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x455808
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 0x4557d0
cmp eax, 0xa3e6f6c3
je 0x456cb0
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x455819
cmp dword [ecx + 0x18], 0
jne 0x4557b0
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f07fc]
test eax, eax
jne 0x4558be
test ebx, ebx
je 0x4558b7
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x18], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x4558b7
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4558b7
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 0x4558a5
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 0x455870
cmp edi, 0x60f680f
je 0x456cbb
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x455860
xor eax, eax
mov dword [0x4f07fc], eax
lea ecx, [ebp - 0x1c8]
push ecx
call eax
mov ecx, 0x800
call fcn.004baba0
mov dword [ebp - 0x34], eax
test eax, eax
je 0x456df1
mov edx, 0x2e
mov ebx, 0x39
mov word [ebp - 0x1b4], dx
mov ecx, 0x6d
mov word [ebp - 0x1b2], bx
mov eax, 0x3d
mov word [ebp - 0x1b0], ax
mov esi, 0x3b
mov word [ebp - 0x1ae], cx
mov eax, 0x36
mov word [ebp - 0x1ac], ax
mov word [ebp - 0x1aa], dx
mov word [ebp - 0x1a8], bx
mov word [ebp - 0x1a6], si
mov word [ebp - 0x1a4], cx
mov word [ebp - 0x1a2], ax
mov eax, 0x29
mov word [ebp - 0x1a0], dx
mov word [ebp - 0x19e], bx
mov word [ebp - 0x19c], si
mov word [ebp - 0x19a], cx
mov word [ebp - 0x198], ax
mov eax, 0x43
mov word [ebp - 0x196], dx
mov word [ebp - 0x194], bx
mov word [ebp - 0x192], si
mov word [ebp - 0x190], cx
mov word [ebp - 0x18e], ax
mov word [ebp - 0x18c], dx
mov word [ebp - 0x18a], bx
mov word [ebp - 0x188], si
mov word [ebp - 0x186], cx
mov word [ebp - 0x184], ax
mov eax, 9
mov word [ebp - 0x182], dx
mov word [ebp - 0x180], bx
mov word [ebp - 0x17e], si
mov word [ebp - 0x17c], cx
mov word [ebp - 0x17a], ax
movzx eax, word [0x402640]
add eax, 9
mov word [ebp - 0x178], ax
movzx eax, word [0x402642]
add eax, 9
mov word [ebp - 0x176], ax
movzx eax, word [0x402644]
add eax, 9
mov word [ebp - 0x174], ax
movzx eax, word [0x402646]
add eax, 9
mov word [ebp - 0x172], ax
movzx eax, word [0x402648]
add eax, 9
mov word [ebp - 0x170], ax
movzx eax, word [0x40264a]
add eax, 9
mov word [ebp - 0x16e], ax
movzx eax, word [0x40264c]
add eax, 9
mov word [ebp - 0x16c], ax
movzx eax, word [0x40264e]
add eax, 9
mov word [ebp - 0x16a], ax
movzx eax, word [0x402650]
add eax, 9
mov word [ebp - 0x168], ax
movzx eax, word [0x402652]
add eax, 9
mov word [ebp - 0x166], ax
movzx eax, word [0x402654]
add eax, 9
mov word [ebp - 0x164], ax
movzx eax, word [0x402656]
add eax, 9
mov word [ebp - 0x162], ax
movzx eax, word [0x402658]
add eax, 9
mov word [ebp - 0x160], ax
movzx eax, word [0x40265a]
add eax, 9
mov word [ebp - 0x15e], ax
movzx eax, word [0x40265c]
add eax, 9
mov word [ebp - 0x15c], ax
movzx eax, word [0x40265e]
add eax, 9
mov word [ebp - 0x15a], ax
movzx eax, word [0x402660]
add eax, 9
mov word [ebp - 0x158], ax
movzx eax, word [0x402662]
add eax, 9
mov word [ebp - 0x156], ax
movzx eax, word [0x402664]
add eax, 9
mov word [ebp - 0x154], ax
movzx eax, word [0x402666]
add eax, 9
mov word [ebp - 0x152], ax
movzx eax, word [0x402668]
add eax, 9
mov word [ebp - 0x150], ax
movzx eax, word [0x40266a]
add eax, 9
mov word [ebp - 0x14e], ax
movzx eax, word [0x40266c]
add eax, 9
mov word [ebp - 0x14c], ax
movzx eax, word [0x40266e]
add eax, 9
mov word [ebp - 0x14a], ax
movzx eax, word [0x402670]
add eax, 9
mov word [ebp - 0x148], ax
movzx eax, word [0x402672]
add eax, 9
mov word [ebp - 0x146], ax
movzx eax, word [0x402674]
add eax, 9
mov word [ebp - 0x144], ax
movzx eax, word [0x402676]
add eax, 9
mov word [ebp - 0x142], ax
movzx eax, word [0x402678]
add eax, 9
mov word [ebp - 0x140], ax
xor eax, eax
mov word [ebp - 0x13e], ax
xor ecx, ecx
mov ax, word [ebp - 0x1b4]
nop word [eax + eax]
mov ax, word [ebp + ecx*2 - 0x1b4]
movzx eax, ax
add eax, 0xfffffff7
mov word [ebp + ecx*2 - 0x1b4], ax
inc ecx
cmp ecx, esi
jb 0x455be0
mov ebx, dword [0x4f07ac]
test ebx, ebx
jne 0x455c91
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 8], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x455c78
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 0x455c40
cmp eax, 0xc0323159
je 0x456cd9
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x455c89
cmp dword [ecx + 0x18], 0
jne 0x455c21
xor ebx, ebx
mov dword [0x4f07ac], ebx
mov ecx, dword [0x4f07b8]
test ecx, ecx
jne 0x455d34
test ebx, ebx
je 0x455d2c
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x18], eax
lea eax, [ecx + ebx]
xor ecx, ecx
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x455d2e
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x455d2c
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 0x455d1a
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 0x455ce5
cmp edi, 0xaeb3c6d5
je 0x456ce4
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x455cd5
xor ecx, ecx
mov dword [0x4f07b8], ecx
movzx eax, word [ebp - 0x1bc]
push eax
movzx eax, word [ebp - 0x1be]
push eax
movzx eax, word [ebp - 0x1c0]
push eax
movzx eax, word [ebp - 0x1c2]
push eax
movzx eax, word [ebp - 0x1c6]
push eax
movzx eax, word [ebp - 0x1c8]
push eax
lea eax, [ebp - 0x1b4]
push eax
push dword [ebp - 0x34]
call ecx
mov ebx, dword [0x4f07b4]
add esp, 0x20
test ebx, ebx
jne 0x455e11
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 8], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x455df8
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 0x455dc0
cmp eax, 0x174c966e
je 0x456d02
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x455e09
cmp dword [ecx + 0x18], 0
jne 0x455da0
xor ebx, ebx
mov dword [0x4f07b4], ebx
mov eax, dword [0x4f0814]
test eax, eax
jne 0x455eb2
test ebx, ebx
je 0x455eab
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x18], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x455eab
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x455eab
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 0x455e99
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 0x455e64
cmp edi, 0x1807f01a
je 0x456d0d
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x455e54
xor eax, eax
mov dword [0x4f0814], eax
lea edx, [ebp - 0x1d8]
push edx
call eax
test eax, eax
js 0x456df1
mov ecx, 0x800
call fcn.004baba0
mov dword [ebp - 0x38], eax
test eax, eax
je 0x456df1
mov ebx, dword [0x4f07b4]
test ebx, ebx
jne 0x455f71
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 8], ecx
nop
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x455f58
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 0x455f20
cmp eax, 0x174c966e
je 0x456d2b
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x455f69
cmp dword [ecx + 0x18], 0
jne 0x455f00
xor ebx, ebx
mov dword [0x4f07b4], ebx
mov eax, dword [0x4f07f4]
test eax, eax
jne 0x456012
test ebx, ebx
je 0x45600b
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x18], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x45600b
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x45600b
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 0x455ff9
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 0x455fc4
cmp edi, 0x1ed908f5
je 0x456d36
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x455fb4
xor eax, eax
mov dword [0x4f07f4], eax
push 0x400
push dword [ebp - 0x38]
lea ecx, [ebp - 0x1d8]
push ecx
call eax
test eax, eax
je 0x456df1
mov ecx, 0x2000
call fcn.004baba0
mov ebx, eax
mov dword [ebp - 0x20], ebx
test ebx, ebx
je 0x456df4
lea eax, [ebp - 0xc4]
push eax
push 0x159
push 0x4e18c0
call fcn.00457d40
test eax, eax
je 0x456df4
mov dword [ebp - 0xc0], 0x22
mov eax, dword [ebp - 0xc0]
xor eax, 0x25
mov word [ebp - 0xbc], ax
mov eax, dword [ebp - 0xc0]
inc eax
xor eax, 0x30
mov word [ebp - 0xba], ax
mov eax, dword [ebp - 0xc0]
add eax, 2
xor eax, 0x32
mov word [ebp - 0xb8], ax
mov eax, dword [ebp - 0xc0]
add eax, 3
xor eax, 0x58
mov word [ebp - 0xb6], ax
mov eax, dword [ebp - 0xc0]
add eax, 4
xor eax, 0x25
mov word [ebp - 0xb4], ax
mov eax, dword [ebp - 0xc0]
add eax, 5
xor eax, 0x30
mov word [ebp - 0xb2], ax
mov eax, dword [ebp - 0xc0]
add eax, 6
xor eax, 0x32
mov word [ebp - 0xb0], ax
mov eax, dword [ebp - 0xc0]
add eax, 7
xor eax, 0x58
mov word [ebp - 0xae], ax
mov eax, dword [ebp - 0xc0]
add eax, 8
xor eax, 0x25
mov word [ebp - 0xac], ax
mov eax, dword [ebp - 0xc0]
add eax, 9
xor eax, 0x30
mov word [ebp - 0xaa], ax
mov eax, dword [ebp - 0xc0]
add eax, 0xa
xor eax, 0x32
mov word [ebp - 0xa8], ax
mov eax, dword [ebp - 0xc0]
add eax, 0xb
xor eax, 0x58
mov word [ebp - 0xa6], ax
mov eax, dword [ebp - 0xc0]
add eax, 0xc
xor eax, 0x25
mov word [ebp - 0xa4], ax
mov eax, dword [ebp - 0xc0]
add eax, 0xd
xor eax, 0x30
mov word [ebp - 0xa2], ax
mov eax, dword [ebp - 0xc0]
add eax, 0xe
xor eax, 0x32
mov word [ebp - 0xa0], ax
mov eax, dword [ebp - 0xc0]
add eax, 0xf
xor eax, 0x58
mov word [ebp - 0x9e], ax
mov eax, dword [ebp - 0xc0]
add eax, 0x10
xor eax, 0x25
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0xc0]
add eax, 0x11
xor eax, 0x30
mov word [ebp - 0x9a], ax
mov eax, dword [ebp - 0xc0]
add eax, 0x12
xor eax, 0x32
mov word [ebp - 0x98], ax
mov eax, dword [ebp - 0xc0]
add eax, 0x13
xor eax, 0x58
mov word [ebp - 0x96], ax
mov eax, dword [ebp - 0xc0]
add eax, 0x14
xor eax, 0x25
mov word [ebp - 0x94], ax
mov eax, dword [ebp - 0xc0]
add eax, 0x15
xor eax, 0x30
mov word [ebp - 0x92], ax
mov eax, dword [ebp - 0xc0]
add eax, 0x16
xor eax, 0x32
mov word [ebp - 0x90], ax
mov eax, dword [ebp - 0xc0]
add eax, 0x17
xor eax, 0x58
mov word [ebp - 0x8e], ax
mov eax, dword [ebp - 0xc0]
add eax, 0x18
xor eax, 0x25
mov word [ebp - 0x8c], ax
mov eax, dword [ebp - 0xc0]
add eax, 0x19
xor eax, 0x30
mov word [ebp - 0x8a], ax
mov eax, dword [ebp - 0xc0]
add eax, 0x1a
xor eax, 0x32
mov word [ebp - 0x88], ax
mov eax, dword [ebp - 0xc0]
add eax, 0x1b
xor eax, 0x58
mov word [ebp - 0x86], ax
mov eax, dword [ebp - 0xc0]
add eax, 0x1c
xor eax, 0x25
mov word [ebp - 0x84], ax
mov eax, dword [ebp - 0xc0]
add eax, 0x1d
xor eax, 0x30
mov word [ebp - 0x82], ax
mov eax, dword [ebp - 0xc0]
add eax, 0x1e
xor eax, 0x32
mov word [ebp - 0x80], ax
mov eax, dword [ebp - 0xc0]
add eax, 0x1f
xor eax, 0x58
mov word [ebp - 0x7e], ax
mov eax, dword [ebp - 0xc0]
add eax, 0x20
mov word [ebp - 0x7c], ax
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x402682]
add eax, 0x21
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x7a], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x402684]
add eax, 0x22
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x78], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x402686]
add eax, 0x23
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x76], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x402688]
add eax, 0x24
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x74], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x40268a]
add eax, 0x25
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x72], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x40268c]
add eax, 0x26
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x70], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x40268e]
add eax, 0x27
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x6e], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x402690]
add eax, 0x28
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x6c], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x402692]
add eax, 0x29
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x6a], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x402694]
add eax, 0x2a
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x68], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x402696]
add eax, 0x2b
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x66], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x402698]
add eax, 0x2c
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x64], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x40269a]
add eax, 0x2d
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x62], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x40269c]
add eax, 0x2e
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x60], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x40269e]
add eax, 0x2f
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x5e], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x4026a0]
add eax, 0x30
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x5c], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x4026a2]
add eax, 0x31
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x5a], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x4026a4]
add eax, 0x32
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x58], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x4026a6]
add eax, 0x33
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x56], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x4026a8]
add eax, 0x34
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x54], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x4026aa]
add eax, 0x35
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x52], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x4026ac]
add eax, 0x36
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x50], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x4026ae]
add eax, 0x37
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x4e], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x4026b0]
add eax, 0x38
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x4c], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x4026b2]
add eax, 0x39
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x4a], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x4026b4]
add eax, 0x3a
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x48], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x4026b6]
add eax, 0x3b
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x46], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x4026b8]
add eax, 0x3c
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x44], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x4026ba]
add eax, 0x3d
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x42], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x4026bc]
add eax, 0x3e
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x40], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x4026be]
add eax, 0x3f
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x3e], cx
mov eax, dword [ebp - 0xc0]
movzx ecx, word [0x4026c0]
add eax, 0x40
movzx eax, ax
xor ecx, eax
xor eax, eax
mov word [ebp - 0x3c], cx
mov word [ebp - 0x3a], ax
xor edx, edx
mov ax, word [ebp - 0xbc]
nop dword [eax + eax]
mov ax, word [ebp + edx*2 - 0xbc]
mov ecx, dword [ebp - 0xc0]
add ecx, edx
movzx eax, ax
xor ecx, eax
mov word [ebp + edx*2 - 0xbc], cx
inc edx
cmp edx, 0x41
jb 0x456600
mov ebx, dword [0x4f07ac]
xor eax, eax
mov word [ebp - 0x3a], ax
test ebx, ebx
jne 0x4566c1
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 8], ecx
nop
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4566a8
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 0x456670
cmp eax, 0xc0323159
je 0x456d54
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x4566b9
cmp dword [ecx + 0x18], 0
jne 0x456650
xor ebx, ebx
mov dword [0x4f07ac], ebx
mov ecx, dword [0x4f07b8]
test ecx, ecx
jne 0x45676e
test ebx, ebx
je 0x456766
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x18], eax
lea eax, [ecx + ebx]
xor ecx, ecx
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x456768
mov dword [ebp - 0x10], ecx
cmp dword [eax + 0x18], ecx
je 0x456766
mov eax, dword [eax + 0x20]
mov edx, dword [ebp - 8]
add eax, ebx
mov dword [ebp - 0xc], eax
nop dword [eax]
mov esi, dword [eax]
mov edi, 0x811c9dc5
mov al, byte [esi + ebx]
add esi, ebx
inc esi
test al, al
je 0x456754
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 0x456721
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
cmp edi, 0xaeb3c6d5
je 0x456d5f
mov eax, dword [ebp - 0xc]
inc ecx
add eax, 4
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x456710
xor ecx, ecx
mov dword [0x4f07b8], ecx
movzx eax, byte [0x4e250d]
push eax
movzx eax, byte [0x4e250b]
push eax
movzx eax, byte [0x4e2509]
push eax
movzx eax, byte [0x4e2507]
push eax
movzx eax, byte [0x4e2505]
push eax
movzx eax, byte [0x4e2503]
push eax
movzx eax, byte [0x4e2501]
push eax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x1f8]
push eax
call ecx
add esp, 0x24
lea eax, [ebp - 0x1f8]
push dword [ebp + 8]
push dword [ebp - 0x2c]
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push eax
push eax
push dword [ebp - 0xc4]
lea eax, [ebp - 0x20]
push 0x1000
push eax
call fcn.004bb120
mov ecx, dword [ebp - 0x20]
add esp, 0x24
call fcn.004bb100
mov ebx, dword [0x4f081c]
mov dword [ebp - 8], eax
test ebx, ebx
jne 0x456884
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp + 8], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x45686b
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 0x456833
cmp eax, 0xa3e6f6c3
je 0x456d79
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp + 8], ecx
cmp eax, edx
je 0x45687c
cmp dword [ecx + 0x18], 0
jne 0x456815
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f07a8]
test eax, eax
jne 0x456922
test ebx, ebx
je 0x45691b
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x45691b
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x45691b
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 0x456909
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 0x4568d4
mov ecx, dword [ebp + 8]
cmp edi, 0xa83e21de
je 0x456d84
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp + 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x4568c4
xor eax, eax
mov dword [0x4f07a8], eax
mov ebx, dword [ebp - 0x20]
push 0
push 0
push 0
push 0
push dword [ebp - 8]
push ebx
push 0
push 0xfde9
call eax
mov dword [ebp - 0x10], eax
test eax, eax
jle 0x456df4
mov ecx, eax
call fcn.004baba0
mov edi, eax
mov dword [ebp - 0x18], edi
test edi, edi
je 0x456df9
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x4569f1
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 - 0x14], 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 0x4569d8
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 0x4569a0
cmp eax, 0xa3e6f6c3
je 0x456da1
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp + 8], ecx
cmp eax, edx
je 0x4569e9
cmp dword [ecx + 0x18], 0
jne 0x456980
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f07a8]
test eax, eax
jne 0x456a8f
test ebx, ebx
je 0x456a88
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x456a88
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x456a88
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 0x456a76
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 0x456a41
mov ecx, dword [ebp + 8]
cmp edi, 0xa83e21de
je 0x456dac
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
inc ecx
add eax, 4
mov dword [ebp + 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x456a31
xor eax, eax
mov dword [0x4f07a8], eax
mov ecx, dword [ebp - 0x18]
push 0
push 0
push dword [ebp - 0x10]
push ecx
push dword [ebp - 8]
push dword [ebp - 0x20]
push 0
push 0xfde9
call eax
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x456b41
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 + 8], ecx
nop
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x456b28
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 0x456af0
cmp eax, 0xa3e6f6c3
je 0x456dc9
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp + 8], ecx
cmp eax, edx
je 0x456b39
cmp dword [ecx + 0x18], 0
jne 0x456ad0
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f0778]
test eax, eax
jne 0x456bdf
test ebx, ebx
je 0x456bd8
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x456bd8
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x456bd8
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 0x456bc6
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 0x456b91
mov ecx, dword [ebp + 8]
cmp edi, 0x84aec1ca
je 0x456dd4
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
inc ecx
add eax, 4
mov dword [ebp + 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x456b81
xor eax, eax
mov dword [0x4f0778], eax
mov edi, dword [ebp - 0x18]
lea ecx, [ebp - 0x1b8]
mov esi, dword [ebp - 0x24]
push 0
push ecx
push dword [ebp - 0x10]
push edi
push esi
call eax
mov ebx, dword [ebp - 0x20]
xor ecx, ecx
test eax, eax
mov edx, 1
cmovne ecx, edx
mov dword [ebp - 0x14], ecx
jmp 0x456e03
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x4550a0
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x45513e
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x4552ab
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x455349
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x4553fb
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x455499
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x4556be
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x45575c
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x45581b
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x4558b9
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x455c8b
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov ecx, dword [ecx + eax*4]
add ecx, ebx
jmp 0x455d2e
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x455e0b
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x455ead
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x455f6b
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x45600d
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x4566bb
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 0x456768
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x45687e
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x45691d
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4569eb
mov edx, dword [ebp - 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 0x456a8a
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x456b3b
mov edx, dword [ebp - 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 0x456bda
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x24]
jmp 0x456e01
mov esi, dword [ebp - 0x24]
jmp 0x456e03
or esi, 0xffffffff
xor edi, edi
mov ecx, dword [ebp - 0xc4]
test ecx, ecx
je 0x456e12
call fcn.004bb000
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x456e20
mov ecx, eax
call fcn.004bb000
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x456e2e
mov ecx, eax
call fcn.004bb000
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x456e3c
mov ecx, eax
call fcn.004bb000
test ebx, ebx
je 0x456e47
mov ecx, ebx
call fcn.004bb000
test edi, edi
je 0x456e52
mov ecx, edi
call fcn.004bb000
cmp esi, 0xffffffff
je 0x456e5f
push esi
call fcn.00411310
call eax
mov eax, dword [ebp - 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4