Function at 0x10075520
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0xf8
mov eax, dword [0x101b23cc]
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
mov eax, eax
mov ebx, dword [ebp]
mov dword [esp + 0x9c], ebx
xchg ebx, eax
xchg ebx, eax
mov al, al
mov ecx, dword [ebp + 0x44]
mov dword [esp + 0x38], ecx
mov esi, esi
mov edx, dword [ebp + 0x50]
mov dword [esp + 0x58], edx
mov dl, dl
mov eax, dword [ebp + 0x54]
mov dword [esp + 0xa4], eax
mov ch, ch
mov edi, edi
mov ecx, dword [ebp + 0x15c]
mov dword [esp + 0x50], ecx
push ebx
pop ebx
mov edx, dword [ebp + 0x58]
mov dword [esp + 0xac], edx
nop
mov eax, dword [ebp + 0x48]
mov dword [esp + 0x60], eax
mov dh, dh
mov ecx, dword [ebp + 0x4c]
mov dword [esp + 0x5c], ecx
push eax
pop eax
mov ecx, dword [ebp + 0x160]
mov dword [esp + 0x6c], ecx
mov ch, ch
push 0x10166930
push 0x10166930
call fcn.1000bc80
mov bl, bl
mov al, al
mov ch, ch
mov edi, dword [ebp + 8]
cmp edi, dword [ebp + 0xc]
mov dword [esp + 0x48], edi
jg 0x100764fc
push esi
jmp 0x100755e2
mov ebp, edx
cmp dword [ebp + 0x164], 0
jne 0x100764fb
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.100fe3e0
add esp, 0xc
mov dl, dl
mov eax, eax
mov dword [esp + 0x24], 0
mov ch, ch
push ecx
pop ecx
push edx
pop edx
lea esi, [ebx + 0x3264]
push 0x3e8
push esi
call fcn.100414d0
add esp, 8
mov edx, edx
test edi, edi
jl 0x10076534
mov edx, dword [esp + 0xa4]
cmp edi, dword [edx + 8]
jge 0x10076534
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.10065c20
add esp, 0x1c
test eax, eax
push esi
jne 0x1007568b
call fcn.10041560
add esp, 4
mov edi, edi
jmp 0x100764e7
call fcn.10041560
add esp, 4
mov ecx, ecx
mov esi, dword [esp + 0x24]
mov dword [esp + 0xac], esi
mov bl, bl
mov edx, dword [esp + 0x7c]
cmp edx, dword [ebp + 0x20]
jg 0x10076514
mov eax, dword [esp + 0x80]
cmp eax, dword [ebp + 0x24]
jg 0x10076514
cmp dword [ebp + 0x18], 0
jne 0x10075703
test eax, eax
jle 0x100757c6
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 0x100756f7
mov eax, edx
mov ecx, esi
mov edi, edi
mov byte [eax], 0
push eax
pop eax
add eax, 4
sub ecx, 1
jne 0x100756e8
add edx, ebx
sub edi, 1
jne 0x100756e0
jmp 0x100757c6
mov eax, dword [esp + 0x80]
imul eax, dword [esp + 0x34]
push eax
call fcn.100fbefc
add esp, 4
mov dword [esp + 0x24], eax
mov ebp, ebp
test eax, eax
jne 0x10075743
cmp dword [ebp + 0x10], eax
jne 0x10075733
cmp dword [ebx + 0x32fc], eax
jne 0x100764e7
push esi
call fcn.100fbfbf
add esp, 4
mov ch, ch
jmp 0x100764e7
cmp dword [esp + 0x80], 0
jle 0x100757c6
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 0x100757b5
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x7c]
mov esi, ebp
mov ch, ch
push eax
pop eax
movzx eax, byte [ecx + 1]
mov bl, bl
movzx edx, byte [ecx]
nop
movzx edi, byte [ecx - 1]
push ecx
pop ecx
add edi, edx
add edi, eax
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
mov bh, bh
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 0x10075774
mov eax, dword [esp + 0x34]
add dword [esp + 0x44], eax
add ebp, eax
sub dword [esp + 0x40], 1
jne 0x10075763
mov ecx, ecx
xchg ebx, eax
xchg ebx, eax
mov edx, edx
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov ecx, ecx
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
add eax, 0x5c
push 0x10166820
push eax
call fcn.100feacd
add esp, 0xc
nop
movzx ecx, byte [esp + 0x12]
mov dword [esp + 0x44], ecx
mov eax, eax
movzx edx, byte [esp + 0x11]
mov dword [esp + 0x6c], edx
mov al, al
mov eax, dword [esp + 0x10]
and eax, 0xff
mov dword [esp + 0x68], eax
nop
mov bl, bl
mov esi, esi
mov bh, bh
mov cl, cl
push ecx
pop ecx
push eax
pop eax
nop
mov dh, dh
mov bh, bh
mov bh, bh
mov cl, cl
mov edi, edi
mov esi, dword [esp + 0x24]
mov eax, dword [esi]
mov dword [esp + 0x50], eax
mov esi, esi
mov edi, dword [esp + 0x7c]
mov ecx, dword [esi + edi*4 - 4]
mov bh, bh
mov ebp, dword [esp + 0x80]
lea eax, [ebp - 1]
imul eax, dword [esp + 0x34]
mov edx, dword [eax + esi]
mov edx, edx
lea eax, [eax + edi*4]
mov eax, dword [eax + esi - 4]
mov dl, dl
mov dword [esp + 0x58], ebx
mov edi, edi
mov dh, dh
mov ebx, dword [esp + 0x50]
cmp ebx, ecx
jne 0x100759c5
cmp ecx, edx
jne 0x100759c5
cmp edx, eax
jne 0x100759c5
mov dword [esp + 0x58], 1
push edx
pop edx
xor edx, edx
test ebp, ebp
jle 0x100758c7
xor eax, eax
test edi, edi
jle 0x100758bc
mov ecx, esi
lea esp, [esp]
xchg ebx, eax
xchg ebx, eax
cmp dword [ecx], ebx
jne 0x100758b2
add eax, 1
add ecx, 4
cmp eax, edi
jl 0x100758a0
jmp 0x100758bc
mov al, al
mov edx, edx
mov bh, bh
cmp eax, edi
jl 0x100758c7
add esi, dword [esp + 0x34]
add edx, 1
cmp edx, ebp
jl 0x10075891
xor esi, esi
test ebp, ebp
jle 0x10075907
xor edx, edx
nop
lea eax, [edi - 1]
test eax, eax
jl 0x100758fc
lea ecx, [edx + eax*4]
add ecx, dword [esp + 0x24]
mov edi, edi
mov edx, edx
cmp dword [ecx], ebx
jne 0x100758f2
sub eax, 1
sub ecx, 4
test eax, eax
jge 0x100758e0
jmp 0x100758fc
mov edi, edi
mov cl, cl
mov bh, bh
test eax, eax
jge 0x10075907
add edx, dword [esp + 0x34]
add esi, 1
cmp esi, ebp
jl 0x100758d0
lea esi, [ebp - 1]
test esi, esi
jl 0x10075965
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 0x10075953
mov ebp, dword [esp + 0x50]
mov ecx, edx
lea esp, [esp]
mov edi, edi
cmp dword [ecx], ebp
jne 0x10075942
add eax, 1
add ecx, 4
cmp eax, edi
jl 0x10075930
jmp 0x1007594c
push ebx
pop ebx
mov dl, dl
mov edi, edi
cmp eax, edi
jl 0x1007595e
mov ebp, dword [esp + 0x80]
sub esi, 1
add edx, ebx
test esi, esi
jge 0x10075920
jmp 0x10075965
mov ebp, dword [esp + 0x80]
lea esi, [ebp - 1]
test esi, esi
jl 0x100759c5
mov ebx, dword [esp + 0x34]
mov edx, esi
imul edx, ebx
neg ebx
lea eax, [edi - 1]
test eax, eax
jl 0x100759b3
mov ebp, dword [esp + 0x50]
lea ecx, [edx + eax*4]
add ecx, dword [esp + 0x24]
lea esp, [esp]
mov ebx, ebx
cmp dword [ecx], ebp
jne 0x100759a2
sub eax, 1
sub ecx, 4
test eax, eax
jge 0x10075990
jmp 0x100759ac
mov cl, cl
xchg ebx, eax
xchg ebx, eax
mov edi, edi
test eax, eax
jge 0x100759be
mov ebp, dword [esp + 0x80]
sub esi, 1
add edx, ebx
test esi, esi
jge 0x10075977
jmp 0x100759c5
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 ah, ah
mov eax, dword [esp + 0xb0]
xor ecx, ecx
cmp eax, ecx
jne 0x10075ca5
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x24]
sub ecx, ebp
js 0x10076497
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x28], edx
jmp 0x10075a20
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x20]
sub ecx, dword [esp + 0x7c]
mov dword [esp + 0x1c], 0
js 0x10075c77
mov edx, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
mov eax, eax
xchg ebx, eax
xchg ebx, eax
xor eax, eax
mov dword [esp + 0x14], eax
mov cl, cl
mov ebp, dword [esp + 0x74]
mov ah, ah
cmp dword [esp + 0x80], eax
mov dword [esp + 0x40], eax
jle 0x10075b0b
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x30], eax
mov ecx, ecx
xor esi, esi
cmp dword [esp + 0x7c], esi
jle 0x10075ad4
mov edi, dword [esp + 0x30]
mov edi, edi
sub ebp, 1
push ecx
pop ecx
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.1004b9d0
add esp, 0x14
test eax, eax
je 0x10075ab6
add dword [esp + 0x14], 1
mov ecx, ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge 0x10075b19
add ecx, ebp
cmp ecx, eax
jl 0x10075ad4
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x7c]
jl 0x10075a80
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jge 0x10075b19
lea edx, [eax + ebp]
cmp edx, ecx
jl 0x10075b0b
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 0x10075a70
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x14], edx
jl 0x10075c54
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 edi, edi
push ebx
pop ebx
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.100fdd70
add esp, 0x18
mov bl, bl
mov esi, dword [esp + 0x70]
mov edx, dword [esi + 0x10]
sub edx, dword [esi + 0x14]
je 0x10075c23
push 0x101664f1
push 0x101664f0
mov ecx, esi
call fcn.100096c0
push edx
pop edx
lea eax, [esp + 0xb4]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10075c30
sub eax, edx
lea eax, [esp + eax + 0xb4]
push eax
lea ecx, [esp + 0xb8]
push ecx
mov ecx, esi
call fcn.100096c0
push eax
pop 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 0x10075a41
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 0x10075a20
jmp 0x10076497
cmp eax, 1
jne 0x10075f56
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x24]
sub eax, ebp
mov dword [esp + 0x20], eax
js 0x10076497
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 0x10075ce0
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x7c]
mov dword [esp + 0x1c], 0
js 0x10075f36
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
mov ebp, ebp
mov ah, ah
xor eax, eax
mov dword [esp + 0x14], eax
push edx
pop edx
mov ebp, dword [esp + 0x74]
mov al, al
cmp dword [esp + 0x80], eax
mov dword [esp + 0x48], eax
jle 0x10075dcb
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov ebx, ebx
xor esi, esi
cmp dword [esp + 0x7c], esi
jle 0x10075d94
mov edi, dword [esp + 0x28]
mov edi, edi
sub ebp, 1
mov ah, ah
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.1004b9d0
add esp, 0x14
test eax, eax
je 0x10075d76
add dword [esp + 0x14], 1
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge 0x10075dd9
add ecx, ebp
cmp ecx, eax
jl 0x10075d94
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x7c]
jl 0x10075d40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jge 0x10075dd9
lea edx, [eax + ebp]
cmp edx, ecx
jl 0x10075dcb
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 0x10075d30
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x14], edx
jl 0x10075f13
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
xchg ebx, eax
xchg ebx, eax
push ecx
pop ecx
mov bh, bh
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 dl, dl
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.100fdd70
add esp, 0x18
mov bh, bh
mov esi, dword [esp + 0x70]
mov edx, dword [esi + 0x10]
sub edx, dword [esi + 0x14]
je 0x10075ee3
push 0x101664f1
push 0x101664f0
mov ecx, esi
call fcn.100096c0
mov ebp, ebp
lea eax, [esp + 0xb4]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10075ef0
sub eax, edx
lea eax, [esp + eax + 0xb4]
push eax
lea ecx, [esp + 0xb8]
push ecx
mov ecx, esi
call fcn.100096c0
nop
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 0x10075d01
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 0x10075ce0
jmp 0x10076497
cmp eax, 2
jne 0x100761fa
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x24]
sub ecx, ebp
js 0x10076497
mov dword [esp + 0x30], 0
lea ebx, [ebx]
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x20]
sub eax, dword [esp + 0x7c]
mov dword [esp + 0x1c], eax
js 0x100761cc
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 dl, dl
mov edi, edi
xor eax, eax
mov dword [esp + 0x14], eax
mov dh, dh
mov ebp, dword [esp + 0x74]
mov dh, dh
cmp dword [esp + 0x80], eax
mov dword [esp + 0x48], eax
jle 0x1007606f
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov edx, edx
xor esi, esi
cmp dword [esp + 0x7c], esi
jle 0x10076039
mov edi, dword [esp + 0x28]
sub ebp, 1
mov dh, dh
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.1004b9d0
add esp, 0x14
test eax, eax
je 0x1007601a
add dword [esp + 0x14], 1
nop
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge 0x1007607d
lea edx, [ecx + ebp]
cmp edx, eax
jl 0x10076039
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x7c]
jl 0x10075fe5
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jge 0x1007607d
add eax, ebp
cmp eax, ecx
jl 0x1007606f
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 0x10075fd7
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x14], edx
jl 0x100761b4
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 bh, bh
mov ebx, ebx
mov cl, cl
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
nop
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.100fdd70
add esp, 0x18
push edx
pop edx
mov esi, dword [esp + 0x70]
mov edx, dword [esi + 0x10]
sub edx, dword [esi + 0x14]
je 0x10076186
push 0x101664f1
push 0x101664f0
mov ecx, esi
call fcn.100096c0
push eax
pop eax
lea eax, [esp + 0xb4]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10076190
sub eax, edx
lea eax, [esp + eax + 0xb4]
push eax
lea ecx, [esp + 0xb8]
push ecx
mov ecx, esi
call fcn.100096c0
mov dl, dl
mov eax, dword [esp + 0x1c]
sub dword [esp + 0x2c], 4
sub eax, 1
test eax, eax
mov dword [esp + 0x1c], eax
jge 0x10075fa8
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 0x10075f80
jmp 0x10076497
cmp eax, 3
jne 0x10076497
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x24]
sub eax, dword [esp + 0x80]
mov dword [esp + 0x20], eax
js 0x10076497
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 0x1007647c
mov edx, dword [esp + 0x30]
lea eax, [edx + eax*4]
add eax, dword [esp + 0x5c]
mov dword [esp + 0x2c], eax
mov bh, bh
nop
xor eax, eax
mov dword [esp + 0x14], eax
mov ecx, ecx
mov ebp, dword [esp + 0x74]
mov bl, bl
cmp dword [esp + 0x80], eax
mov dword [esp + 0x48], eax
jle 0x1007631b
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
push ebx
pop ebx
xor esi, esi
cmp dword [esp + 0x7c], esi
jle 0x100762e4
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.1004b9d0
add esp, 0x14
test eax, eax
je 0x100762c6
add dword [esp + 0x14], 1
mov ebp, ebp
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge 0x1007632b
add ecx, ebp
cmp ecx, eax
jl 0x100762e4
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x7c]
jl 0x10076290
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jge 0x1007632b
lea edx, [eax + ebp]
cmp edx, ecx
jl 0x10076323
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 0x10076282
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
cmp eax, ecx
jl 0x10076464
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 cl, cl
mov ebp, ebp
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 bl, bl
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.100fdd70
add esp, 0x18
push ecx
pop ecx
mov esi, dword [esp + 0x70]
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0x14]
je 0x10076435
push 0x101664f1
push 0x101664f0
mov ecx, esi
call fcn.100096c0
mov ah, ah
lea eax, [esp + 0xb4]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10076440
sub eax, edx
lea edx, [esp + eax + 0xb4]
push edx
lea eax, [esp + 0xb8]
push eax
mov ecx, esi
call fcn.100096c0
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 0x10076254
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 0x10076230
mov edx, dword [esp + 0x18]
cmp dword [edx + 0x10], 0
jne 0x100764b1
mov eax, dword [esp + 0xa0]
cmp dword [eax + 0x32fc], 0
jne 0x100764c3
mov ecx, dword [esp + 0xac]
push ecx
call fcn.100fbfbf
add esp, 4
mov ch, ch
mov edx, dword [esp + 0x18]
cmp dword [edx + 0x18], 0
je 0x100764dc
mov eax, dword [esp + 0x24]
push eax
call fcn.100fbfbf
add esp, 4
mov ebp, ebp
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 0x100755e0
pop esi
mov ecx, dword [esp + 0x100]
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.100fc49a
add esp, 0xf8
ret
cmp dword [ebp + 0x10], 0
jne 0x10076523
cmp dword [ebx + 0x32fc], 0
jne 0x100764e7
mov ecx, dword [esp + 0x24]
push ecx
call fcn.100fbfbf
add esp, 4
mov cl, cl
jmp 0x100764e7
jmp fcn.100eaf69