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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102214bc
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x102d2084]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x5c], 0
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
cmp byte [eax + 7], 0
je 0x1004ddff
cmp dword [eax + 0x134], 0
je 0x1004ddff
mov ecx, dword [esi + 0x54]
test ecx, ecx
je 0x1004ddff
mov eax, dword [ecx]
call dword [eax]
test eax, eax
je 0x1004ddff
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x18]
mov ebx, eax
mov dword [ebp - 0x60], ebx
test ebx, ebx
je 0x1004ddff
mov esi, dword [esi + 0x88]
test esi, esi
je 0x1004ddff
mov eax, dword [ebx + 8]
lea ecx, [ebx + 8]
call dword [eax + 8]
mov edi, eax
test edi, edi
je 0x1004ddff
lea eax, [ebp - 0x28]
mov ecx, 0x1035ad80
push eax
call fcn.10042810
mov dword [ebp - 4], 0
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
lea ecx, [esi + 4]
mov dword [ebp - 0x58], ecx
cmovae eax, dword [ebp - 0x28]
push eax
push ecx
call fcn.101f2290
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.1002b860
mov eax, dword [edi + 0x14]
test esi, esi
je 0x1004d02c
cmp eax, 0x2a
jne 0x1004befa
mov ecx, dword [0x10bbb620]
add ecx, 0x91761abb
xor ecx, 0xfd410b50
mov edx, dword [ecx + 0x134]
mov dword [ebp - 0x58], edx
test edx, edx
je 0x1004be24
mov ecx, dword [ecx + 0x184]
mov eax, dword [ecx + 0x1c]
cmp dword [eax + 0x30], ecx
jne 0x1004be24
cmp ebx, edx
je 0x1004be24
mov ecx, dword [0x10370f7c]
test cl, 1
jne 0x1004bd8a
or ecx, 1
mov dword [0x10370f7c], ecx
mov dword [ebp - 4], 1
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1004bcb4
mov eax, dword [ebx]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x1004bca9
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004bc80
xor edx, edx
test ecx, ecx
je 0x1004bca9
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004bc90
cmp esi, 0x1eee87cc
je 0x1004bcd0
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1004bc68
xor eax, eax
mov ebx, dword [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x10370f7c]
mov dword [0x10370f34], eax
jmp 0x1004bd8f
mov eax, dword [ebp - 0x48]
xor esi, esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x50], esi
cmp dword [eax + 4], esi
jle 0x1004bd78
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
nop dword [eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1004bd21
cmp dword [ecx + 4], 0
jle 0x1004bd21
push 0
mov edx, 0xa5bfefb3
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1004bd1e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x44], esi
mov eax, dword [ebp - 0x48]
mov edi, dword [ebx]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004bd30
xor edx, edx
test ecx, ecx
je 0x1004bd5c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004bd40
cmp esi, 0xa5bfefb3
je 0x1004bd7f
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
inc edx
mov esi, dword [ebp - 0x44]
add ecx, 0x3c
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ecx
cmp edx, dword [eax + 4]
jl 0x1004bcf0
mov eax, esi
jmp 0x1004bcb6
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x44]
jmp 0x1004bcb6
mov eax, dword [0x10370f34]
mov edx, dword [eax + ebx]
mov dword [ebp - 0x54], edx
test cl, 1
jne 0x1004be18
or ecx, 1
mov dword [0x10370f7c], ecx
mov dword [ebp - 4], 2
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1004be04
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1004bdf9
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004bdd0
xor edx, edx
test ecx, ecx
je 0x1004bdf9
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004bde0
cmp esi, 0x1eee87cc
je 0x1004be42
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1004bdb8
xor eax, eax
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x60]
mov dword [0x10370f34], eax
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x58]
cmp edx, dword [esi + eax]
je 0x1004befa
push 1
push 0
push 0x10355618
movss xmm3, dword [0x102ba7b4]
mov ecx, dword [ebp - 0x64]
call fcn.1004b1f0
jmp 0x1004de01
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], esi
cmp dword [eax + 4], esi
jle 0x1004bee8
xor ecx, ecx
mov dword [ebp - 0x50], ecx
nop dword [eax + eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1004be91
cmp dword [ecx + 4], 0
jle 0x1004be91
push 0
mov edx, 0xa5bfefb3
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1004be8e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004bea0
xor edx, edx
test ecx, ecx
je 0x1004becc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004beb0
cmp edi, 0xa5bfefb3
je 0x1004beef
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
inc edx
mov esi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x50], ecx
cmp edx, dword [eax + 4]
jl 0x1004be60
mov eax, esi
jmp 0x1004be06
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
jmp 0x1004be06
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x278]
call eax
test al, al
je 0x1004ddff
mov eax, dword [0x1036f68c]
test al, 1
jne 0x1004c062
or eax, 1
mov dword [0x1036f68c], eax
mov dword [ebp - 4], 3
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1004bf84
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1004bf79
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004bf50
xor edx, edx
test ecx, ecx
je 0x1004bf79
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004bf60
cmp esi, 0x4e9f1122
je 0x1004bf9a
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1004bf38
mov ebx, dword [ebp - 0x60]
xor eax, eax
mov dword [0x1036f690], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004c067
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], esi
cmp dword [eax + 4], esi
jle 0x1004c038
xor ecx, ecx
mov dword [ebp - 0x50], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1004bfe4
cmp dword [ecx + 4], 0
jle 0x1004bfe4
push 0
mov edx, 0x1c93bcf0
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1004bfe1
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004bff0
xor edx, edx
test ecx, ecx
je 0x1004c01c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004c000
cmp edi, 0x1c93bcf0
je 0x1004c04b
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
inc edx
mov esi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x50], ecx
cmp edx, dword [eax + 4]
jl 0x1004bfb3
mov ebx, dword [ebp - 0x60]
mov eax, esi
mov dword [0x1036f690], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004c067
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x60]
mov dword [0x1036f690], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004c067
mov eax, dword [0x1036f690]
mov eax, dword [eax + ebx]
mov dword [ebp - 0x58], eax
mov eax, dword [0x10370fac]
test al, 1
jne 0x1004c1c2
or eax, 1
mov dword [0x10370fac], eax
mov dword [ebp - 4], 4
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1004c0e4
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1004c0d9
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004c0b0
xor edx, edx
test ecx, ecx
je 0x1004c0d9
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004c0c0
cmp edi, 0x72e242a1
je 0x1004c0fa
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1004c097
mov ebx, dword [ebp - 0x60]
xor eax, eax
mov dword [0x10370f6c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004c1c7
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], esi
cmp dword [eax + 4], esi
jle 0x1004c198
xor ecx, ecx
mov dword [ebp - 0x50], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1004c144
cmp dword [ecx + 4], 0
jle 0x1004c144
push 0
mov edx, 0x84cdad2
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1004c141
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x1004c150
xor edx, edx
test ecx, ecx
je 0x1004c17c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004c160
cmp edi, 0x84cdad2
je 0x1004c1ab
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
inc edx
mov esi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x50], ecx
cmp edx, dword [eax + 4]
jl 0x1004c113
mov ebx, dword [ebp - 0x60]
mov eax, esi
mov dword [0x10370f6c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004c1c7
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x60]
mov dword [0x10370f6c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004c1c7
mov eax, dword [0x10370f6c]
cmp dword [ebp - 0x58], 2
je 0x1004ddff
cmp dword [eax + ebx], 0
jle 0x1004ddff
mov eax, dword [0x10372818]
test al, 1
jne 0x1004c31e
or eax, 1
mov dword [0x10372818], eax
mov dword [ebp - 4], 5
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1004c249
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1004c23e
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004c218
xor edx, edx
test ecx, ecx
je 0x1004c23e
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004c225
cmp esi, 0x72e242a1
je 0x1004c25f
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1004c205
mov ebx, dword [ebp - 0x60]
xor eax, eax
mov dword [0x10372814], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004c323
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], esi
cmp dword [eax + 4], esi
jle 0x1004c2f4
xor ecx, ecx
mov dword [ebp - 0x50], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1004c2a9
cmp dword [ecx + 4], 0
jle 0x1004c2a9
push 0
mov edx, 0x9c15080d
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1004c2a6
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004c2b2
xor edx, edx
test ecx, ecx
je 0x1004c2dc
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004c2c0
cmp edi, 0x9c15080d
je 0x1004c307
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
inc edx
mov esi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x50], ecx
cmp edx, dword [eax + 4]
jl 0x1004c278
mov ebx, dword [ebp - 0x60]
mov eax, esi
mov dword [0x10372814], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004c323
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x60]
mov dword [0x10372814], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004c323
mov eax, dword [0x10372814]
mov al, byte [eax + ebx]
test al, al
jne 0x1004ddff
mov eax, dword [ebx + 8]
lea ecx, [ebx + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x1004ddff
mov ecx, dword [0x10bbb620]
add ecx, 0x91761abb
xor ecx, 0xfd410b50
mov eax, dword [ecx + 0x134]
mov dword [ebp - 0x54], eax
cmp ebx, eax
jne 0x1004c6b2
mov eax, dword [ecx + 0xd8]
cmp byte [eax + 0xa9], 0
je 0x1004ddff
movss xmm0, dword [0x102ba7b4]
mov eax, dword [0x1036f6f0]
movss dword [ebp - 0x60], xmm0
test al, 1
jne 0x1004c4cc
or eax, 1
mov dword [0x1036f6f0], eax
mov dword [ebp - 4], 6
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1004c3f4
nop
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1004c3e9
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004c3c3
xor edx, edx
test ecx, ecx
je 0x1004c3e9
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004c3d0
cmp esi, 0x72e242a1
je 0x1004c407
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1004c3b0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10370f98], eax
jmp 0x1004c4d1
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], esi
cmp dword [eax + 4], esi
jle 0x1004c4a8
xor ecx, ecx
mov dword [ebp - 0x50], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1004c451
cmp dword [ecx + 4], 0
jle 0x1004c451
push 0
mov edx, 0xf3e9a9ed
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1004c44e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov edi, dword [ebx]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004c460
xor edx, edx
test ecx, ecx
je 0x1004c48c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004c470
cmp esi, 0xf3e9a9ed
je 0x1004c4b8
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
inc edx
mov esi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x50], ecx
cmp edx, dword [eax + 4]
jl 0x1004c420
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10370f98], eax
jmp 0x1004c4d1
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
mov dword [0x10370f98], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004c4d1
mov eax, dword [0x10370f98]
mov ecx, dword [ebp - 0x54]
cmp byte [ecx + eax], 0
jne 0x1004c661
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x58], eax
test eax, eax
je 0x1004c66e
mov eax, dword [0x1036f6d0]
test al, 1
jne 0x1004c64c
or eax, 1
mov dword [0x1036f6d0], eax
mov dword [ebp - 4], 7
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1004c574
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1004c569
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004c540
xor edx, edx
test ecx, ecx
je 0x1004c569
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004c550
cmp esi, 0xcd2ed041
je 0x1004c587
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1004c528
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10370fb4], eax
jmp 0x1004c651
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], esi
cmp dword [eax + 4], esi
jle 0x1004c628
xor ecx, ecx
mov dword [ebp - 0x50], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1004c5d1
cmp dword [ecx + 4], 0
jle 0x1004c5d1
push 0
mov edx, 0xa2ccb41a
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1004c5ce
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov edi, dword [ebx]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004c5e0
xor edx, edx
test ecx, ecx
je 0x1004c60c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004c5f0
cmp esi, 0xa2ccb41a
je 0x1004c638
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
inc edx
mov esi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x50], ecx
cmp edx, dword [eax + 4]
jl 0x1004c5a0
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10370fb4], eax
jmp 0x1004c651
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
mov dword [0x10370fb4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004c651
mov eax, dword [0x10370fb4]
mov ecx, dword [ebp - 0x58]
movzx eax, word [ecx + eax]
add eax, 0xffffffd5
cmp ax, 5
ja 0x1004c66e
movss xmm0, dword [0x102ba73c]
movss dword [ebp - 0x60], xmm0
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov ecx, dword [eax + 0xe4]
xor eax, eax
test ecx, ecx
push ecx
cmovne eax, ecx
movss dword [esp], xmm0
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
call eax
movss xmm3, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
push 0
push 0
push 0x103556c8
call fcn.1004b1f0
jmp 0x1004de01
test eax, eax
je 0x1004c8b8
mov ecx, dword [ecx + 0x184]
mov eax, dword [ecx + 0x1c]
cmp dword [eax + 0x30], ecx
jne 0x1004c8b8
mov ecx, dword [0x10370f7c]
test cl, 1
jne 0x1004c81a
or ecx, 1
mov dword [0x10370f7c], ecx
mov dword [ebp - 4], 8
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1004c744
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1004c739
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004c713
xor edx, edx
test ecx, ecx
je 0x1004c739
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004c720
cmp edi, 0x1eee87cc
je 0x1004c760
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1004c700
xor eax, eax
mov ebx, dword [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x10370f7c]
mov dword [0x10370f34], eax
jmp 0x1004c81f
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], esi
cmp dword [eax + 4], esi
jle 0x1004c808
xor ecx, ecx
mov dword [ebp - 0x50], ecx
nop dword [eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1004c7b1
cmp dword [ecx + 4], 0
jle 0x1004c7b1
push 0
mov edx, 0xa5bfefb3
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1004c7ae
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004c7c0
xor edx, edx
test ecx, ecx
je 0x1004c7ec
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004c7d0
cmp edi, 0xa5bfefb3
je 0x1004c80f
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
inc edx
mov esi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x50], ecx
cmp edx, dword [eax + 4]
jl 0x1004c780
mov eax, esi
jmp 0x1004c746
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
jmp 0x1004c746
mov eax, dword [0x10370f34]
mov edx, dword [eax + ebx]
mov dword [ebp - 0x58], edx
test cl, 1
jne 0x1004c8ac
or ecx, 1
mov dword [0x10370f7c], ecx
mov dword [ebp - 4], 9
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1004c898
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1004c88d
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004c863
xor edx, edx
test ecx, ecx
je 0x1004c88d
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004c870
cmp edi, 0x1eee87cc
je 0x1004c960
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1004c850
xor eax, eax
mov ebx, dword [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x58]
mov dword [0x10370f34], eax
mov ecx, dword [ebp - 0x54]
cmp edx, dword [ecx + eax]
je 0x1004ddff
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov ecx, dword [eax + 0x134]
mov dword [ebp - 0x50], ecx
cmp ecx, ebx
je 0x1004ddff
mov eax, dword [0x1036f68c]
test al, 1
jne 0x1004cae2
or eax, 1
mov dword [0x1036f68c], eax
mov dword [ebp - 4], 0xa
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1004c94a
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1004c93f
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004c915
xor edx, edx
test ecx, ecx
je 0x1004c93f
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004c922
cmp esi, 0x4e9f1122
je 0x1004ca1a
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1004c902
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x50]
mov dword [0x1036f690], eax
jmp 0x1004cae7
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], esi
cmp dword [eax + 4], esi
jle 0x1004ca08
xor ecx, ecx
mov dword [ebp - 0x50], ecx
nop dword [eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1004c9b1
cmp dword [ecx + 4], 0
jle 0x1004c9b1
push 0
mov edx, 0xa5bfefb3
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1004c9ae
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004c9c0
xor edx, edx
test ecx, ecx
je 0x1004c9ec
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004c9d0
cmp edi, 0xa5bfefb3
je 0x1004ca0f
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
inc edx
mov esi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x50], ecx
cmp edx, dword [eax + 4]
jl 0x1004c980
mov eax, esi
jmp 0x1004c89a
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
jmp 0x1004c89a
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x54], esi
cmp dword [eax + 4], esi
jle 0x1004cab8
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1004ca64
cmp dword [ecx + 4], 0
jle 0x1004ca64
push 0
mov edx, 0x1c93bcf0
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1004ca61
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004ca70
xor edx, edx
test ecx, ecx
je 0x1004ca9c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004ca80
cmp edi, 0x1c93bcf0
je 0x1004cacb
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
inc edx
mov esi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x4c], ecx
cmp edx, dword [eax + 4]
jl 0x1004ca33
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x50]
mov dword [0x1036f690], eax
jmp 0x1004cae7
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x50]
mov dword [0x1036f690], eax
jmp 0x1004cae7
mov eax, dword [0x1036f690]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x58], eax
mov eax, dword [0x10370fac]
test al, 1
jne 0x1004cc42
or eax, 1
mov dword [0x10370fac], eax
mov dword [ebp - 4], 0xb
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1004cb64
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1004cb59
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004cb30
xor edx, edx
test ecx, ecx
je 0x1004cb59
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004cb40
cmp esi, 0x72e242a1
je 0x1004cb7a
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1004cb17
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x50]
mov dword [0x10370f6c], eax
jmp 0x1004cc47
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x54], esi
cmp dword [eax + 4], esi
jle 0x1004cc18
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1004cbc4
cmp dword [ecx + 4], 0
jle 0x1004cbc4
push 0
mov edx, 0x84cdad2
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1004cbc1
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004cbd0
xor edx, edx
test ecx, ecx
je 0x1004cbfc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004cbe0
cmp edi, 0x84cdad2
je 0x1004cc2b
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
inc edx
mov esi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x4c], ecx
cmp edx, dword [eax + 4]
jl 0x1004cb93
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x50]
mov dword [0x10370f6c], eax
jmp 0x1004cc47
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x50]
mov dword [0x10370f6c], eax
jmp 0x1004cc47
mov eax, dword [0x10370f6c]
cmp dword [ebp - 0x58], 2
je 0x1004cfe5
cmp dword [ecx + eax], 0
jle 0x1004cfe5
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
cmp byte [eax + 5], 0
jne 0x1004cfe5
cmp byte [0x103554b8], 0
je 0x1004cfe5
mov ecx, dword [ebp - 0x60]
mov esi, dword [0x107ef998]
add ecx, 8
add esi, 0xfaacd160
xor esi, 0x7af747a1
mov eax, dword [ecx]
call dword [eax + 0x28]
imul edi, eax, 0x394
add edi, esi
je 0x1004cfe5
mov edx, dword [edi + 0x390]
test edx, edx
je 0x1004cfe5
cmp byte [0x10355cac], 0
je 0x1004cd61
mov esi, 1
cmp edx, esi
jb 0x1004cfe5
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [edi + 0x38c]
mov eax, dword [edi + 0x388]
dec ecx
dec eax
add ecx, esi
and ecx, eax
mov eax, dword [edi + 0x384]
mov ebx, dword [eax + ecx*4]
test ebx, ebx
je 0x1004cd51
cmp byte [ebx + 8], 0
je 0x1004cd51
movd xmm0, edx
xorps xmm1, xmm1
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
push 1
movd xmm2, esi
addsd xmm0, qword [edx*8 + 0x102baf40]
cvtdq2ps xmm2, xmm2
cvtpd2ps xmm0, xmm0
divss xmm2, xmm0
movss xmm0, dword [0x102ba7b4]
call fcn.1003c8d0
mov ecx, dword [ebp - 0x64]
lea eax, [ebx + 0xa380]
push eax
push 0x103554b8
movaps xmm3, xmm0
call fcn.1004b1f0
mov edx, dword [edi + 0x390]
inc esi
cmp esi, edx
jbe 0x1004cce0
jmp 0x1004cfe5
mov ecx, dword [edi + 0x38c]
mov eax, dword [edi + 0x380]
mov byte [ebp - 0x58], 0
push dword [ebp - 0x58]
sub esp, 0xc
mov edx, esp
sub esp, 0xc
mov dword [edx + 8], ecx
mov dword [edx + 4], 0
mov dword [edx], eax
mov edx, esp
mov ecx, dword [edi + 0x390]
add ecx, dword [edi + 0x38c]
mov eax, dword [edi + 0x380]
mov dword [edx + 8], ecx
lea ecx, [ebp - 0x1c]
mov dword [edx + 4], 0
mov dword [edx], eax
call fcn.10050290
mov eax, dword [ebp - 0x14]
add esp, 0x1c
cmp eax, dword [edi + 0x38c]
je 0x1004cfe5
lea edx, [eax - 1]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x1004cdd0
mov eax, dword [eax]
jmp 0x1004cdd2
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, edx
mov ebx, dword [eax + ecx*4]
mov dword [ebp - 0x58], ebx
test ebx, ebx
je 0x1004cfe5
mov eax, dword [0x10370f48]
mov dword [ebp - 0x5c], 0x3f800000
mov dword [ebp - 0x50], 0
test al, 1
jne 0x1004cf28
or eax, 1
mov dword [0x10370f48], eax
mov dword [ebp - 4], 0xc
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1004ce65
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1004ce5a
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1004ce34
xor edx, edx
test ecx, ecx
je 0x1004ce5a
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004ce41
cmp esi, 0x1eee87cc
je 0x1004ce7c
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1004ce21
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov ebx, dword [ebp - 0x58]
mov dword [0x10370f8c], esi
jmp 0x1004cf2e
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x54], esi
cmp dword [eax + 4], esi
jle 0x1004ce67
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1004cec2
cmp dword [ecx + 4], 0
jle 0x1004cec2
push 0
mov edx, 0x559d81af
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1004cebf
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004ced0
xor edx, edx
test ecx, ecx
je 0x1004cefc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004cee0
cmp edi, 0x559d81af
je 0x1004cf1d
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
inc edx
mov esi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x4c], ecx
cmp edx, dword [eax + 4]
jge 0x1004ce67
jmp 0x1004ce91
mov esi, dword [ebx + 0x2c]
add esi, dword [ebp - 0x48]
jmp 0x1004ce67
mov esi, dword [0x10370f8c]
mov edi, dword [ebp - 0x60]
movss xmm1, dword [0x102ba808]
movss xmm0, dword [esi + edi + 4]
subss xmm0, dword [ebx + 0x88]
call fcn.1000da60
movss xmm1, dword [0x102ba808]
movss dword [ebp - 0x44], xmm0
movss xmm0, dword [esi + edi]
subss xmm0, dword [ebx + 0x84]
call fcn.1000da60
movss xmm1, dword [ebp - 0x44]
addss xmm1, xmm0
movss xmm0, dword [esi + edi + 8]
subss xmm0, dword [ebx + 0x8c]
movss dword [ebp - 0x44], xmm1
movss xmm1, dword [0x102ba808]
call fcn.1000da60
addss xmm0, dword [ebp - 0x44]
call fcn.1000da70
mulss xmm0, dword [0x102ba688]
lea ecx, [ebp - 0x58]
lea eax, [ebp - 0x50]
xorps xmm1, xmm1
push 1
comiss xmm0, xmm1
movss xmm1, dword [0x102ba7b4]
movss dword [ebp - 0x58], xmm0
cmovae eax, ecx
lea ecx, [ebp - 0x5c]
comiss xmm1, xmm0
cmovae ecx, eax
lea eax, [ebx + 0xa380]
push eax
push 0x103554b8
movss xmm3, dword [ecx]
mov ecx, dword [ebp - 0x64]
call fcn.1004b1f0
movss xmm3, dword [0x102ba7b4]
mov ecx, dword [ebp - 0x64]
push 1
push 0
push 0x10355408
call fcn.1004b1f0
movss xmm3, dword [0x102ba7b4]
mov bl, al
mov ecx, dword [ebp - 0x64]
push 0
push 0
push 0x10355358
call fcn.1004b1f0
test al, al
jne 0x1004d025
test bl, bl
je 0x1004ddff
mov al, 1
jmp 0x1004de01
cmp eax, 0x8c
jne 0x1004d321
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov ecx, dword [eax + 0x134]
mov eax, dword [0x1036f68c]
mov dword [ebp - 0x50], ecx
test al, 1
jne 0x1004d1a2
or eax, 1
mov dword [0x1036f68c], eax
mov dword [ebp - 4], 0xd
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1004d0c4
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1004d0b9
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004d093
xor edx, edx
test ecx, ecx
je 0x1004d0b9
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004d0a0
cmp esi, 0x4e9f1122
je 0x1004d0da
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1004d080
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x50]
mov dword [0x1036f690], eax
jmp 0x1004d1a7
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x54], esi
cmp dword [eax + 4], esi
jle 0x1004d178
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1004d124
cmp dword [ecx + 4], 0
jle 0x1004d124
push 0
mov edx, 0x1c93bcf0
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1004d121
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004d130
xor edx, edx
test ecx, ecx
je 0x1004d15c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004d140
cmp edi, 0x1c93bcf0
je 0x1004d18b
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
inc edx
mov esi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x4c], ecx
cmp edx, dword [eax + 4]
jl 0x1004d0f3
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x50]
mov dword [0x1036f690], eax
jmp 0x1004d1a7
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x50]
mov dword [0x1036f690], eax
jmp 0x1004d1a7
mov eax, dword [0x1036f690]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x5c], eax
mov eax, dword [0x10370fac]
test al, 1
jne 0x1004d302
or eax, 1
mov dword [0x10370fac], eax
mov dword [ebp - 4], 0xe
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1004d224
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1004d219
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004d1f0
xor edx, edx
test ecx, ecx
je 0x1004d219
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004d200
cmp esi, 0x72e242a1
je 0x1004d23a
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1004d1d7
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x50]
mov dword [0x10370f6c], eax
jmp 0x1004d307
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x54], esi
cmp dword [eax + 4], esi
jle 0x1004d2d8
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1004d284
cmp dword [ecx + 4], 0
jle 0x1004d284
push 0
mov edx, 0x84cdad2
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1004d281
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004d290
xor edx, edx
test ecx, ecx
je 0x1004d2bc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004d2a0
cmp edi, 0x84cdad2
je 0x1004d2eb
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
inc edx
mov esi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x4c], ecx
cmp edx, dword [eax + 4]
jl 0x1004d253
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x50]
mov dword [0x10370f6c], eax
jmp 0x1004d307
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x50]
mov dword [0x10370f6c], eax
jmp 0x1004d307
mov eax, dword [0x10370f6c]
cmp dword [ebp - 0x5c], 2
je 0x1004d321
cmp dword [ecx + eax], 0
jle 0x1004d321
push 0
push 0
push 0x10355828
jmp 0x1004be2d
lea eax, [ebp - 0x40]
mov ecx, 0x1035b5d8
push eax
call fcn.100429d0
mov dword [ebp - 4], 0xf
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
mov dword [ebp - 0x5c], 7
cmovae eax, dword [ebp - 0x40]
push eax
push dword [ebp - 0x58]
call fcn.101f2290
add esp, 8
test eax, eax
je 0x1004d619
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov ecx, dword [eax + 0x134]
mov eax, dword [0x1036f68c]
mov dword [ebp - 0x50], ecx
test al, 1
jne 0x1004d4b4
or eax, 1
mov dword [0x1036f68c], eax
mov dword [ebp - 4], 0x10
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1004d3e4
nop
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1004d3d9
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004d3b3
xor edx, edx
test ecx, ecx
je 0x1004d3d9
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004d3c0
cmp esi, 0x4e9f1122
je 0x1004d3f3
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1004d3a0
mov ecx, dword [ebp - 0x50]
xor eax, eax
mov dword [0x1036f690], eax
jmp 0x1004d4b9
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x54], esi
cmp dword [eax + 4], esi
jle 0x1004d498
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
nop dword [eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1004d441
cmp dword [ecx + 4], 0
jle 0x1004d441
push 0
mov edx, 0x1c93bcf0
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1004d43e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004d450
xor edx, edx
test ecx, ecx
je 0x1004d47c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004d460
cmp edi, 0x1c93bcf0
je 0x1004d4a4
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
inc edx
mov esi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x4c], ecx
cmp edx, dword [eax + 4]
jl 0x1004d410
mov ecx, dword [ebp - 0x50]
mov eax, esi
mov dword [0x1036f690], eax
jmp 0x1004d4b9
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x50]
mov dword [0x1036f690], eax
jmp 0x1004d4b9
mov eax, dword [0x1036f690]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x58], eax
mov eax, dword [0x10370fac]
test al, 1
jne 0x1004d604
or eax, 1
mov dword [0x10370fac], eax
mov dword [ebp - 4], 0x11
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1004d534
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1004d529
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004d503
xor edx, edx
test ecx, ecx
je 0x1004d529
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004d510
cmp esi, 0x72e242a1
je 0x1004d543
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1004d4f0
mov ecx, dword [ebp - 0x50]
xor eax, eax
mov dword [0x10370f6c], eax
jmp 0x1004d609
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x54], esi
cmp dword [eax + 4], esi
jle 0x1004d5e8
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
nop dword [eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1004d591
cmp dword [ecx + 4], 0
jle 0x1004d591
push 0
mov edx, 0x84cdad2
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1004d58e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004d5a0
xor edx, edx
test ecx, ecx
je 0x1004d5cc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004d5b0
cmp edi, 0x84cdad2
je 0x1004d5f4
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
inc edx
mov esi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x4c], ecx
cmp edx, dword [eax + 4]
jl 0x1004d560
mov ecx, dword [ebp - 0x50]
mov eax, esi
mov dword [0x10370f6c], eax
jmp 0x1004d609
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x50]
mov dword [0x10370f6c], eax
jmp 0x1004d609
mov eax, dword [0x10370f6c]
cmp dword [ebp - 0x58], 2
je 0x1004d619
cmp dword [ecx + eax], 0
jle 0x1004d619
mov bl, 1
jmp 0x1004d61b
xor bl, bl
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0xffffffff
call fcn.1002b860
test bl, bl
je 0x1004d63c
push 0
push 0
push 0x10355778
jmp 0x1004be2d
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov ecx, dword [eax + 0x134]
mov eax, dword [0x1036f68c]
mov dword [ebp - 0x50], ecx
test al, 1
jne 0x1004d7a2
or eax, 1
mov dword [0x1036f68c], eax
mov dword [ebp - 4], 0x12
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1004d6c4
nop
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1004d6b9
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004d693
xor edx, edx
test ecx, ecx
je 0x1004d6b9
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004d6a0
cmp esi, 0x4e9f1122
je 0x1004d6da
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1004d680
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x50]
mov dword [0x1036f690], eax
jmp 0x1004d7a7
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x54], esi
cmp dword [eax + 4], esi
jle 0x1004d778
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1004d724
cmp dword [ecx + 4], 0
jle 0x1004d724
push 0
mov edx, 0x1c93bcf0
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1004d721
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004d730
xor edx, edx
test ecx, ecx
je 0x1004d75c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004d740
cmp edi, 0x1c93bcf0
je 0x1004d78b
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
inc edx
mov esi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x4c], ecx
cmp edx, dword [eax + 4]
jl 0x1004d6f3
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x50]
mov dword [0x1036f690], eax
jmp 0x1004d7a7
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x50]
mov dword [0x1036f690], eax
jmp 0x1004d7a7
mov eax, dword [0x1036f690]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x5c], eax
mov eax, dword [0x10370fac]
test al, 1
jne 0x1004d902
or eax, 1
mov dword [0x10370fac], eax
mov dword [ebp - 4], 0x13
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1004d824
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1004d819
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004d7f0
xor edx, edx
test ecx, ecx
je 0x1004d819
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004d800
cmp esi, 0x72e242a1
je 0x1004d83a
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1004d7d7
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x50]
mov dword [0x10370f6c], eax
jmp 0x1004d907
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x54], esi
cmp dword [eax + 4], esi
jle 0x1004d8d8
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1004d884
cmp dword [ecx + 4], 0
jle 0x1004d884
push 0
mov edx, 0x84cdad2
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1004d881
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004d890
xor edx, edx
test ecx, ecx
je 0x1004d8bc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004d8a0
cmp edi, 0x84cdad2
je 0x1004d8eb
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
inc edx
mov esi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x4c], ecx
cmp edx, dword [eax + 4]
jl 0x1004d853
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x50]
mov dword [0x10370f6c], eax
jmp 0x1004d907
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x50]
mov dword [0x10370f6c], eax
jmp 0x1004d907
mov eax, dword [0x10370f6c]
cmp dword [ebp - 0x5c], 2
je 0x1004ddff
cmp dword [ecx + eax], 0
jle 0x1004ddff
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0xb0]
mov dword [ebp - 0x5c], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x58], eax
mov eax, dword [0x1037405c]
test al, 1
jne 0x1004da7c
or eax, 1
mov dword [0x1037405c], eax
mov dword [ebp - 4], 0x14
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1004d9a9
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1004d99e
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004d978
xor edx, edx
test ecx, ecx
je 0x1004d99e
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004d985
cmp esi, 0x1eee87cc
je 0x1004d9bc
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1004d965
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10374048], eax
jmp 0x1004da81
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x54], esi
cmp dword [eax + 4], esi
jle 0x1004da58
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1004da06
cmp dword [ecx + 4], 0
jle 0x1004da06
push 0
mov edx, 0x6bf5c5fc
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1004da03
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004da10
xor edx, edx
test ecx, ecx
je 0x1004da3c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004da20
cmp edi, 0x6bf5c5fc
je 0x1004da68
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
inc edx
mov esi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x4c], ecx
cmp edx, dword [eax + 4]
jl 0x1004d9d5
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10374048], eax
jmp 0x1004da81
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
mov dword [0x10374048], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004da81
mov eax, dword [0x10374048]
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
push dword [eax + edx]
call dword [ebp - 0x58]
mov ecx, dword [0x10bbb620]
add ecx, 0x91761abb
xor ecx, 0xfd410b50
mov edx, dword [ecx + 0x134]
mov dword [ebp - 0x5c], edx
cmp eax, edx
jne 0x1004ddff
mov eax, dword [ecx + 0xd8]
cmp byte [eax + 0xa9], 0
je 0x1004ddff
movd xmm0, dword [0x10355ce8]
mov eax, dword [0x1036f6f0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102ba670]
movss dword [ebp - 0x50], xmm0
test al, 1
jne 0x1004dc1e
or eax, 1
mov dword [0x1036f6f0], eax
mov dword [ebp - 4], 0x15
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1004db49
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1004db3e
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004db18
xor edx, edx
test ecx, ecx
je 0x1004db3e
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004db25
cmp esi, 0x72e242a1
je 0x1004db5f
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1004db05
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x5c]
mov dword [0x10370f98], eax
jmp 0x1004dc23
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x54], esi
cmp dword [eax + 4], esi
jle 0x1004dbf4
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1004dba9
cmp dword [ecx + 4], 0
jle 0x1004dba9
push 0
mov edx, 0xf3e9a9ed
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1004dba6
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov edi, dword [ebx]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004dbb2
xor edx, edx
test ecx, ecx
je 0x1004dbdc
nop
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004dbc0
cmp esi, 0xf3e9a9ed
je 0x1004dc07
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
inc edx
mov esi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x4c], ecx
cmp edx, dword [eax + 4]
jl 0x1004db78
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x5c]
mov dword [0x10370f98], eax
jmp 0x1004dc23
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x5c]
mov dword [0x10370f98], eax
jmp 0x1004dc23
mov eax, dword [0x10370f98]
cmp byte [edx + eax], 0
jne 0x1004ddb1
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x5c], eax
test eax, eax
je 0x1004ddbe
mov eax, dword [0x1036f6d0]
test al, 1
jne 0x1004dd9c
or eax, 1
mov dword [0x1036f6d0], eax
mov dword [ebp - 4], 0x16
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1004dcc4
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1004dcb9
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004dc90
xor edx, edx
test ecx, ecx
je 0x1004dcb9
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004dca0
cmp esi, 0xcd2ed041
je 0x1004dcd7
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1004dc77
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10370fb4], eax
jmp 0x1004dda1
mov eax, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x54], esi
cmp dword [eax + 4], esi
jle 0x1004dd78
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1004dd21
cmp dword [ecx + 4], 0
jle 0x1004dd21
push 0
mov edx, 0xa2ccb41a
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1004dd1e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x44]
mov edi, dword [ebx]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004dd30
xor edx, edx
test ecx, ecx
je 0x1004dd5c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004dd40
cmp esi, 0xa2ccb41a
je 0x1004dd88
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
inc edx
mov esi, dword [ebp - 0x48]
add ecx, 0x3c
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x4c], ecx
cmp edx, dword [eax + 4]
jl 0x1004dcf0
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10370fb4], eax
jmp 0x1004dda1
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x48]
mov dword [0x10370fb4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004dda1
mov eax, dword [0x10370fb4]
mov ecx, dword [ebp - 0x5c]
movzx eax, word [ecx + eax]
add eax, 0xffffffd5
cmp ax, 5
ja 0x1004ddbe
mulss xmm0, dword [0x102ba73c]
movss dword [ebp - 0x50], xmm0
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov ecx, dword [eax + 0xe4]
xor eax, eax
test ecx, ecx
push ecx
cmovne eax, ecx
movss dword [esp], xmm0
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
call eax
movss xmm3, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x64]
push 0
push 0
push 0x103558d8
call fcn.1004b1f0
jmp 0x1004de01
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101f065f
mov esp, ebp
pop ebp
ret