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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101e578c
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x10285040]
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 - 0x4c], esi
mov dword [ebp - 0x44], 0
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
cmp byte [eax + 7], 0
je 0x10047b8f
cmp dword [eax + 0x14c], 0
je 0x10047b8f
mov ecx, dword [esi + 0x54]
test ecx, ecx
je 0x10047b8f
mov eax, dword [ecx]
call dword [eax]
test eax, eax
je 0x10047b8f
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x18]
mov ebx, eax
mov dword [ebp - 0x48], ebx
test ebx, ebx
je 0x10047b8f
mov esi, dword [esi + 0x88]
mov dword [ebp - 0x40], esi
test esi, esi
je 0x10047b8f
mov edx, dword [ebx + 8]
lea ecx, [ebx + 8]
call dword [edx + 8]
mov edi, eax
test edi, edi
je 0x10047b8f
lea eax, [ebp - 0x28]
mov ecx, 0x1030b070
push eax
call fcn.1003ff60
mov dword [ebp - 4], 0
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
cmova eax, dword [ebp - 0x28]
push eax
lea eax, [esi + 4]
push eax
call dword [sym.imp.VCRUNTIME140.dll_strstr]
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.10029c40
mov eax, dword [edi + 0x14]
test esi, esi
je 0x10046dbc
cmp eax, 0x2a
jne 0x10045c8a
mov ecx, dword [0x10b33e60]
add ecx, 0x7a4232c8
xor ecx, 0xfcb4fca8
mov edx, dword [ecx + 0x14c]
mov dword [ebp - 0x40], edx
test edx, edx
je 0x10045bb4
mov ecx, dword [ecx + 0x19c]
mov eax, dword [ecx + 0x1c]
cmp dword [eax + 0x30], ecx
jne 0x10045bb4
cmp ebx, edx
je 0x10045bb4
mov ecx, dword [0x103201fc]
test cl, 1
jne 0x10045b1a
or ecx, 1
mov dword [0x103201fc], ecx
mov dword [ebp - 4], 1
mov ebx, dword [0x1031cd80]
cmp ebx, dword [0x1031cd84]
je 0x10045a44
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x30], eax
test eax, eax
je 0x10045a39
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10045a13
xor edx, edx
test ecx, ecx
je 0x10045a39
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10045a20
cmp esi, 0x1eee87cc
je 0x10045a60
add ebx, 4
cmp ebx, dword [0x1031cd84]
jne 0x10045a00
xor eax, eax
mov ebx, dword [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x103201fc]
mov dword [0x103201b4], eax
jmp 0x10045b1f
mov eax, dword [ebp - 0x30]
xor esi, esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x38], esi
cmp dword [eax + 4], esi
jle 0x10045b08
xor ecx, ecx
mov dword [ebp - 0x34], ecx
nop dword [eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10045ab1
cmp dword [ecx + 4], 0
jle 0x10045ab1
push 0
mov edx, 0xa5bfefb3
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10045aae
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x2c], esi
mov eax, dword [ebp - 0x30]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10045ac0
xor edx, edx
test ecx, ecx
je 0x10045aec
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10045ad0
cmp edi, 0xa5bfefb3
je 0x10045b0f
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x2c]
add ecx, 0x3c
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x10045a80
mov eax, esi
jmp 0x10045a46
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x2c]
jmp 0x10045a46
mov eax, dword [0x103201b4]
mov edx, dword [eax + ebx]
mov dword [ebp - 0x3c], edx
test cl, 1
jne 0x10045ba8
or ecx, 1
mov dword [0x103201fc], ecx
mov dword [ebp - 4], 2
mov ebx, dword [0x1031cd80]
cmp ebx, dword [0x1031cd84]
je 0x10045b94
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10045b89
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10045b60
xor edx, edx
test ecx, ecx
je 0x10045b89
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10045b70
cmp esi, 0x1eee87cc
je 0x10045bd2
add ebx, 4
cmp ebx, dword [0x1031cd84]
jne 0x10045b48
xor eax, eax
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x48]
mov dword [0x103201b4], eax
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x40]
cmp edx, dword [esi + eax]
je 0x10045c8a
push 1
push 0
push 0x10305954
movss xmm3, dword [0x10271024]
mov ecx, dword [ebp - 0x4c]
call fcn.10044fa0
jmp 0x10047b91
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x10045c78
xor ecx, ecx
mov dword [ebp - 0x38], ecx
nop dword [eax + eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10045c21
cmp dword [ecx + 4], 0
jle 0x10045c21
push 0
mov edx, 0xa5bfefb3
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10045c1e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10045c30
xor edx, edx
test ecx, ecx
je 0x10045c5c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10045c40
cmp edi, 0xa5bfefb3
je 0x10045c7f
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jl 0x10045bf0
mov eax, esi
jmp 0x10045b96
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
jmp 0x10045b96
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x278]
call eax
test al, al
je 0x10047b8f
mov eax, dword [0x1031e914]
test al, 1
jne 0x10045df2
or eax, 1
mov dword [0x1031e914], eax
mov dword [ebp - 4], 3
mov ebx, dword [0x1031cd80]
cmp ebx, dword [0x1031cd84]
je 0x10045d14
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10045d09
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x10045ce0
xor edx, edx
test ecx, ecx
je 0x10045d09
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10045cf0
cmp esi, 0x4e9f1122
je 0x10045d2a
add ebx, 4
cmp ebx, dword [0x1031cd84]
jne 0x10045cc8
mov ebx, dword [ebp - 0x48]
xor eax, eax
mov dword [0x1031e918], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10045df7
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x10045dc8
xor ecx, ecx
mov dword [ebp - 0x38], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10045d74
cmp dword [ecx + 4], 0
jle 0x10045d74
push 0
mov edx, 0x1c93bcf0
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10045d71
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebx]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x10045d80
xor edx, edx
test ecx, ecx
je 0x10045dac
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10045d90
cmp esi, 0x1c93bcf0
je 0x10045ddb
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jl 0x10045d43
mov ebx, dword [ebp - 0x48]
mov eax, esi
mov dword [0x1031e918], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10045df7
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x48]
mov dword [0x1031e918], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10045df7
mov eax, dword [0x1031e918]
mov eax, dword [eax + ebx]
mov dword [ebp - 0x40], eax
mov eax, dword [0x1032022c]
test al, 1
jne 0x10045f52
or eax, 1
mov dword [0x1032022c], eax
mov dword [ebp - 4], 4
mov ebx, dword [0x1031cd80]
cmp ebx, dword [0x1031cd84]
je 0x10045e74
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10045e69
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x10045e40
xor edx, edx
test ecx, ecx
je 0x10045e69
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10045e50
cmp esi, 0x72e242a1
je 0x10045e8a
add ebx, 4
cmp ebx, dword [0x1031cd84]
jne 0x10045e27
mov ebx, dword [ebp - 0x48]
xor eax, eax
mov dword [0x103201ec], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10045f57
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x10045f28
xor ecx, ecx
mov dword [ebp - 0x38], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10045ed4
cmp dword [ecx + 4], 0
jle 0x10045ed4
push 0
mov edx, 0x84cdad2
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10045ed1
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10045ee0
xor edx, edx
test ecx, ecx
je 0x10045f0c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10045ef0
cmp edi, 0x84cdad2
je 0x10045f3b
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jl 0x10045ea3
mov ebx, dword [ebp - 0x48]
mov eax, esi
mov dword [0x103201ec], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10045f57
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x48]
mov dword [0x103201ec], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10045f57
mov eax, dword [0x103201ec]
cmp dword [ebp - 0x40], 2
je 0x10047b8f
cmp dword [eax + ebx], 0
jle 0x10047b8f
mov eax, dword [0x10321a98]
test al, 1
jne 0x100460ae
or eax, 1
mov dword [0x10321a98], eax
mov dword [ebp - 4], 5
mov ebx, dword [0x1031cd80]
cmp ebx, dword [0x1031cd84]
je 0x10045fd9
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10045fce
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10045fa8
xor edx, edx
test ecx, ecx
je 0x10045fce
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10045fb5
cmp esi, 0x72e242a1
je 0x10045fef
add ebx, 4
cmp ebx, dword [0x1031cd84]
jne 0x10045f95
mov ebx, dword [ebp - 0x48]
xor eax, eax
mov dword [0x10321a94], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100460b3
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x10046084
xor ecx, ecx
mov dword [ebp - 0x38], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10046039
cmp dword [ecx + 4], 0
jle 0x10046039
push 0
mov edx, 0x9c15080d
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10046036
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10046042
xor edx, edx
test ecx, ecx
je 0x1004606c
nop
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10046050
cmp edi, 0x9c15080d
je 0x10046097
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jl 0x10046008
mov ebx, dword [ebp - 0x48]
mov eax, esi
mov dword [0x10321a94], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100460b3
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x48]
mov dword [0x10321a94], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100460b3
mov eax, dword [0x10321a94]
cmp byte [eax + ebx], 0
jne 0x10047b8f
mov eax, dword [ebx + 8]
lea ecx, [ebx + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x10047b8f
mov ecx, dword [0x10b33e60]
add ecx, 0x7a4232c8
xor ecx, 0xfcb4fca8
mov eax, dword [ecx + 0x14c]
mov dword [ebp - 0x3c], eax
cmp ebx, eax
jne 0x10046442
mov eax, dword [ecx + 0xf0]
cmp byte [eax + 0xa9], 0
je 0x10047b8f
movss xmm0, dword [0x10271024]
mov eax, dword [0x1031e978]
movss dword [ebp - 0x48], xmm0
test al, 1
jne 0x1004625c
or eax, 1
mov dword [0x1031e978], eax
mov dword [ebp - 4], 6
mov ebx, dword [0x1031cd80]
cmp ebx, dword [0x1031cd84]
je 0x10046184
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10046179
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10046153
xor edx, edx
test ecx, ecx
je 0x10046179
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10046160
cmp esi, 0x72e242a1
je 0x10046197
add ebx, 4
cmp ebx, dword [0x1031cd84]
jne 0x10046140
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10320218], eax
jmp 0x10046261
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x10046238
xor ecx, ecx
mov dword [ebp - 0x38], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100461e1
cmp dword [ecx + 4], 0
jle 0x100461e1
push 0
mov edx, 0xf3e9a9ed
call fcn.1012b660
add esp, 4
test eax, eax
je 0x100461de
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebx]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100461f0
xor edx, edx
test ecx, ecx
je 0x1004621c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10046200
cmp esi, 0xf3e9a9ed
je 0x10046248
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jl 0x100461b0
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10320218], eax
jmp 0x10046261
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [0x10320218], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10046261
mov eax, dword [0x10320218]
mov ecx, dword [ebp - 0x3c]
cmp byte [ecx + eax], 0
jne 0x100463f1
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov eax, dword [eax + 0x150]
mov dword [ebp - 0x40], eax
test eax, eax
je 0x100463fe
mov eax, dword [0x1031e958]
test al, 1
jne 0x100463dc
or eax, 1
mov dword [0x1031e958], eax
mov dword [ebp - 4], 7
mov ebx, dword [0x1031cd80]
cmp ebx, dword [0x1031cd84]
je 0x10046304
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x100462f9
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100462d0
xor edx, edx
test ecx, ecx
je 0x100462f9
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100462e0
cmp esi, 0xcd2ed041
je 0x10046317
add ebx, 4
cmp ebx, dword [0x1031cd84]
jne 0x100462b8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10320234], eax
jmp 0x100463e1
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x100463b8
xor ecx, ecx
mov dword [ebp - 0x38], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10046361
cmp dword [ecx + 4], 0
jle 0x10046361
push 0
mov edx, 0xa2ccb41a
call fcn.1012b660
add esp, 4
test eax, eax
je 0x1004635e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebx]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10046370
xor edx, edx
test ecx, ecx
je 0x1004639c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10046380
cmp esi, 0xa2ccb41a
je 0x100463c8
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jl 0x10046330
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10320234], eax
jmp 0x100463e1
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [0x10320234], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100463e1
mov eax, dword [0x10320234]
mov ecx, dword [ebp - 0x40]
movzx eax, word [ecx + eax]
add eax, 0xffffffd5
cmp ax, 5
ja 0x100463fe
movss xmm0, dword [0x10270fb4]
movss dword [ebp - 0x48], xmm0
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov ecx, dword [eax + 0xfc]
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 - 0x48]
mov ecx, dword [ebp - 0x4c]
push 0
push 0
push 0x10305a04
call fcn.10044fa0
jmp 0x10047b91
test eax, eax
je 0x10046648
mov ecx, dword [ecx + 0x19c]
mov eax, dword [ecx + 0x1c]
cmp dword [eax + 0x30], ecx
jne 0x10046648
mov ecx, dword [0x103201fc]
test cl, 1
jne 0x100465aa
or ecx, 1
mov dword [0x103201fc], ecx
mov dword [ebp - 4], 8
mov ebx, dword [0x1031cd80]
cmp ebx, dword [0x1031cd84]
je 0x100464d4
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x100464c9
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x100464a3
xor edx, edx
test ecx, ecx
je 0x100464c9
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100464b0
cmp esi, 0x1eee87cc
je 0x100464f0
add ebx, 4
cmp ebx, dword [0x1031cd84]
jne 0x10046490
xor eax, eax
mov ebx, dword [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x103201fc]
mov dword [0x103201b4], eax
jmp 0x100465af
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x10046598
xor ecx, ecx
mov dword [ebp - 0x38], ecx
nop dword [eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10046541
cmp dword [ecx + 4], 0
jle 0x10046541
push 0
mov edx, 0xa5bfefb3
call fcn.1012b660
add esp, 4
test eax, eax
je 0x1004653e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10046550
xor edx, edx
test ecx, ecx
je 0x1004657c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10046560
cmp edi, 0xa5bfefb3
je 0x1004659f
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jl 0x10046510
mov eax, esi
jmp 0x100464d6
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
jmp 0x100464d6
mov eax, dword [0x103201b4]
mov edx, dword [eax + ebx]
mov dword [ebp - 0x40], edx
test cl, 1
jne 0x1004663c
or ecx, 1
mov dword [0x103201fc], ecx
mov dword [ebp - 4], 9
mov ebx, dword [0x1031cd80]
cmp ebx, dword [0x1031cd84]
je 0x10046628
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x1004661d
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x100465f3
xor edx, edx
test ecx, ecx
je 0x1004661d
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10046600
cmp esi, 0x1eee87cc
je 0x100466f0
add ebx, 4
cmp ebx, dword [0x1031cd84]
jne 0x100465e0
xor eax, eax
mov ebx, dword [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x40]
mov dword [0x103201b4], eax
mov ecx, dword [ebp - 0x3c]
cmp edx, dword [ecx + eax]
je 0x10047b8f
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov ecx, dword [eax + 0x14c]
mov dword [ebp - 0x38], ecx
cmp ecx, ebx
je 0x10047b8f
mov eax, dword [0x1031e914]
test al, 1
jne 0x10046872
or eax, 1
mov dword [0x1031e914], eax
mov dword [ebp - 4], 0xa
mov ebx, dword [0x1031cd80]
cmp ebx, dword [0x1031cd84]
je 0x100466da
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x100466cf
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x100466a5
xor edx, edx
test ecx, ecx
je 0x100466cf
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100466b2
cmp esi, 0x4e9f1122
je 0x100467aa
add ebx, 4
cmp ebx, dword [0x1031cd84]
jne 0x10046692
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x1031e918], eax
jmp 0x10046877
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x10046798
xor ecx, ecx
mov dword [ebp - 0x38], ecx
nop dword [eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10046741
cmp dword [ecx + 4], 0
jle 0x10046741
push 0
mov edx, 0xa5bfefb3
call fcn.1012b660
add esp, 4
test eax, eax
je 0x1004673e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10046750
xor edx, edx
test ecx, ecx
je 0x1004677c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10046760
cmp edi, 0xa5bfefb3
je 0x1004679f
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jl 0x10046710
mov eax, esi
jmp 0x1004662a
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
jmp 0x1004662a
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x10046848
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100467f4
cmp dword [ecx + 4], 0
jle 0x100467f4
push 0
mov edx, 0x1c93bcf0
call fcn.1012b660
add esp, 4
test eax, eax
je 0x100467f1
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10046800
xor edx, edx
test ecx, ecx
je 0x1004682c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10046810
cmp edi, 0x1c93bcf0
je 0x1004685b
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x100467c3
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x1031e918], eax
jmp 0x10046877
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x1031e918], eax
jmp 0x10046877
mov eax, dword [0x1031e918]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x40], eax
mov eax, dword [0x1032022c]
test al, 1
jne 0x100469d2
or eax, 1
mov dword [0x1032022c], eax
mov dword [ebp - 4], 0xb
mov ebx, dword [0x1031cd80]
cmp ebx, dword [0x1031cd84]
je 0x100468f4
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x100468e9
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100468c0
xor edx, edx
test ecx, ecx
je 0x100468e9
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100468d0
cmp esi, 0x72e242a1
je 0x1004690a
add ebx, 4
cmp ebx, dword [0x1031cd84]
jne 0x100468a7
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x103201ec], eax
jmp 0x100469d7
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x100469a8
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10046954
cmp dword [ecx + 4], 0
jle 0x10046954
push 0
mov edx, 0x84cdad2
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10046951
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10046960
xor edx, edx
test ecx, ecx
je 0x1004698c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10046970
cmp edi, 0x84cdad2
je 0x100469bb
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x10046923
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x103201ec], eax
jmp 0x100469d7
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x103201ec], eax
jmp 0x100469d7
mov eax, dword [0x103201ec]
cmp dword [ebp - 0x40], 2
je 0x10046d75
cmp dword [ecx + eax], 0
jle 0x10046d75
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
cmp byte [eax + 5], 0
jne 0x10046d75
cmp byte [0x103057f4], 0
je 0x10046d75
mov ecx, dword [ebp - 0x48]
mov esi, dword [0x10769214]
add esi, 0x6a9ba001
xor esi, 0xcecda2b2
mov eax, dword [ecx + 8]
add ecx, 8
call dword [eax + 0x28]
imul edi, eax, 0x394
add edi, esi
je 0x10046d75
mov edx, dword [edi + 0x390]
test edx, edx
je 0x10046d75
cmp byte [0x10305fe8], 0
je 0x10046af1
mov esi, 1
cmp edx, esi
jb 0x10046d75
nop word [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 0x10046ae1
cmp byte [ebx + 8], 0
je 0x10046ae1
movd xmm0, edx
xorps xmm1, xmm1
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
push 1
movd xmm2, esi
addsd xmm0, qword [edx*8 + 0x10271aa0]
cvtdq2ps xmm2, xmm2
cvtpd2ps xmm0, xmm0
divss xmm2, xmm0
movss xmm0, dword [0x10271024]
call fcn.1003ab50
mov ecx, dword [ebp - 0x4c]
lea eax, [ebx + 0xa380]
push eax
push 0x103057f4
movaps xmm3, xmm0
call fcn.10044fa0
mov edx, dword [edi + 0x390]
inc esi
cmp esi, edx
jbe 0x10046a70
jmp 0x10046d75
mov ecx, dword [edi + 0x38c]
mov eax, dword [edi + 0x380]
mov byte [ebp - 0x40], 0
push dword [ebp - 0x40]
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.10049fc0
mov eax, dword [ebp - 0x14]
add esp, 0x1c
cmp eax, dword [edi + 0x38c]
je 0x10046d75
lea edx, [eax - 1]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x10046b60
mov eax, dword [eax]
jmp 0x10046b62
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 - 0x40], ebx
test ebx, ebx
je 0x10046d75
mov eax, dword [0x103201c8]
mov dword [ebp - 0x44], 0x3f800000
mov dword [ebp - 0x38], 0
test al, 1
jne 0x10046cb8
or eax, 1
mov dword [0x103201c8], eax
mov dword [ebp - 4], 0xc
mov ebx, dword [0x1031cd80]
cmp ebx, dword [0x1031cd84]
je 0x10046bf5
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10046bea
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10046bc4
xor edx, edx
test ecx, ecx
je 0x10046bea
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10046bd1
cmp esi, 0x1eee87cc
je 0x10046c0c
add ebx, 4
cmp ebx, dword [0x1031cd84]
jne 0x10046bb1
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov ebx, dword [ebp - 0x40]
mov dword [0x1032020c], esi
jmp 0x10046cbe
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x10046bf7
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10046c52
cmp dword [ecx + 4], 0
jle 0x10046c52
push 0
mov edx, 0x559d81af
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10046c4f
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10046c60
xor edx, edx
test ecx, ecx
je 0x10046c8c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10046c70
cmp edi, 0x559d81af
je 0x10046cad
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jge 0x10046bf7
jmp 0x10046c21
mov esi, dword [ebx + 0x2c]
add esi, dword [ebp - 0x30]
jmp 0x10046bf7
mov esi, dword [0x1032020c]
mov edi, dword [ebp - 0x48]
movss xmm1, dword [0x10271070]
movss xmm0, dword [esi + edi + 4]
subss xmm0, dword [ebx + 0x88]
call fcn.1002de70
movss xmm1, dword [0x10271070]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [esi + edi]
subss xmm0, dword [ebx + 0x84]
call fcn.1002de70
movss xmm1, dword [ebp - 0x2c]
addss xmm1, xmm0
movss xmm0, dword [esi + edi + 8]
subss xmm0, dword [ebx + 0x8c]
movss dword [ebp - 0x2c], xmm1
movss xmm1, dword [0x10271070]
call fcn.1002de70
addss xmm0, dword [ebp - 0x2c]
call fcn.1000d460
mulss xmm0, dword [0x10270efc]
lea ecx, [ebp - 0x40]
lea eax, [ebp - 0x38]
xorps xmm1, xmm1
push 1
comiss xmm0, xmm1
movss xmm1, dword [0x10271024]
movss dword [ebp - 0x40], xmm0
cmovae eax, ecx
lea ecx, [ebp - 0x44]
comiss xmm1, xmm0
cmovae ecx, eax
lea eax, [ebx + 0xa380]
push eax
push 0x103057f4
movss xmm3, dword [ecx]
mov ecx, dword [ebp - 0x4c]
call fcn.10044fa0
movss xmm3, dword [0x10271024]
mov ecx, dword [ebp - 0x4c]
push 1
push 0
push 0x10305744
call fcn.10044fa0
movss xmm3, dword [0x10271024]
mov bl, al
mov ecx, dword [ebp - 0x4c]
push 0
push 0
push 0x10305694
call fcn.10044fa0
test al, al
jne 0x10046db5
test bl, bl
je 0x10047b8f
mov al, 1
jmp 0x10047b91
cmp eax, 0x8c
jne 0x100470b1
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov ecx, dword [eax + 0x14c]
mov eax, dword [0x1031e914]
mov dword [ebp - 0x38], ecx
test al, 1
jne 0x10046f32
or eax, 1
mov dword [0x1031e914], eax
mov dword [ebp - 4], 0xd
mov ebx, dword [0x1031cd80]
cmp ebx, dword [0x1031cd84]
je 0x10046e54
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10046e49
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10046e23
xor edx, edx
test ecx, ecx
je 0x10046e49
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10046e30
cmp esi, 0x4e9f1122
je 0x10046e6a
add ebx, 4
cmp ebx, dword [0x1031cd84]
jne 0x10046e10
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x1031e918], eax
jmp 0x10046f37
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x10046f08
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10046eb4
cmp dword [ecx + 4], 0
jle 0x10046eb4
push 0
mov edx, 0x1c93bcf0
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10046eb1
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10046ec0
xor edx, edx
test ecx, ecx
je 0x10046eec
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10046ed0
cmp edi, 0x1c93bcf0
je 0x10046f1b
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x10046e83
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x1031e918], eax
jmp 0x10046f37
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x1031e918], eax
jmp 0x10046f37
mov eax, dword [0x1031e918]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x44], eax
mov eax, dword [0x1032022c]
test al, 1
jne 0x10047092
or eax, 1
mov dword [0x1032022c], eax
mov dword [ebp - 4], 0xe
mov ebx, dword [0x1031cd80]
cmp ebx, dword [0x1031cd84]
je 0x10046fb4
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10046fa9
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10046f80
xor edx, edx
test ecx, ecx
je 0x10046fa9
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10046f90
cmp edi, 0x72e242a1
je 0x10046fca
add ebx, 4
cmp ebx, dword [0x1031cd84]
jne 0x10046f67
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x103201ec], eax
jmp 0x10047097
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x10047068
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10047014
cmp dword [ecx + 4], 0
jle 0x10047014
push 0
mov edx, 0x84cdad2
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10047011
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10047020
xor edx, edx
test ecx, ecx
je 0x1004704c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10047030
cmp edi, 0x84cdad2
je 0x1004707b
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x10046fe3
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x103201ec], eax
jmp 0x10047097
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x103201ec], eax
jmp 0x10047097
mov eax, dword [0x103201ec]
cmp dword [ebp - 0x44], 2
je 0x100470b1
cmp dword [ecx + eax], 0
jle 0x100470b1
push 0
push 0
push 0x10305b64
jmp 0x10045bbd
lea eax, [ebp - 0x28]
mov ecx, 0x1030b8c8
push eax
call fcn.10040120
mov dword [ebp - 4], 0xf
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
mov dword [ebp - 0x44], 7
cmova eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x40]
add eax, 4
push eax
call dword [sym.imp.VCRUNTIME140.dll_strstr]
add esp, 8
test eax, eax
je 0x100473a9
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov ecx, dword [eax + 0x14c]
mov eax, dword [0x1031e914]
mov dword [ebp - 0x38], ecx
test al, 1
jne 0x10047244
or eax, 1
mov dword [0x1031e914], eax
mov dword [ebp - 4], 0x10
mov ebx, dword [0x1031cd80]
cmp ebx, dword [0x1031cd84]
je 0x10047177
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x1004716c
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10047146
xor edx, edx
test ecx, ecx
je 0x1004716c
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10047153
cmp esi, 0x4e9f1122
je 0x10047186
add ebx, 4
cmp ebx, dword [0x1031cd84]
jne 0x10047133
mov ecx, dword [ebp - 0x38]
xor eax, eax
mov dword [0x1031e918], eax
jmp 0x10047249
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x10047228
xor ecx, ecx
mov dword [ebp - 0x34], ecx
nop
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100471d1
cmp dword [ecx + 4], 0
jle 0x100471d1
push 0
mov edx, 0x1c93bcf0
call fcn.1012b660
add esp, 4
test eax, eax
je 0x100471ce
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x100471e0
xor edx, edx
test ecx, ecx
je 0x1004720c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100471f0
cmp edi, 0x1c93bcf0
je 0x10047234
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x100471a0
mov ecx, dword [ebp - 0x38]
mov eax, esi
mov dword [0x1031e918], eax
jmp 0x10047249
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
mov dword [0x1031e918], eax
jmp 0x10047249
mov eax, dword [0x1031e918]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x40], eax
mov eax, dword [0x1032022c]
test al, 1
jne 0x10047394
or eax, 1
mov dword [0x1032022c], eax
mov dword [ebp - 4], 0x11
mov ebx, dword [0x1031cd80]
cmp ebx, dword [0x1031cd84]
je 0x100472c4
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x100472b9
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10047293
xor edx, edx
test ecx, ecx
je 0x100472b9
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100472a0
cmp esi, 0x72e242a1
je 0x100472d3
add ebx, 4
cmp ebx, dword [0x1031cd84]
jne 0x10047280
mov ecx, dword [ebp - 0x38]
xor eax, eax
mov dword [0x103201ec], eax
jmp 0x10047399
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x10047378
xor ecx, ecx
mov dword [ebp - 0x34], ecx
nop dword [eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10047321
cmp dword [ecx + 4], 0
jle 0x10047321
push 0
mov edx, 0x84cdad2
call fcn.1012b660
add esp, 4
test eax, eax
je 0x1004731e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10047330
xor edx, edx
test ecx, ecx
je 0x1004735c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10047340
cmp edi, 0x84cdad2
je 0x10047384
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x100472f0
mov ecx, dword [ebp - 0x38]
mov eax, esi
mov dword [0x103201ec], eax
jmp 0x10047399
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
mov dword [0x103201ec], eax
jmp 0x10047399
mov eax, dword [0x103201ec]
cmp dword [ebp - 0x40], 2
je 0x100473a9
cmp dword [ecx + eax], 0
jle 0x100473a9
mov bl, 1
jmp 0x100473ab
xor bl, bl
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
call fcn.10029c40
test bl, bl
je 0x100473cc
push 0
push 0
push 0x10305ab4
jmp 0x10045bbd
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov ecx, dword [eax + 0x14c]
mov eax, dword [0x1031e914]
mov dword [ebp - 0x38], ecx
test al, 1
jne 0x10047532
or eax, 1
mov dword [0x1031e914], eax
mov dword [ebp - 4], 0x12
mov ebx, dword [0x1031cd80]
cmp ebx, dword [0x1031cd84]
je 0x10047454
nop
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10047449
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10047423
xor edx, edx
test ecx, ecx
je 0x10047449
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10047430
cmp esi, 0x4e9f1122
je 0x1004746a
add ebx, 4
cmp ebx, dword [0x1031cd84]
jne 0x10047410
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x1031e918], eax
jmp 0x10047537
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x10047508
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100474b4
cmp dword [ecx + 4], 0
jle 0x100474b4
push 0
mov edx, 0x1c93bcf0
call fcn.1012b660
add esp, 4
test eax, eax
je 0x100474b1
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x100474c0
xor edx, edx
test ecx, ecx
je 0x100474ec
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100474d0
cmp edi, 0x1c93bcf0
je 0x1004751b
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x10047483
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x1031e918], eax
jmp 0x10047537
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x1031e918], eax
jmp 0x10047537
mov eax, dword [0x1031e918]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x44], eax
mov eax, dword [0x1032022c]
test al, 1
jne 0x10047692
or eax, 1
mov dword [0x1032022c], eax
mov dword [ebp - 4], 0x13
mov ebx, dword [0x1031cd80]
cmp ebx, dword [0x1031cd84]
je 0x100475b4
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x100475a9
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x10047580
xor edx, edx
test ecx, ecx
je 0x100475a9
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10047590
cmp esi, 0x72e242a1
je 0x100475ca
add ebx, 4
cmp ebx, dword [0x1031cd84]
jne 0x10047567
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x103201ec], eax
jmp 0x10047697
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x10047668
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10047614
cmp dword [ecx + 4], 0
jle 0x10047614
push 0
mov edx, 0x84cdad2
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10047611
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10047620
xor edx, edx
test ecx, ecx
je 0x1004764c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10047630
cmp edi, 0x84cdad2
je 0x1004767b
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x100475e3
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x103201ec], eax
jmp 0x10047697
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x103201ec], eax
jmp 0x10047697
mov eax, dword [0x103201ec]
cmp dword [ebp - 0x44], 2
je 0x10047b8f
cmp dword [ecx + eax], 0
jle 0x10047b8f
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov eax, dword [eax + 0xc8]
mov dword [ebp - 0x44], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x40], eax
mov eax, dword [0x103232c8]
test al, 1
jne 0x1004780c
or eax, 1
mov dword [0x103232c8], eax
mov dword [ebp - 4], 0x14
mov ebx, dword [0x1031cd80]
cmp ebx, dword [0x1031cd84]
je 0x10047739
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x1004772e
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10047708
xor edx, edx
test ecx, ecx
je 0x1004772e
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10047715
cmp esi, 0x1eee87cc
je 0x1004774c
add ebx, 4
cmp ebx, dword [0x1031cd84]
jne 0x100476f5
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x103232b4], eax
jmp 0x10047811
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x100477e8
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10047796
cmp dword [ecx + 4], 0
jle 0x10047796
push 0
mov edx, 0x6bf5c5fc
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10047793
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [esi + ecx], 0
jne 0x100477a0
xor edx, edx
test ecx, ecx
je 0x100477cc
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100477b0
cmp edi, 0x6bf5c5fc
je 0x100477f8
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x10047765
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x103232b4], eax
jmp 0x10047811
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [0x103232b4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10047811
mov eax, dword [0x103232b4]
mov ecx, dword [ebp - 0x48]
push dword [eax + ecx]
mov ecx, dword [ebp - 0x44]
call dword [ebp - 0x40]
mov ecx, dword [0x10b33e60]
add ecx, 0x7a4232c8
xor ecx, 0xfcb4fca8
mov edx, dword [ecx + 0x14c]
mov dword [ebp - 0x44], edx
cmp eax, edx
jne 0x10047b8f
mov eax, dword [ecx + 0xf0]
cmp byte [eax + 0xa9], 0
je 0x10047b8f
movd xmm0, dword [0x10306024]
mov eax, dword [0x1031e978]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10270ee4]
movss dword [ebp - 0x38], xmm0
test al, 1
jne 0x100479ae
or eax, 1
mov dword [0x1031e978], eax
mov dword [ebp - 4], 0x15
mov ebx, dword [0x1031cd80]
cmp ebx, dword [0x1031cd84]
je 0x100478d9
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x100478ce
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x100478a8
xor edx, edx
test ecx, ecx
je 0x100478ce
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100478b5
cmp esi, 0x72e242a1
je 0x100478ef
add ebx, 4
cmp ebx, dword [0x1031cd84]
jne 0x10047895
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
mov dword [0x10320218], eax
jmp 0x100479b3
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x10047984
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10047939
cmp dword [ecx + 4], 0
jle 0x10047939
push 0
mov edx, 0xf3e9a9ed
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10047936
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebx]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10047942
xor edx, edx
test ecx, ecx
je 0x1004796c
nop
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10047950
cmp esi, 0xf3e9a9ed
je 0x10047997
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x10047908
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
mov dword [0x10320218], eax
jmp 0x100479b3
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
mov dword [0x10320218], eax
jmp 0x100479b3
mov eax, dword [0x10320218]
cmp byte [edx + eax], 0
jne 0x10047b41
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov eax, dword [eax + 0x150]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x10047b4e
mov eax, dword [0x1031e958]
test al, 1
jne 0x10047b2c
or eax, 1
mov dword [0x1031e958], eax
mov dword [ebp - 4], 0x16
mov ebx, dword [0x1031cd80]
cmp ebx, dword [0x1031cd84]
je 0x10047a54
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10047a49
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x10047a20
xor edx, edx
test ecx, ecx
je 0x10047a49
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10047a30
cmp esi, 0xcd2ed041
je 0x10047a67
add ebx, 4
cmp ebx, dword [0x1031cd84]
jne 0x10047a07
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10320234], eax
jmp 0x10047b31
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x10047b08
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10047ab1
cmp dword [ecx + 4], 0
jle 0x10047ab1
push 0
mov edx, 0xa2ccb41a
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10047aae
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebx]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x10047ac0
xor edx, edx
test ecx, ecx
je 0x10047aec
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10047ad0
cmp esi, 0xa2ccb41a
je 0x10047b18
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x10047a80
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10320234], eax
jmp 0x10047b31
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [0x10320234], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10047b31
mov eax, dword [0x10320234]
mov ecx, dword [ebp - 0x44]
movzx eax, word [ecx + eax]
add eax, 0xffffffd5
cmp ax, 5
ja 0x10047b4e
mulss xmm0, dword [0x10270fb4]
movss dword [ebp - 0x38], xmm0
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov ecx, dword [eax + 0xfc]
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 - 0x38]
mov ecx, dword [ebp - 0x4c]
push 0
push 0
push 0x10305c14
call fcn.10044fa0
jmp 0x10047b91
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.101e0e46
mov esp, ebp
pop ebp
ret