Function at 0x1008ad50
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0xf8
mov eax, dword [0x101cf40c]
xor eax, esp
mov dword [esp + 0xf4], eax
push ebx
push ebp
mov ebp, dword [esp + 0x104]
mov eax, dword [ebp + 4]
push edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0xa0], eax
push ebx
pop ebx
mov ebx, dword [ebp]
mov dword [esp + 0x9c], ebx
xchg ebx, eax
xchg ebx, eax
mov ebp, ebp
mov ecx, dword [ebp + 0x44]
mov dword [esp + 0x38], ecx
push ebx
pop ebx
mov edx, dword [ebp + 0x50]
mov dword [esp + 0x58], edx
xchg ebx, eax
xchg ebx, eax
mov eax, dword [ebp + 0x54]
mov dword [esp + 0xa4], eax
mov ebp, ebp
push eax
pop eax
mov ecx, dword [ebp + 0x15c]
mov dword [esp + 0x50], ecx
push ebx
pop ebx
mov edx, dword [ebp + 0x58]
mov dword [esp + 0xac], edx
push eax
pop eax
mov eax, dword [ebp + 0x48]
mov dword [esp + 0x60], eax
mov dh, dh
mov ecx, dword [ebp + 0x4c]
mov dword [esp + 0x5c], ecx
mov al, al
mov ecx, dword [ebp + 0x160]
mov dword [esp + 0x6c], ecx
mov ecx, ecx
push 0x101839c8
push 0x101839c8
call fcn.1000d190
mov ebx, ebx
mov ebx, ebx
mov ebx, ebx
mov edi, dword [ebp + 8]
cmp edi, dword [ebp + 0xc]
mov dword [esp + 0x48], edi
jg 0x1008bd2c
push esi
jmp 0x1008ae12
mov ebp, edx
cmp dword [ebp + 0x164], 0
jne 0x1008bd2b
mov edx, dword [ebp + 0x24]
imul edx, dword [esp + 0x3c]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x5c]
push edx
push eax
push ecx
call fcn.10119900
add esp, 0xc
mov eax, eax
mov edi, edi
mov dword [esp + 0x24], 0
mov bh, bh
mov cl, cl
mov cl, cl
lea esi, [ebx + 0x3264]
push 0x3e8
push esi
call fcn.10055e40
add esp, 8
mov dh, dh
test edi, edi
jl 0x1008bd64
mov edx, dword [esp + 0xa4]
cmp edi, dword [edx + 8]
jge 0x1008bd64
mov eax, edx
mov ecx, dword [eax + 4]
mov eax, dword [ecx + edi*4]
mov edx, dword [ebp + 0x10]
push 0
push edx
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x88]
push ecx
push eax
push ebx
call fcn.100780b0
add esp, 0x1c
test eax, eax
push esi
jne 0x1008aebb
call fcn.10055ed0
add esp, 4
push ecx
pop ecx
jmp 0x1008bd17
call fcn.10055ed0
add esp, 4
mov dh, dh
mov esi, dword [esp + 0x24]
mov dword [esp + 0xac], esi
mov ah, ah
mov edx, dword [esp + 0x7c]
cmp edx, dword [ebp + 0x20]
jg 0x1008bd44
mov eax, dword [esp + 0x80]
cmp eax, dword [ebp + 0x24]
jg 0x1008bd44
cmp dword [ebp + 0x18], 0
jne 0x1008af33
test eax, eax
jle 0x1008affb
mov ebx, dword [esp + 0x34]
mov edx, esi
mov esi, dword [esp + 0x7c]
add edx, 3
mov edi, eax
lea esp, [esp]
test esi, esi
jle 0x1008af27
mov eax, edx
mov ecx, esi
mov ah, ah
mov byte [eax], 0
mov edi, edi
add eax, 4
sub ecx, 1
jne 0x1008af18
add edx, ebx
sub edi, 1
jne 0x1008af10
jmp 0x1008affb
mov eax, dword [esp + 0x80]
imul eax, dword [esp + 0x34]
push eax
call fcn.1011741c
add esp, 4
mov dword [esp + 0x24], eax
mov dh, dh
test eax, eax
jne 0x1008af73
cmp dword [ebp + 0x10], eax
jne 0x1008af63
cmp dword [ebx + 0x32fc], eax
jne 0x1008bd17
push esi
call fcn.101174df
add esp, 4
mov ah, ah
jmp 0x1008bd17
cmp dword [esp + 0x80], 0
jle 0x1008affb
mov ecx, dword [esp + 0x80]
mov ebp, dword [esp + 0x24]
add esi, 1
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], ecx
cmp dword [esp + 0x7c], 0
jle 0x1008afea
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x7c]
mov esi, ebp
mov esi, esi
mov ch, ch
movzx eax, byte [ecx + 1]
mov ecx, ecx
movzx edx, byte [ecx]
mov edx, edx
movzx edi, byte [ecx - 1]
mov ch, ch
add edi, edx
add edi, eax
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
mov eax, eax
movzx eax, dl
mov edx, eax
shl edx, 8
or edx, eax
shl edx, 8
or edx, eax
mov dword [esi], edx
mov edx, edx
add ecx, 4
add esi, 4
sub ebx, 1
jne 0x1008afa8
mov eax, dword [esp + 0x34]
add dword [esp + 0x44], eax
add ebp, eax
sub dword [esp + 0x40], 1
jne 0x1008af97
mov edi, edi
mov edx, edx
mov bl, bl
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov edi, edi
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
add eax, 0x5c
push 0x101838c0
push eax
call fcn.10119fed
add esp, 0xc
mov ebx, ebx
movzx ecx, byte [esp + 0x12]
mov dword [esp + 0x44], ecx
mov cl, cl
movzx edx, byte [esp + 0x11]
mov dword [esp + 0x6c], edx
push edx
pop edx
mov eax, dword [esp + 0x10]
and eax, 0xff
mov dword [esp + 0x68], eax
xchg ebx, eax
xchg ebx, eax
mov bl, bl
nop
mov ebp, ebp
mov bh, bh
mov esi, esi
mov cl, cl
mov dh, dh
push ebx
pop ebx
nop
mov ch, ch
mov cl, cl
mov edi, edi
mov esi, dword [esp + 0x24]
mov eax, dword [esi]
mov dword [esp + 0x50], eax
mov ecx, ecx
mov edi, dword [esp + 0x7c]
mov ecx, dword [esi + edi*4 - 4]
mov eax, eax
mov ebp, dword [esp + 0x80]
lea eax, [ebp - 1]
imul eax, dword [esp + 0x34]
mov edx, dword [eax + esi]
mov ebp, ebp
lea eax, [eax + edi*4]
mov eax, dword [eax + esi - 4]
mov ch, ch
mov dword [esp + 0x58], ebx
mov cl, cl
mov eax, eax
mov ebx, dword [esp + 0x50]
cmp ebx, ecx
jne 0x1008b1f5
cmp ecx, edx
jne 0x1008b1f5
cmp edx, eax
jne 0x1008b1f5
mov dword [esp + 0x58], 1
xchg ebx, eax
xchg ebx, eax
xor edx, edx
test ebp, ebp
jle 0x1008b0f7
xor eax, eax
test edi, edi
jle 0x1008b0ec
mov ecx, esi
nop
mov ch, ch
cmp dword [ecx], ebx
jne 0x1008b0e2
add eax, 1
add ecx, 4
cmp eax, edi
jl 0x1008b0d0
jmp 0x1008b0ec
mov bh, bh
mov dh, dh
mov bl, bl
cmp eax, edi
jl 0x1008b0f7
add esi, dword [esp + 0x34]
add edx, 1
cmp edx, ebp
jl 0x1008b0c7
xor esi, esi
test ebp, ebp
jle 0x1008b137
xor edx, edx
nop
lea eax, [edi - 1]
test eax, eax
jl 0x1008b12c
lea ecx, [edx + eax*4]
add ecx, dword [esp + 0x24]
mov edi, edi
mov dl, dl
cmp dword [ecx], ebx
jne 0x1008b122
sub eax, 1
sub ecx, 4
test eax, eax
jge 0x1008b110
jmp 0x1008b12c
mov cl, cl
mov al, al
mov ebp, ebp
test eax, eax
jge 0x1008b137
add edx, dword [esp + 0x34]
add esi, 1
cmp esi, ebp
jl 0x1008b100
lea esi, [ebp - 1]
test esi, esi
jl 0x1008b195
mov eax, dword [esp + 0x34]
mov edx, esi
imul edx, eax
mov ebx, eax
neg ebx
add edx, dword [esp + 0x24]
nop
xor eax, eax
test edi, edi
jle 0x1008b183
mov ebp, dword [esp + 0x50]
mov ecx, edx
lea esp, [esp]
xchg ebx, eax
xchg ebx, eax
cmp dword [ecx], ebp
jne 0x1008b172
add eax, 1
add ecx, 4
cmp eax, edi
jl 0x1008b160
jmp 0x1008b17c
push ecx
pop ecx
mov dl, dl
push ecx
pop ecx
cmp eax, edi
jl 0x1008b18e
mov ebp, dword [esp + 0x80]
sub esi, 1
add edx, ebx
test esi, esi
jge 0x1008b150
jmp 0x1008b195
mov ebp, dword [esp + 0x80]
lea esi, [ebp - 1]
test esi, esi
jl 0x1008b1f5
mov ebx, dword [esp + 0x34]
mov edx, esi
imul edx, ebx
neg ebx
lea eax, [edi - 1]
test eax, eax
jl 0x1008b1e3
mov ebp, dword [esp + 0x50]
lea ecx, [edx + eax*4]
add ecx, dword [esp + 0x24]
lea esp, [esp]
mov dl, dl
cmp dword [ecx], ebp
jne 0x1008b1d2
sub eax, 1
sub ecx, 4
test eax, eax
jge 0x1008b1c0
jmp 0x1008b1dc
mov ah, ah
mov ah, ah
mov edi, edi
test eax, eax
jge 0x1008b1ee
mov ebp, dword [esp + 0x80]
sub esi, 1
add edx, ebx
test esi, esi
jge 0x1008b1a7
jmp 0x1008b1f5
mov ebp, dword [esp + 0x80]
mov ecx, ebp
imul ecx, edi
mov dword [esp + 0x74], ecx
imul ecx, dword [esp + 0x54]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
lea edx, [edx + ecx + 1]
mov dword [esp + 0x38], edx
mov eax, eax
mov eax, dword [esp + 0xb0]
xor ecx, ecx
cmp eax, ecx
jne 0x1008b4d5
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x24]
sub ecx, ebp
js 0x1008bcc7
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x28], edx
jmp 0x1008b250
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x20]
sub ecx, dword [esp + 0x7c]
mov dword [esp + 0x1c], 0
js 0x1008b4a7
mov edx, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
mov dl, dl
push ebx
pop ebx
xor eax, eax
mov dword [esp + 0x14], eax
mov dl, dl
mov ebp, dword [esp + 0x74]
xchg ebx, eax
xchg ebx, eax
cmp dword [esp + 0x80], eax
mov dword [esp + 0x40], eax
jle 0x1008b33b
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x30], eax
mov bh, bh
xor esi, esi
cmp dword [esp + 0x7c], esi
jle 0x1008b304
mov edi, dword [esp + 0x30]
mov edi, edi
sub ebp, 1
mov ebp, ebp
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x4c]
push eax
push ecx
mov ecx, dword [ebx + esi*4]
push edx
mov edx, dword [edi]
call fcn.10060370
add esp, 0x14
test eax, eax
je 0x1008b2e6
add dword [esp + 0x14], 1
mov bl, bl
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge 0x1008b349
add ecx, ebp
cmp ecx, eax
jl 0x1008b304
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x7c]
jl 0x1008b2b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jge 0x1008b349
lea edx, [eax + ebp]
cmp edx, ecx
jl 0x1008b33b
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
add ebx, dword [esp + 0x34]
add dword [esp + 0x30], ecx
add eax, 1
cmp eax, dword [esp + 0x80]
mov dword [esp + 0x40], eax
jl 0x1008b2a0
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x14], edx
jl 0x1008b484
xor eax, eax
mov byte [esp + 0xb4], 0
mov dword [esp + 0xb5], eax
mov dword [esp + 0xb9], eax
mov dword [esp + 0xbd], eax
mov dword [esp + 0xc1], eax
mov dword [esp + 0xc5], eax
mov dword [esp + 0xc9], eax
mov dword [esp + 0xcd], eax
mov word [esp + 0xd1], ax
mov byte [esp + 0xd3], al
mov dl, dl
nop
mov bh, bh
mov byte [esp + 0xf8], 0x25
mov byte [esp + 0xf9], 0x64
mov byte [esp + 0xfa], 0x2c
mov byte [esp + 0xfb], 0x25
mov byte [esp + 0xfc], 0x64
mov byte [esp + 0xfd], 0x2c
mov byte [esp + 0xfe], 0x25
mov byte [esp + 0xff], 0x64
mov byte [esp + 0x100], 0x2c
mov byte [esp + 0x101], 0x25
mov byte [esp + 0x102], 0x64
mov byte [esp + 0x103], al
mov edi, edi
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
add eax, ecx
mov ecx, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x68]
add edx, eax
push edx
mov edx, dword [esp + 0x54]
push ecx
push edx
lea eax, [esp + 0x108]
push eax
lea ecx, [esp + 0xc8]
push ecx
call fcn.10119290
add esp, 0x18
mov bl, bl
mov esi, dword [esp + 0x70]
mov edx, dword [esi + 0x10]
sub edx, dword [esi + 0x14]
je 0x1008b452
push 0x10183571
push 0x10183570
mov ecx, esi
call fcn.1000a280
mov cl, cl
lea eax, [esp + 0xb4]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1008b460
sub eax, edx
lea eax, [esp + eax + 0xb4]
push eax
lea ecx, [esp + 0xb8]
push ecx
mov ecx, esi
call fcn.1000a280
mov ah, ah
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edx + 0x20]
sub ecx, dword [esp + 0x7c]
add dword [esp + 0x2c], 4
add eax, 1
cmp eax, ecx
mov dword [esp + 0x1c], eax
jle 0x1008b271
mov edx, dword [esp + 0x3c]
add dword [esp + 0x28], edx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx + 0x24]
sub edx, dword [esp + 0x80]
add eax, 1
cmp eax, edx
mov dword [esp + 0x20], eax
jle 0x1008b250
jmp 0x1008bcc7
cmp eax, 1
jne 0x1008b787
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x24]
sub eax, ebp
mov dword [esp + 0x20], eax
js 0x1008bcc7
mov edx, dword [esp + 0x3c]
imul eax, edx
mov ecx, edx
neg ecx
add eax, dword [esp + 0x5c]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], eax
jmp 0x1008b510
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x7c]
mov dword [esp + 0x1c], 0
js 0x1008b767
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
nop
mov bl, bl
xor eax, eax
mov dword [esp + 0x14], eax
mov ebx, ebx
mov ebp, dword [esp + 0x74]
push edx
pop edx
cmp dword [esp + 0x80], eax
mov dword [esp + 0x48], eax
jle 0x1008b5fb
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
nop
push eax
pop eax
xor esi, esi
cmp dword [esp + 0x7c], esi
jle 0x1008b5c4
mov edi, dword [esp + 0x28]
mov edi, edi
sub ebp, 1
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x68]
push edx
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x4c]
push ecx
mov ecx, dword [ebx + esi*4]
push edx
mov edx, dword [edi]
push eax
call fcn.10060370
add esp, 0x14
test eax, eax
je 0x1008b5a6
add dword [esp + 0x14], 1
mov esi, esi
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge 0x1008b609
add ecx, ebp
cmp ecx, eax
jl 0x1008b5c4
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x7c]
jl 0x1008b570
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jge 0x1008b609
lea edx, [eax + ebp]
cmp edx, ecx
jl 0x1008b5fb
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x3c]
add ebx, dword [esp + 0x34]
add dword [esp + 0x28], ecx
add eax, 1
cmp eax, dword [esp + 0x80]
mov dword [esp + 0x48], eax
jl 0x1008b560
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x14], edx
jl 0x1008b744
xor eax, eax
mov byte [esp + 0xb4], 0
mov dword [esp + 0xb5], eax
mov dword [esp + 0xb9], eax
mov dword [esp + 0xbd], eax
mov dword [esp + 0xc1], eax
mov dword [esp + 0xc5], eax
mov dword [esp + 0xc9], eax
mov dword [esp + 0xcd], eax
mov word [esp + 0xd1], ax
mov byte [esp + 0xd3], al
mov esi, esi
mov dl, dl
mov cl, cl
mov byte [esp + 0xe0], 0x25
mov byte [esp + 0xe1], 0x64
mov byte [esp + 0xe2], 0x2c
mov byte [esp + 0xe3], 0x25
mov byte [esp + 0xe4], 0x64
mov byte [esp + 0xe5], 0x2c
mov byte [esp + 0xe6], 0x25
mov byte [esp + 0xe7], 0x64
mov byte [esp + 0xe8], 0x2c
mov byte [esp + 0xe9], 0x25
mov byte [esp + 0xea], 0x64
mov byte [esp + 0xeb], al
mov bh, bh
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
add eax, ecx
mov ecx, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x68]
add edx, eax
push edx
mov edx, dword [esp + 0x54]
push ecx
push edx
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0xc8]
push ecx
call fcn.10119290
add esp, 0x18
mov edx, edx
mov esi, dword [esp + 0x70]
mov edx, dword [esi + 0x10]
sub edx, dword [esi + 0x14]
je 0x1008b713
push 0x10183571
push 0x10183570
mov ecx, esi
call fcn.1000a280
mov edx, edx
lea eax, [esp + 0xb4]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1008b720
sub eax, edx
lea eax, [esp + eax + 0xb4]
push eax
lea ecx, [esp + 0xb8]
push ecx
mov ecx, esi
call fcn.1000a280
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edx + 0x20]
sub ecx, dword [esp + 0x7c]
add dword [esp + 0x2c], 4
add eax, 1
cmp eax, ecx
mov dword [esp + 0x1c], eax
jle 0x1008b531
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
add dword [esp + 0x30], edx
sub eax, 1
test eax, eax
mov dword [esp + 0x20], eax
jge 0x1008b510
jmp 0x1008bcc7
cmp eax, 2
jne 0x1008ba2a
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x24]
sub ecx, ebp
js 0x1008bcc7
mov dword [esp + 0x30], 0
jmp 0x1008b7b0
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x20]
sub eax, dword [esp + 0x7c]
mov dword [esp + 0x1c], eax
js 0x1008b9fc
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
lea eax, [eax + ecx*4]
add eax, dword [esp + 0x5c]
mov dword [esp + 0x2c], eax
mov ah, ah
push ebx
pop ebx
xor eax, eax
mov dword [esp + 0x14], eax
mov edi, edi
mov ebp, dword [esp + 0x74]
nop
cmp dword [esp + 0x80], eax
mov dword [esp + 0x48], eax
jle 0x1008b89e
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov cl, cl
xor esi, esi
cmp dword [esp + 0x7c], esi
jle 0x1008b868
mov edi, dword [esp + 0x28]
sub ebp, 1
nop
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x68]
push eax
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [edi]
push eax
push ecx
mov ecx, dword [ebx + esi*4]
call fcn.10060370
add esp, 0x14
test eax, eax
je 0x1008b849
add dword [esp + 0x14], 1
mov ecx, ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge 0x1008b8ac
lea edx, [ecx + ebp]
cmp edx, eax
jl 0x1008b868
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x7c]
jl 0x1008b814
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jge 0x1008b8ac
add eax, ebp
cmp eax, ecx
jl 0x1008b89e
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x3c]
add ebx, dword [esp + 0x34]
add dword [esp + 0x28], ecx
add eax, 1
cmp eax, dword [esp + 0x80]
mov dword [esp + 0x48], eax
jl 0x1008b806
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x14], edx
jl 0x1008b9e4
xor eax, eax
mov byte [esp + 0xb4], 0
mov dword [esp + 0xb5], eax
mov dword [esp + 0xb9], eax
mov dword [esp + 0xbd], eax
mov dword [esp + 0xc1], eax
mov dword [esp + 0xc5], eax
mov dword [esp + 0xc9], eax
mov dword [esp + 0xcd], eax
mov word [esp + 0xd1], ax
mov byte [esp + 0xd3], al
mov bl, bl
mov ch, ch
mov dl, dl
mov byte [esp + 0xd4], 0x25
mov byte [esp + 0xd5], 0x64
mov byte [esp + 0xd6], 0x2c
mov byte [esp + 0xd7], 0x25
mov byte [esp + 0xd8], 0x64
mov byte [esp + 0xd9], 0x2c
mov byte [esp + 0xda], 0x25
mov byte [esp + 0xdb], 0x64
mov byte [esp + 0xdc], 0x2c
mov byte [esp + 0xdd], 0x25
mov byte [esp + 0xde], 0x64
mov byte [esp + 0xdf], al
mov ah, ah
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
add eax, ecx
mov ecx, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x68]
add edx, eax
push edx
mov edx, dword [esp + 0x54]
push ecx
push edx
lea eax, [esp + 0xe4]
push eax
lea ecx, [esp + 0xc8]
push ecx
call fcn.10119290
add esp, 0x18
push edx
pop edx
mov esi, dword [esp + 0x70]
mov edx, dword [esi + 0x10]
sub edx, dword [esi + 0x14]
je 0x1008b9b5
push 0x10183571
push 0x10183570
mov ecx, esi
call fcn.1000a280
nop
lea eax, [esp + 0xb4]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1008b9c0
sub eax, edx
lea eax, [esp + eax + 0xb4]
push eax
lea ecx, [esp + 0xb8]
push ecx
mov ecx, esi
call fcn.1000a280
mov edx, edx
mov eax, dword [esp + 0x1c]
sub dword [esp + 0x2c], 4
sub eax, 1
test eax, eax
mov dword [esp + 0x1c], eax
jge 0x1008b7d8
mov edx, dword [esp + 0x3c]
add dword [esp + 0x30], edx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx + 0x24]
sub edx, dword [esp + 0x80]
add eax, 1
cmp eax, edx
mov dword [esp + 0x20], eax
jle 0x1008b7b0
jmp 0x1008bcc7
cmp eax, 3
jne 0x1008bcc7
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x24]
sub eax, dword [esp + 0x80]
mov dword [esp + 0x20], eax
js 0x1008bcc7
mov ecx, dword [esp + 0x3c]
imul eax, ecx
mov dword [esp + 0x30], eax
mov eax, ecx
neg eax
mov dword [esp + 0x40], eax
mov edi, edi
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x20]
sub eax, dword [esp + 0x7c]
mov dword [esp + 0x1c], eax
js 0x1008bcac
mov edx, dword [esp + 0x30]
lea eax, [edx + eax*4]
add eax, dword [esp + 0x5c]
mov dword [esp + 0x2c], eax
mov edx, edx
mov cl, cl
xor eax, eax
mov dword [esp + 0x14], eax
mov cl, cl
mov ebp, dword [esp + 0x74]
mov edx, edx
cmp dword [esp + 0x80], eax
mov dword [esp + 0x48], eax
jle 0x1008bb4c
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov bl, bl
xor esi, esi
cmp dword [esp + 0x7c], esi
jle 0x1008bb15
mov edi, dword [esp + 0x28]
sub ebp, 1
mov dh, dh
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x68]
push edx
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x4c]
push ecx
mov ecx, dword [ebx + esi*4]
push edx
mov edx, dword [edi]
push eax
call fcn.10060370
add esp, 0x14
test eax, eax
je 0x1008baf7
add dword [esp + 0x14], 1
mov edx, edx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge 0x1008bb5c
add ecx, ebp
cmp ecx, eax
jl 0x1008bb15
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x7c]
jl 0x1008bac1
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jge 0x1008bb5c
lea edx, [eax + ebp]
cmp edx, ecx
jl 0x1008bb54
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x3c]
add ebx, dword [esp + 0x34]
add dword [esp + 0x28], ecx
add eax, 1
cmp eax, dword [esp + 0x80]
mov dword [esp + 0x48], eax
jl 0x1008bab3
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
cmp eax, ecx
jl 0x1008bc94
xor eax, eax
mov byte [esp + 0xb4], 0
mov dword [esp + 0xb5], eax
mov dword [esp + 0xb9], eax
mov dword [esp + 0xbd], eax
mov dword [esp + 0xc1], eax
mov dword [esp + 0xc5], eax
mov dword [esp + 0xc9], eax
mov dword [esp + 0xcd], eax
mov word [esp + 0xd1], ax
mov byte [esp + 0xd3], al
mov cl, cl
mov al, al
push eax
pop eax
mov byte [esp + 0xec], 0x25
mov byte [esp + 0xed], 0x64
mov byte [esp + 0xee], 0x2c
mov byte [esp + 0xef], 0x25
mov byte [esp + 0xf0], 0x64
mov byte [esp + 0xf1], 0x2c
mov byte [esp + 0xf2], 0x25
mov byte [esp + 0xf3], 0x64
mov byte [esp + 0xf4], 0x2c
mov byte [esp + 0xf5], 0x25
mov byte [esp + 0xf6], 0x64
mov byte [esp + 0xf7], al
mov edi, edi
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
add edx, eax
mov eax, dword [esp + 0x54]
push edx
mov edx, dword [esp + 0x68]
add ecx, edx
push ecx
mov ecx, dword [esp + 0x54]
push eax
push ecx
lea edx, [esp + 0xfc]
push edx
lea eax, [esp + 0xc8]
push eax
call fcn.10119290
add esp, 0x18
mov esi, esi
mov esi, dword [esp + 0x70]
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0x14]
je 0x1008bc66
push 0x10183571
push 0x10183570
mov ecx, esi
call fcn.1000a280
mov ebx, ebx
lea eax, [esp + 0xb4]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1008bc70
sub eax, edx
lea edx, [esp + eax + 0xb4]
push edx
lea eax, [esp + 0xb8]
push eax
mov ecx, esi
call fcn.1000a280
mov bl, bl
mov eax, dword [esp + 0x1c]
sub dword [esp + 0x2c], 4
sub eax, 1
test eax, eax
mov dword [esp + 0x1c], eax
jge 0x1008ba84
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x40]
add dword [esp + 0x30], ecx
sub eax, 1
test eax, eax
mov dword [esp + 0x20], eax
jge 0x1008ba60
mov edx, dword [esp + 0x18]
cmp dword [edx + 0x10], 0
jne 0x1008bce1
mov eax, dword [esp + 0xa0]
cmp dword [eax + 0x32fc], 0
jne 0x1008bcf3
mov ecx, dword [esp + 0xac]
push ecx
call fcn.101174df
add esp, 4
mov ebx, ebx
mov edx, dword [esp + 0x18]
cmp dword [edx + 0x18], 0
je 0x1008bd0c
mov eax, dword [esp + 0x24]
push eax
call fcn.101174df
add esp, 4
mov dl, dl
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0xa0]
mov edx, dword [esp + 0x18]
add edi, 1
cmp edi, dword [edx + 0xc]
mov dword [esp + 0x4c], edi
jle 0x1008ae10
pop esi
mov ecx, dword [esp + 0x100]
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.101179ba
add esp, 0xf8
ret
cmp dword [ebp + 0x10], 0
jne 0x1008bd53
cmp dword [ebx + 0x32fc], 0
jne 0x1008bd17
mov ecx, dword [esp + 0x24]
push ecx
call fcn.101174df
add esp, 4
mov ah, ah
jmp 0x1008bd17
jmp fcn.10106489