Function at 0x10041e40
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b2e8c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x68
xor eax, eax
mov ecx, 0x207
push ebx
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp + 0xc]
push esi
mov si, word [0x100e80b0]
mov dword [ebp - 0x14], eax
mov eax, 0x2cb
push edi
cmp si, ax
jne 0x10041f16
mov eax, dword [ebx + 0x34]
mov eax, dword [eax + 0x28]
cmp eax, 0x773
jb 0x10041e97
cmp eax, 0x78c
jbe 0x10041ea5
add eax, 0xffffc5e5
cmp eax, 0x19
ja 0x100429ad
mov edi, dword [ebp + 0x10]
mov eax, dword [edi + 0x34]
mov eax, dword [eax + 0x28]
cmp eax, 0x773
jb 0x10041ebc
cmp eax, 0x78c
jbe 0x10041eca
add eax, 0xffffc5e5
cmp eax, 0x19
ja 0x100429ad
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x11c]
call eax
cmp al, 4
jae 0x10041f08
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x11c]
call eax
cmp al, 4
jae 0x10041f08
mov eax, dword [edi + 0x34]
movzx ecx, byte [eax + 0x65]
mov eax, dword [ebx + 0x34]
movzx eax, byte [eax + 0x65]
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jge 0x10042544
mov si, word [0x100e80b0]
mov ecx, 0x207
jmp 0x10041f19
mov edi, dword [ebp + 0x10]
mov eax, 0x1e7
cmp si, ax
je 0x10041f32
cmp si, cx
je 0x10041f32
cmp si, 1
jne 0x1004259d
mov eax, dword [edi + 0x34]
lea ecx, [ebp - 0x5c]
mov eax, dword [eax + 0x18]
add eax, 0x14
push eax
call fcn.10007a70
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x5c]
mov eax, dword [ebx + 0x34]
cmp dword [ebp - 0x48], 0x10
mov edi, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x4c]
cmovae ecx, edi
mov esi, dword [eax + 0x28]
push 0x10
push str.MOB_SD_SETH_DROP
call fcn.10008560
add esp, 8
test al, al
jne 0x10041f94
cmp dword [ebp - 0x48], 0x10
lea ecx, [ebp - 0x5c]
mov edx, dword [ebp - 0x4c]
push 0x14
cmovae ecx, edi
push str.MOB_SD_HAROERIS_DROP
call fcn.10008560
add esp, 8
test al, al
je 0x10041fa4
cmp esi, 0x3a1b
jl 0x10041fa4
cmp esi, 0x3a34
jle 0x10041fb3
lea eax, [esi - 0x773]
cmp eax, 0x19
ja 0x1004255c
cmp dword [ebp - 0x48], 0x10
lea ecx, [ebp - 0x5c]
mov edx, dword [ebp - 0x4c]
push 0x10
cmovae ecx, edi
push str.MOB_SD_SETH_DROP
call fcn.10008560
add esp, 8
test al, al
je 0x1004226e
push 0xb
push str.MOB_SD_SETH
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.10011b50
cmp dword [ebp - 0x30], 0x10
lea esi, [ebp - 0x44]
mov edi, dword [0x100e8344]
mov edx, 0x811c9dc5
cmovae esi, dword [ebp - 0x44]
xor ecx, ecx
cmp dword [ebp - 0x34], ecx
jbe 0x10042027
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [ebp - 0x34]
jb 0x10042015
and edx, dword [0x100e8358]
mov ecx, dword [0x100e834c]
lea eax, [edx + edx]
mov esi, dword [ecx + edx*8]
lea edx, [eax*4 + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], eax
nop dword [eax]
cmp eax, edi
jne 0x10042058
mov eax, edi
jmp 0x1004205d
mov eax, dword [ecx + edx]
mov eax, dword [eax]
cmp esi, eax
je 0x100420d4
cmp dword [ebp - 0x30], 0x10
lea edx, [ebp - 0x44]
mov ebx, dword [esi + 0x1c]
lea ecx, [esi + 8]
cmovae edx, dword [ebp - 0x44]
cmp ebx, 0x10
mov dword [ebp - 0x1c], ebx
mov ebx, dword [ebp + 0xc]
jb 0x10042080
mov ecx, dword [esi + 8]
push dword [ebp - 0x34]
mov eax, dword [esi + 0x18]
push edx
mov edx, eax
mov dword [ebp - 0x20], eax
call fcn.10008560
add esp, 8
test al, al
jne 0x100420a8
mov esi, dword [esi]
mov ecx, dword [0x100e834c]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
jmp 0x10042050
cmp dword [ebp - 0x1c], 0x10
lea eax, [esi + 8]
jb 0x100420b3
mov eax, dword [eax]
cmp dword [ebp - 0x30], 0x10
lea ecx, [ebp - 0x44]
push dword [ebp - 0x20]
cmovae ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x34]
push eax
call fcn.10008560
add esp, 8
test al, al
cmove esi, edi
jmp 0x100420d6
mov esi, edi
mov eax, dword [ebp - 0x30]
cmp eax, 0x10
jb 0x1004210c
mov edx, dword [ebp - 0x44]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x10042102
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10043165
push ecx
push edx
call fcn.1005cbc1
add esp, 8
cmp esi, edi
je 0x1004250e
push 0xb
push str.MOB_SD_SETH
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], 0
call fcn.10011b50
mov eax, 1
mov byte [ebp - 4], 1
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10057790
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebx + 0x34]
add ecx, 0x20
add edx, 0x30
call fcn.100557f0
test al, al
je 0x100421bf
push 0xb
push str.MOB_SD_SETH
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.10011b50
mov eax, 3
mov dword [ebp - 4], 2
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10057790
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebx + 0x34]
add ecx, 0x20
add edx, 0x4c
call fcn.100557f0
mov byte [ebp - 0xd], 1
test al, al
jne 0x100421c3
mov byte [ebp - 0xd], 0
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x14]
test al, 2
je 0x10042220
mov edx, dword [ebp - 0x30]
and eax, 0xfffffffd
mov dword [ebp - 0x14], eax
cmp edx, 0x10
jb 0x1004220e
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10042201
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004316a
push edx
push ecx
call fcn.1005cbc1
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov dword [ebp - 4], 0
and eax, 0xfffffffe
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x14], eax
cmp edx, 0x10
jb 0x10042261
mov ecx, dword [ebp - 0x74]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10042257
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004316f
push edx
push ecx
call fcn.1005cbc1
add esp, 8
cmp byte [ebp - 0xd], 0
jne 0x1004250e
mov edi, dword [ebp - 0x5c]
cmp dword [ebp - 0x48], 0x10
lea ecx, [ebp - 0x5c]
mov edx, dword [ebp - 0x4c]
push 0x14
cmovae ecx, edi
push str.MOB_SD_HAROERIS_DROP
call fcn.10008560
add esp, 8
test al, al
je 0x1004255c
push 0xf
push str.MOB_SD_HAROERIS
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.10011b50
cmp dword [ebp - 0x30], 0x10
lea esi, [ebp - 0x44]
mov edi, dword [0x100e8344]
mov edx, 0x811c9dc5
cmovae esi, dword [ebp - 0x44]
xor ecx, ecx
cmp dword [ebp - 0x34], ecx
jbe 0x100422e2
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [ebp - 0x34]
jb 0x100422d0
and edx, dword [0x100e8358]
mov ecx, dword [0x100e834c]
lea eax, [edx + edx]
mov esi, dword [ecx + edx*8]
lea edx, [eax*4 + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], eax
cmp eax, edi
jne 0x1004230c
mov eax, edi
jmp 0x10042311
mov eax, dword [ecx + edx]
mov eax, dword [eax]
cmp esi, eax
je 0x10042388
cmp dword [ebp - 0x30], 0x10
lea edx, [ebp - 0x44]
mov ebx, dword [esi + 0x1c]
lea ecx, [esi + 8]
cmovae edx, dword [ebp - 0x44]
cmp ebx, 0x10
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp + 0xc]
jb 0x10042334
mov ecx, dword [esi + 8]
push dword [ebp - 0x34]
mov eax, dword [esi + 0x18]
push edx
mov edx, eax
mov dword [ebp - 0x28], eax
call fcn.10008560
add esp, 8
test al, al
jne 0x1004235c
mov esi, dword [esi]
mov ecx, dword [0x100e834c]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
jmp 0x10042304
cmp dword [ebp - 0x18], 0x10
lea eax, [esi + 8]
jb 0x10042367
mov eax, dword [eax]
cmp dword [ebp - 0x30], 0x10
lea ecx, [ebp - 0x44]
push dword [ebp - 0x28]
cmovae ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x34]
push eax
call fcn.10008560
add esp, 8
test al, al
cmove esi, edi
jmp 0x1004238a
mov esi, edi
mov eax, dword [ebp - 0x30]
cmp eax, 0x10
jb 0x100423c0
mov edx, dword [ebp - 0x44]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x100423b6
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10043174
push ecx
push edx
call fcn.1005cbc1
add esp, 8
cmp esi, edi
je 0x1004250e
push 0xf
push str.MOB_SD_HAROERIS
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], 0
call fcn.10011b50
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x14]
or eax, 4
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10057790
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebx + 0x34]
add ecx, 0x20
add edx, 0x30
call fcn.100557f0
test al, al
je 0x10042475
push 0xf
push str.MOB_SD_HAROERIS
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.10011b50
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x14]
or eax, 8
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10057790
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebx + 0x34]
add ecx, 0x20
add edx, 0x4c
call fcn.100557f0
mov byte [ebp + 0xf], 1
test al, al
jne 0x10042479
mov byte [ebp + 0xf], 0
mov dword [ebp - 4], 3
mov eax, dword [ebp - 0x14]
test al, 8
je 0x100424cd
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x100424bb
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100424b1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10043179
push edx
push ecx
call fcn.1005cbc1
add esp, 8
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x60]
cmp edx, 0x10
jb 0x10042508
mov ecx, dword [ebp - 0x74]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100424fe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004317e
push edx
push ecx
call fcn.1005cbc1
add esp, 8
cmp byte [ebp + 0xf], 0
je 0x10042559
mov eax, dword [ebp - 0x48]
cmp eax, 0x10
jb 0x10042544
mov edx, dword [ebp - 0x5c]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x1004253a
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10043183
push ecx
push edx
call fcn.1005cbc1
add esp, 8
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edi, dword [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x48]
cmp eax, 0x10
jb 0x10042596
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x1004258c
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10043188
push ecx
push edi
call fcn.1005cbc1
add esp, 8
mov si, word [0x100e80b0]
mov eax, 0x8c
cmp si, ax
je 0x100425c9
mov eax, 0x147
cmp si, ax
je 0x100425c9
mov eax, 0x6ba
cmp si, ax
je 0x100425c9
mov eax, 0x8a6
cmp si, ax
jne 0x100427ab
mov ax, word [ebx + 0x78]
sub ax, 0x79
cmp ax, 0x31
ja 0x100427ab
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x34]
mov edi, dword [eax + 0x18]
cmp dword [edi + 0x7c], 0x10
lea ecx, [edi + 0x68]
jb 0x100425f0
mov ecx, dword [edi + 0x68]
mov edx, dword [edi + 0x78]
push 9
push str.protected
call fcn.10008560
add esp, 8
test al, al
je 0x100427ab
mov ecx, dword [ebx + 0x34]
mov eax, dword [ecx + 0x28]
cmp eax, 0x773
jb 0x1004261e
cmp eax, 0x78c
jbe 0x1004262c
add eax, 0xffffc5e5
cmp eax, 0x19
ja 0x100427ab
movzx esi, byte [ecx + 0xec]
mov eax, esi
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0xc]
push eax
call fcn.10030af0
test eax, eax
jne 0x1004269d
mov eax, dword [ebx]
mov ecx, ebx
push 0xdd87
mov eax, dword [eax + 0x278]
call eax
mov esi, eax
mov byte [ebp + 0x10], 7
lea eax, [ebp + 0x10]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], 0x404090
mov edx, dword [ebp - 0x28]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x20]
call dword [ebp - 0x1c]
mov eax, dword [ebx]
mov ecx, ebx
push esi
mov eax, dword [eax + 0x27c]
call eax
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, esi
mov dword [ebp - 0x28], eax
lea eax, [edi + 0x14]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.10030ef0
mov ecx, eax
call fcn.10053830
test eax, eax
jne 0x10042712
mov eax, dword [ebx]
mov ecx, ebx
push 0xdd87
mov eax, dword [eax + 0x278]
call eax
mov esi, eax
mov byte [ebp + 0x10], 7
lea eax, [ebp + 0x10]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], 0x404090
mov edx, dword [ebp - 0x28]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x20]
call dword [ebp - 0x1c]
mov eax, dword [ebx]
mov ecx, ebx
push esi
mov eax, dword [eax + 0x27c]
call eax
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebx + 0x34]
mov edi, dword [ebp + 0x10]
movzx eax, byte [eax + 0xec]
mov dword [ebp - 0x28], eax
mov eax, dword [edi + 0x34]
mov esi, dword [eax + 0x18]
lea eax, [ebp - 0x28]
push eax
add esi, 0x14
call fcn.10030ef0
push esi
lea ecx, [ebp - 0x24]
push ecx
mov ecx, eax
call fcn.10031b70
mov eax, dword [ebp - 0x24]
mov al, byte [eax + 0x20]
test al, al
jne 0x100427a2
mov eax, dword [ebx]
mov ecx, ebx
push 0xdd87
mov eax, dword [eax + 0x278]
call eax
mov esi, eax
mov byte [ebp + 0x10], 7
lea eax, [ebp + 0x10]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], 0x404090
mov edx, dword [ebp - 0x28]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x20]
call dword [ebp - 0x1c]
mov eax, dword [ebx]
mov ecx, ebx
push esi
mov eax, dword [eax + 0x27c]
call eax
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov si, word [0x100e80b0]
jmp 0x100427ae
mov edi, dword [ebp + 0x10]
mov eax, 0x652
cmp si, ax
je 0x100427d0
mov eax, 0x6e2
cmp si, ax
je 0x100427d0
mov eax, 0x8c4
cmp si, ax
jne 0x100429ad
mov ax, word [ebx + 0x78]
sub ax, 0x67
cmp ax, 0x13
ja 0x100429ad
mov eax, dword [edi + 0x34]
mov edi, dword [eax + 0x18]
cmp dword [edi + 0x7c], 0x10
lea ecx, [edi + 0x68]
jb 0x100427f4
mov ecx, dword [edi + 0x68]
mov edx, dword [edi + 0x78]
push 9
push str.protected
call fcn.10008560
add esp, 8
test al, al
je 0x100429ad
mov ecx, dword [ebx + 0x34]
mov eax, dword [ecx + 0x28]
cmp eax, 0x773
jb 0x10042822
cmp eax, 0x78c
jbe 0x10042830
add eax, 0xffffc5e5
cmp eax, 0x19
ja 0x100429ad
movzx esi, byte [ecx + 0xec]
mov eax, esi
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0xc]
push eax
call fcn.10030af0
test eax, eax
jne 0x100428a1
mov eax, dword [ebx]
mov ecx, ebx
push 0xdd87
mov eax, dword [eax + 0x278]
call eax
mov esi, eax
mov byte [ebp + 0x10], 0x11
lea eax, [ebp + 0x10]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], 0x404090
mov edx, dword [ebp - 0x28]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x20]
call dword [ebp - 0x1c]
mov eax, dword [ebx]
mov ecx, ebx
push esi
mov eax, dword [eax + 0x27c]
call eax
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, esi
mov dword [ebp - 0x28], eax
lea eax, [edi + 0x14]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.10030ef0
mov ecx, eax
call fcn.10053830
test eax, eax
jne 0x10042916
mov eax, dword [ebx]
mov ecx, ebx
push 0xdd87
mov eax, dword [eax + 0x278]
call eax
mov esi, eax
mov byte [ebp + 0x10], 0x11
lea eax, [ebp + 0x10]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], 0x404090
mov edx, dword [ebp - 0x28]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x20]
call dword [ebp - 0x1c]
mov eax, dword [ebx]
mov ecx, ebx
push esi
mov eax, dword [eax + 0x27c]
call eax
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebx + 0x34]
movzx eax, byte [eax + 0xec]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x34]
mov esi, dword [eax + 0x18]
lea eax, [ebp - 0x28]
push eax
add esi, 0x14
call fcn.10030ef0
push esi
lea ecx, [ebp - 0x24]
push ecx
mov ecx, eax
call fcn.10031b70
mov eax, dword [ebp - 0x24]
mov al, byte [eax + 0x20]
test al, al
jne 0x100429a6
mov eax, dword [ebx]
mov ecx, ebx
push 0xdd87
mov eax, dword [eax + 0x278]
call eax
mov esi, eax
mov byte [ebp + 0x10], 0x11
lea eax, [ebp + 0x10]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], 0x404090
mov edx, dword [ebp - 0x28]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x20]
call dword [ebp - 0x1c]
mov eax, dword [ebx]
mov ecx, ebx
push esi
mov eax, dword [eax + 0x27c]
call eax
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov si, word [0x100e80b0]
movzx edx, word [ebx + 0x78]
mov edi, dword [0x100e846c]
mov eax, edx
mov dword [ebp - 0x28], eax
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
xor ecx, eax
imul ecx, ecx, 0x1000193
and ecx, dword [0x100e8478]
mov eax, dword [edi + ecx*8]
add ecx, ecx
lea edx, [ecx*4 + 4]
mov ecx, dword [edi + ecx*4]
mov dword [ebp + 0xc], edx
mov edx, dword [0x100e8464]
mov dword [ebp - 0x20], ecx
cmp ecx, edx
jne 0x10042a00
mov ecx, edx
jmp 0x10042a08
mov ecx, dword [ebp + 0xc]
mov ecx, dword [edi + ecx]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x10042b21
mov ecx, dword [ebp - 0x28]
cmp word [eax + 8], cx
je 0x10042a20
mov eax, dword [eax]
mov ecx, dword [ebp - 0x20]
jmp 0x100429f8
cmp eax, edx
je 0x10042b21
mov eax, dword [ebx + 0x34]
mov edi, dword [eax + 0x18]
cmp dword [edi + 0x44], 0x10
lea ecx, [edi + 0x30]
jb 0x10042a3a
mov ecx, dword [edi + 0x30]
mov edx, dword [edi + 0x40]
push 5
push str.cape:
push ecx
call fcn.10008190
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10042a83
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x34]
mov edx, dword [eax + 0x18]
cmp dword [edx + 0x44], 0x10
lea ecx, [edx + 0x30]
jb 0x10042a67
mov ecx, dword [edx + 0x30]
mov edx, dword [edx + 0x40]
push 5
push str.cape:
push ecx
call fcn.10008190
add esp, 0xc
cmp eax, 0xffffffff
je 0x10042b21
mov eax, dword [ebx + 0x34]
mov eax, dword [eax + 0x28]
cmp eax, 0x3a1b
jl 0x10042a97
cmp eax, 0x3a34
jle 0x10042aa1
add eax, 0xfffff88d
cmp eax, 0x19
ja 0x10042ae4
movzx esi, byte [ebx + 0x21ec]
lea eax, [ebp - 0x74]
push 1
push 5
push eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x34]
mov ecx, dword [eax + 0x18]
add ecx, 0x30
call fcn.1001b160
push ecx
mov ecx, eax
mov dword [ebp - 4], 5
call fcn.1000ad40
add esp, 4
lea ecx, [ebp - 0x74]
mov ebx, eax
call fcn.10007a20
cmp ebx, esi
jmp 0x1004314f
mov eax, dword [ebp + 0x10]
lea ecx, [edi + 0x30]
push 1
push 5
movzx ebx, byte [eax + 0x21ec]
lea eax, [ebp - 0x74]
push eax
call fcn.1001b160
push ecx
mov ecx, eax
mov dword [ebp - 4], 6
call fcn.1000ad40
add esp, 4
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.10007a20
cmp ebx, esi
jmp 0x1004314f
movzx edx, word [ebx + 0x78]
mov eax, 0x88
cmp dx, ax
je 0x10042bee
cmp edx, 0x6c
je 0x10042bee
cmp edx, 0x63
jne 0x10042ba6
mov eax, 0x1cf
cmp si, ax
je 0x10042bee
mov eax, 0xa6
cmp si, ax
je 0x10042bee
mov eax, 0x282
cmp si, ax
je 0x10042bee
mov eax, 0x303
cmp si, ax
je 0x10042bee
mov eax, 0x207
cmp si, ax
je 0x10042bee
mov eax, 0x1e7
cmp si, ax
je 0x10042bee
call fcn.1001f8f0
test al, al
jne 0x10042bee
mov eax, 0x3c5
cmp si, ax
je 0x10042bee
mov eax, 0x56e
cmp si, ax
je 0x10042bee
mov eax, 0x4d0
cmp si, ax
je 0x10042bee
mov eax, 0xb4
cmp si, ax
jne 0x10042bbf
cmp edx, 0x6e
ja 0x10042bee
call fcn.1001f910
test al, al
je 0x10042bcd
cmp edx, 0x6e
je 0x10042bee
mov eax, 0x8c
cmp si, ax
je 0x10042be1
mov eax, 0x147
cmp si, ax
jne 0x10042c4d
lea eax, [edx - 0x79]
mov ecx, 0x95
cmp ax, cx
ja 0x10042c4d
mov edi, dword [ebx + 0x34]
mov esi, dword [edi + 0x18]
cmp dword [esi + 0x44], 0x10
lea ecx, [esi + 0x30]
jb 0x10042c00
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x40]
push 5
push str.cape:
push ecx
call fcn.10008190
add esp, 0xc
cmp eax, 0xffffffff
jne 0x100430c9
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x34]
mov edx, dword [eax + 0x18]
cmp dword [edx + 0x44], 0x10
lea ecx, [edx + 0x30]
jb 0x10042c31
mov ecx, dword [edx + 0x30]
mov edx, dword [edx + 0x40]
push 5
push str.cape:
push ecx
call fcn.10008190
add esp, 0xc
cmp eax, 0xffffffff
jne 0x100430c9
mov edx, dword [0x100e8064]
mov ecx, dword [ebp + 0x10]
test edx, edx
jle 0x10042d5e
mov eax, dword [ecx + 0x34]
mov esi, dword [eax + 0x18]
mov al, byte [esi + 0x89]
cmp al, 3
je 0x10042c76
cmp al, 8
jne 0x10042d5e
mov ecx, dword [ebx + 0x34]
mov eax, dword [ecx + 0x28]
cmp eax, 0x773
jb 0x10042c8a
cmp eax, 0x78c
jbe 0x10042c98
add eax, 0xffffc5e5
cmp eax, 0x19
ja 0x10042d5b
mov al, byte [esi + 0x198]
mov cl, byte [ecx + 0x65]
cmp cl, al
jbe 0x10042d5b
movzx ecx, cl
movzx eax, al
sub ecx, eax
mov dword [ebp + 0xc], ecx
cmp ecx, edx
jle 0x10042d5b
mov eax, dword [ebx]
mov ecx, ebx
push 0xdd87
mov eax, dword [eax + 0x278]
call eax
mov esi, eax
mov byte [ebp + 0x10], 4
lea eax, [ebp + 0x10]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], 0x404090
mov edx, dword [ebp - 0x28]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x18]
call dword [ebp - 0x20]
mov cl, byte [0x100e8064]
lea eax, [ebp + 0x10]
mov byte [ebp + 0x10], cl
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], 0x404090
mov edx, dword [ebp - 0x28]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x18]
call dword [ebp - 0x20]
mov eax, dword [ebp + 0xc]
mov byte [ebp + 0x10], al
lea eax, [ebp + 0x10]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], 0x404090
mov edx, dword [ebp - 0x28]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x18]
call dword [ebp - 0x20]
mov eax, dword [ebx]
mov ecx, ebx
push esi
mov eax, dword [eax + 0x27c]
call eax
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 0x10]
cmp byte [0x100e8086], 0
je 0x10042e8c
mov eax, dword [ecx + 0x34]
mov esi, dword [eax + 0x18]
add esi, 0x30
mov ecx, esi
mov edi, dword [esi + 0x14]
cmp edi, 0x10
jb 0x10042d80
mov ecx, dword [esi]
mov eax, dword [esi + 0x10]
mov edx, eax
push 3
push 0x100ce600
mov dword [ebp + 0xc], eax
call fcn.10008560
add esp, 8
test al, al
jne 0x10042dbe
mov ecx, esi
cmp edi, 0x10
jb 0x10042da4
mov ecx, dword [esi]
mov edx, dword [ebp + 0xc]
push 3
push 0x100ce604
call fcn.10008560
add esp, 8
test al, al
je 0x10042e8c
mov edi, dword [ebx + 0x34]
mov eax, dword [edi + 0x28]
cmp eax, 0x773
jb 0x10042dd2
cmp eax, 0x78c
jbe 0x10042de0
add eax, 0xffffc5e5
cmp eax, 0x19
ja 0x10042e8c
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x10042dea
mov ecx, dword [esi]
mov edx, dword [ebp + 0xc]
push 3
push 0x100ce600
call fcn.10008560
add esp, 8
test al, al
je 0x10042e0a
mov ax, word [edi + 0x74]
cmp ax, word [edi + 0x76]
jbe 0x10042e34
cmp dword [esi + 0x14], 0x10
jb 0x10042e12
mov esi, dword [esi]
mov edx, dword [ebp + 0xc]
mov ecx, esi
push 3
push 0x100ce604
call fcn.10008560
add esp, 8
test al, al
je 0x10042e8c
mov ax, word [edi + 0x76]
cmp ax, word [edi + 0x74]
ja 0x10042e8c
mov eax, dword [ebx]
mov ecx, ebx
push 0xdd87
mov eax, dword [eax + 0x278]
call eax
mov esi, eax
mov byte [ebp + 0x10], 0
lea eax, [ebp + 0x10]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], 0x404090
mov edx, dword [ebp - 0x28]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x20]
call dword [ebp - 0x1c]
mov eax, dword [ebx]
mov ecx, ebx
push esi
mov eax, dword [eax + 0x27c]
call eax
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp byte [0x100e805d], 0
je 0x10042fc7
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x34]
mov esi, dword [eax + 0x18]
add esi, 0x68
mov ecx, esi
mov edi, dword [esi + 0x14]
cmp edi, 0x10
jb 0x10042eb1
mov ecx, dword [esi]
mov eax, dword [esi + 0x10]
mov edx, eax
push 2
push 0x100cf65c
mov dword [ebp + 0xc], eax
call fcn.10008560
add esp, 8
test al, al
jne 0x10042eef
mov ecx, esi
cmp edi, 0x10
jb 0x10042ed5
mov ecx, dword [esi]
mov edx, dword [ebp + 0xc]
push 2
push 0x100cf660
call fcn.10008560
add esp, 8
test al, al
je 0x10042fc7
mov eax, dword [ebx + 0x34]
mov edi, dword [eax + 0x28]
cmp edi, 0x773
jb 0x10042f05
cmp edi, 0x78c
jbe 0x10042f14
lea eax, [edi - 0x3a1b]
cmp eax, 0x19
ja 0x10042fc7
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x10042f1e
mov ecx, dword [esi]
mov edx, dword [ebp + 0xc]
push 2
push 0x100cf65c
call fcn.10008560
add esp, 8
test al, al
je 0x10042f44
cmp edi, 0x3a1b
jb 0x10042f44
cmp edi, 0x3a34
jbe 0x10042f6f
cmp dword [esi + 0x14], 0x10
jb 0x10042f4c
mov esi, dword [esi]
mov edx, dword [ebp + 0xc]
mov ecx, esi
push 2
push 0x100cf660
call fcn.10008560
add esp, 8
test al, al
je 0x10042fc7
lea eax, [edi - 0x773]
cmp eax, 0x19
ja 0x10042fc7
mov eax, dword [ebx]
mov ecx, ebx
push 0xdd87
mov eax, dword [eax + 0x278]
call eax
mov esi, eax
mov byte [ebp + 0x10], 1
lea eax, [ebp + 0x10]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], 0x404090
mov edx, dword [ebp - 0x28]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x20]
call dword [ebp - 0x1c]
mov eax, dword [ebx]
mov ecx, ebx
push esi
mov eax, dword [eax + 0x27c]
call eax
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp byte [0x100e8057], 0
je 0x100430b4
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x34]
mov esi, dword [eax + 0x18]
add esi, 0x68
mov ecx, esi
mov edi, dword [esi + 0x14]
cmp edi, 0x10
jb 0x10042fec
mov ecx, dword [esi]
mov eax, dword [esi + 0x10]
mov edx, eax
push 3
push 0x100cf664
mov dword [ebp + 0x10], eax
call fcn.10008560
add esp, 8
test al, al
je 0x100430b4
mov eax, dword [ebx + 0x34]
mov eax, dword [eax + 0x28]
cmp eax, 0x773
jb 0x1004301f
cmp eax, 0x78c
jbe 0x1004302d
add eax, 0xffffc5e5
cmp eax, 0x19
ja 0x100430b4
cmp edi, 0x10
jb 0x10043034
mov esi, dword [esi]
mov edx, dword [ebp + 0x10]
mov ecx, esi
push 3
push 0x100cf664
call fcn.10008560
add esp, 8
test al, al
je 0x100430b4
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x11c]
call eax
cmp al, 4
jne 0x100430b4
mov eax, dword [ebx]
mov ecx, ebx
push 0xdd87
mov eax, dword [eax + 0x278]
call eax
mov esi, eax
mov byte [ebp + 0xc], 0x10
lea eax, [ebp + 0xc]
mov dword [ebp - 0x28], esi
mov dword [ebp + 0x10], eax
mov dword [ebp - 0x20], 0x404090
mov edx, dword [ebp + 0x10]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x28]
call dword [ebp - 0x20]
mov eax, dword [ebx]
mov ecx, ebx
push esi
mov eax, dword [eax + 0x27c]
call eax
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi + 0x28]
cmp eax, 0x3a1b
jl 0x100430da
cmp eax, 0x3a34
jle 0x100430e4
add eax, 0xfffff88d
cmp eax, 0x19
ja 0x10043117
movzx esi, byte [ebx + 0x21ec]
lea eax, [ebp - 0x74]
push 1
push 5
push eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x34]
mov ecx, dword [eax + 0x18]
add ecx, 0x30
call fcn.1001b160
push ecx
mov ecx, eax
mov dword [ebp - 4], 7
call fcn.1000ad40
mov edi, eax
jmp 0x10043142
mov eax, dword [ebp + 0x10]
lea ecx, [esi + 0x30]
push 1
push 5
movzx edi, byte [eax + 0x21ec]
lea eax, [ebp - 0x74]
push eax
call fcn.1001b160
push ecx
mov ecx, eax
mov dword [ebp - 4], 8
call fcn.1000ad40
mov esi, eax
add esp, 4
lea ecx, [ebp - 0x74]
call fcn.10007a20
cmp edi, esi
mov ecx, dword [ebp - 0xc]
sete al
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc
call fcn.10078e0c
call fcn.10078e0c
call fcn.10078e0c
call fcn.10078e0c
call fcn.10078e0c
call fcn.10078e0c
call fcn.10078e0c
call fcn.10078e0c
int3