Function at 0x10074ec0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0xf8
mov eax, dword [0x101b03d4]
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 ebp, ebp
mov ebx, dword [ebp]
mov dword [esp + 0x9c], ebx
mov dl, dl
push eax
pop eax
mov ecx, dword [ebp + 0x44]
mov dword [esp + 0x38], ecx
mov dl, dl
mov edx, dword [ebp + 0x50]
mov dword [esp + 0x58], edx
push edx
pop edx
mov eax, dword [ebp + 0x54]
mov dword [esp + 0xa4], eax
push edx
pop edx
mov dh, dh
mov ecx, dword [ebp + 0x15c]
mov dword [esp + 0x50], ecx
push edx
pop edx
mov edx, dword [ebp + 0x58]
mov dword [esp + 0xac], edx
mov dh, dh
mov eax, dword [ebp + 0x48]
mov dword [esp + 0x60], eax
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [ebp + 0x4c]
mov dword [esp + 0x5c], ecx
mov al, al
mov ecx, dword [ebp + 0x160]
mov dword [esp + 0x6c], ecx
xchg ebx, eax
xchg ebx, eax
push 0x10165918
push 0x10165918
call fcn.1000b340
mov ebx, ebx
mov ch, ch
mov ah, ah
mov edi, dword [ebp + 8]
cmp edi, dword [ebp + 0xc]
mov dword [esp + 0x48], edi
jg 0x10075e9c
push esi
jmp 0x10074f82
mov ebp, edx
cmp dword [ebp + 0x164], 0
jne 0x10075e9b
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.100fd070
add esp, 0xc
push ebx
pop ebx
mov ch, ch
mov dword [esp + 0x24], 0
mov ebp, ebp
mov al, al
push ecx
pop ecx
lea esi, [ebx + 0x3264]
push 0x3e8
push esi
call fcn.10040a20
add esp, 8
mov esi, esi
test edi, edi
jl 0x10075ed4
mov edx, dword [esp + 0xa4]
cmp edi, dword [edx + 8]
jge 0x10075ed4
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.100653b0
add esp, 0x1c
test eax, eax
push esi
jne 0x1007502b
call fcn.10040ab0
add esp, 4
mov edx, edx
jmp 0x10075e87
call fcn.10040ab0
add esp, 4
push ecx
pop ecx
mov esi, dword [esp + 0x24]
mov dword [esp + 0xac], esi
nop
mov edx, dword [esp + 0x7c]
cmp edx, dword [ebp + 0x20]
jg 0x10075eb4
mov eax, dword [esp + 0x80]
cmp eax, dword [ebp + 0x24]
jg 0x10075eb4
cmp dword [ebp + 0x18], 0
jne 0x100750a3
test eax, eax
jle 0x1007516b
mov ebx, dword [esp + 0x34]
mov edx, esi
mov esi, dword [esp + 0x7c]
add edx, 3
mov edi, eax
jmp 0x10075080
test esi, esi
jle 0x10075097
mov eax, edx
mov ecx, esi
mov al, al
mov byte [eax], 0
mov cl, cl
add eax, 4
sub ecx, 1
jne 0x10075088
add edx, ebx
sub edi, 1
jne 0x10075080
jmp 0x1007516b
mov eax, dword [esp + 0x80]
imul eax, dword [esp + 0x34]
push eax
call fcn.100fab8c
add esp, 4
mov dword [esp + 0x24], eax
mov ebp, ebp
test eax, eax
jne 0x100750e3
cmp dword [ebp + 0x10], eax
jne 0x100750d3
cmp dword [ebx + 0x32fc], eax
jne 0x10075e87
push esi
call fcn.100fac4f
add esp, 4
mov dh, dh
jmp 0x10075e87
cmp dword [esp + 0x80], 0
jle 0x1007516b
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 0x1007515a
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x7c]
mov esi, ebp
mov bl, bl
push eax
pop eax
movzx eax, byte [ecx + 1]
mov ebp, ebp
movzx edx, byte [ecx]
mov ecx, ecx
movzx edi, byte [ecx - 1]
mov bl, bl
add edi, edx
add edi, eax
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
xchg ebx, eax
xchg ebx, eax
movzx eax, dl
mov edx, eax
shl edx, 8
or edx, eax
shl edx, 8
or edx, eax
mov dword [esi], edx
mov ecx, ecx
add ecx, 4
add esi, 4
sub ebx, 1
jne 0x10075118
mov eax, dword [esp + 0x34]
add dword [esp + 0x44], eax
add ebp, eax
sub dword [esp + 0x40], 1
jne 0x10075107
mov esi, esi
push ecx
pop ecx
push ecx
pop ecx
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov ah, ah
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
add eax, 0x5c
push 0x10165808
push eax
call fcn.100fd75d
add esp, 0xc
mov edx, edx
movzx ecx, byte [esp + 0x12]
mov dword [esp + 0x44], ecx
push ecx
pop ecx
movzx edx, byte [esp + 0x11]
mov dword [esp + 0x6c], edx
mov dl, dl
mov eax, dword [esp + 0x10]
and eax, 0xff
mov dword [esp + 0x68], eax
xchg ebx, eax
xchg ebx, eax
push ecx
pop ecx
mov al, al
mov edx, edx
mov dl, dl
push eax
pop eax
push eax
pop eax
mov edi, edi
mov ebp, ebp
xchg ebx, eax
xchg ebx, eax
mov edi, edi
xchg ebx, eax
xchg ebx, eax
mov dl, dl
mov esi, dword [esp + 0x24]
mov eax, dword [esi]
mov dword [esp + 0x50], eax
nop
mov edi, dword [esp + 0x7c]
mov ecx, dword [esi + edi*4 - 4]
mov edi, edi
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 ecx, ecx
mov ch, ch
mov ebx, dword [esp + 0x50]
cmp ebx, ecx
jne 0x10075365
cmp ecx, edx
jne 0x10075365
cmp edx, eax
jne 0x10075365
mov dword [esp + 0x58], 1
push ecx
pop ecx
xor edx, edx
test ebp, ebp
jle 0x10075267
xor eax, eax
test edi, edi
jle 0x1007525c
mov ecx, esi
mov ebx, ebx
cmp dword [ecx], ebx
jne 0x10075252
add eax, 1
add ecx, 4
cmp eax, edi
jl 0x10075240
jmp 0x1007525c
mov al, al
mov edx, edx
mov ebx, ebx
cmp eax, edi
jl 0x10075267
add esi, dword [esp + 0x34]
add edx, 1
cmp edx, ebp
jl 0x10075238
xor esi, esi
test ebp, ebp
jle 0x100752a7
xor edx, edx
nop
lea eax, [edi - 1]
test eax, eax
jl 0x1007529c
lea ecx, [edx + eax*4]
add ecx, dword [esp + 0x24]
mov edi, edi
mov dh, dh
cmp dword [ecx], ebx
jne 0x10075292
sub eax, 1
sub ecx, 4
test eax, eax
jge 0x10075280
jmp 0x1007529c
xchg ebx, eax
xchg ebx, eax
push edx
pop edx
mov dh, dh
test eax, eax
jge 0x100752a7
add edx, dword [esp + 0x34]
add esi, 1
cmp esi, ebp
jl 0x10075270
lea esi, [ebp - 1]
test esi, esi
jl 0x10075305
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 0x100752f3
mov ebp, dword [esp + 0x50]
mov ecx, edx
lea esp, [esp]
mov esi, esi
cmp dword [ecx], ebp
jne 0x100752e2
add eax, 1
add ecx, 4
cmp eax, edi
jl 0x100752d0
jmp 0x100752ec
mov edx, edx
mov bh, bh
mov bl, bl
cmp eax, edi
jl 0x100752fe
mov ebp, dword [esp + 0x80]
sub esi, 1
add edx, ebx
test esi, esi
jge 0x100752c0
jmp 0x10075305
mov ebp, dword [esp + 0x80]
lea esi, [ebp - 1]
test esi, esi
jl 0x10075365
mov ebx, dword [esp + 0x34]
mov edx, esi
imul edx, ebx
neg ebx
lea eax, [edi - 1]
test eax, eax
jl 0x10075353
mov ebp, dword [esp + 0x50]
lea ecx, [edx + eax*4]
add ecx, dword [esp + 0x24]
lea esp, [esp]
mov esi, esi
cmp dword [ecx], ebp
jne 0x10075342
sub eax, 1
sub ecx, 4
test eax, eax
jge 0x10075330
jmp 0x1007534c
mov esi, esi
push ebx
pop ebx
mov eax, eax
test eax, eax
jge 0x1007535e
mov ebp, dword [esp + 0x80]
sub esi, 1
add edx, ebx
test esi, esi
jge 0x10075317
jmp 0x10075365
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
push edx
pop edx
mov eax, dword [esp + 0xb0]
xor ecx, ecx
cmp eax, ecx
jne 0x10075645
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x24]
sub ecx, ebp
js 0x10075e37
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x28], edx
jmp 0x100753c0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x20]
sub ecx, dword [esp + 0x7c]
mov dword [esp + 0x1c], 0
js 0x10075617
mov edx, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
mov edi, edi
mov bl, bl
xor eax, eax
mov dword [esp + 0x14], eax
mov edx, edx
mov ebp, dword [esp + 0x74]
mov edi, edi
cmp dword [esp + 0x80], eax
mov dword [esp + 0x40], eax
jle 0x100754ab
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 0x10075474
mov edi, dword [esp + 0x30]
mov edi, edi
sub ebp, 1
mov esi, esi
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.1004af40
add esp, 0x14
test eax, eax
je 0x10075456
add dword [esp + 0x14], 1
push ecx
pop ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge 0x100754b9
add ecx, ebp
cmp ecx, eax
jl 0x10075474
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x7c]
jl 0x10075420
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jge 0x100754b9
lea edx, [eax + ebp]
cmp edx, ecx
jl 0x100754ab
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 0x10075410
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x14], edx
jl 0x100755f4
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
mov cl, cl
mov dh, dh
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.100fca00
add esp, 0x18
nop
mov esi, dword [esp + 0x70]
mov edx, dword [esi + 0x10]
sub edx, dword [esi + 0x14]
je 0x100755c2
push 0x101654d9
push 0x101654d8
mov ecx, esi
call fcn.100092e0
xchg ebx, eax
xchg ebx, eax
lea eax, [esp + 0xb4]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100755d0
sub eax, edx
lea eax, [esp + eax + 0xb4]
push eax
lea ecx, [esp + 0xb8]
push ecx
mov ecx, esi
call fcn.100092e0
mov ebx, ebx
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 0x100753e1
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 0x100753c0
jmp 0x10075e37
cmp eax, 1
jne 0x100758f7
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x24]
sub eax, ebp
mov dword [esp + 0x20], eax
js 0x10075e37
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 0x10075680
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x7c]
mov dword [esp + 0x1c], 0
js 0x100758d7
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
mov eax, eax
push ebx
pop ebx
xor eax, eax
mov dword [esp + 0x14], eax
mov eax, eax
mov ebp, dword [esp + 0x74]
push ecx
pop ecx
cmp dword [esp + 0x80], eax
mov dword [esp + 0x48], eax
jle 0x1007576b
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
nop
xor esi, esi
cmp dword [esp + 0x7c], esi
jle 0x10075734
mov edi, dword [esp + 0x28]
lea ecx, [ecx]
sub ebp, 1
push ebx
pop ebx
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.1004af40
add esp, 0x14
test eax, eax
je 0x10075716
add dword [esp + 0x14], 1
mov ebp, ebp
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge 0x10075779
add ecx, ebp
cmp ecx, eax
jl 0x10075734
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x7c]
jl 0x100756e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jge 0x10075779
lea edx, [eax + ebp]
cmp edx, ecx
jl 0x1007576b
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 0x100756d0
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x14], edx
jl 0x100758b4
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 ecx, ecx
mov bl, bl
push ebx
pop ebx
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 cl, cl
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.100fca00
add esp, 0x18
mov cl, cl
mov esi, dword [esp + 0x70]
mov edx, dword [esi + 0x10]
sub edx, dword [esi + 0x14]
je 0x10075883
push 0x101654d9
push 0x101654d8
mov ecx, esi
call fcn.100092e0
mov bl, bl
lea eax, [esp + 0xb4]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10075890
sub eax, edx
lea eax, [esp + eax + 0xb4]
push eax
lea ecx, [esp + 0xb8]
push ecx
mov ecx, esi
call fcn.100092e0
mov ecx, ecx
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 0x100756a1
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 0x10075680
jmp 0x10075e37
cmp eax, 2
jne 0x10075b9b
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x24]
sub ecx, ebp
js 0x10075e37
mov dword [esp + 0x30], 0
jmp 0x10075920
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x20]
sub eax, dword [esp + 0x7c]
mov dword [esp + 0x1c], eax
js 0x10075b6d
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
push ebx
pop ebx
mov ch, ch
xor eax, eax
mov dword [esp + 0x14], eax
nop
mov ebp, dword [esp + 0x74]
mov bh, bh
cmp dword [esp + 0x80], eax
mov dword [esp + 0x48], eax
jle 0x10075a0f
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov al, al
xor esi, esi
cmp dword [esp + 0x7c], esi
jle 0x100759d9
mov edi, dword [esp + 0x28]
sub ebp, 1
mov ebp, ebp
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.1004af40
add esp, 0x14
test eax, eax
je 0x100759ba
add dword [esp + 0x14], 1
mov bl, bl
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge 0x10075a1d
lea edx, [ecx + ebp]
cmp edx, eax
jl 0x100759d9
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x7c]
jl 0x10075984
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jge 0x10075a1d
add eax, ebp
cmp eax, ecx
jl 0x10075a0f
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 0x10075976
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x14], edx
jl 0x10075b55
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 eax, eax
mov ebx, ebx
mov bl, bl
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
push ebx
pop ebx
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.100fca00
add esp, 0x18
mov dl, dl
mov esi, dword [esp + 0x70]
mov edx, dword [esi + 0x10]
sub edx, dword [esi + 0x14]
je 0x10075b27
push 0x101654d9
push 0x101654d8
mov ecx, esi
call fcn.100092e0
mov ecx, ecx
lea eax, [esp + 0xb4]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10075b31
sub eax, edx
lea eax, [esp + eax + 0xb4]
push eax
lea ecx, [esp + 0xb8]
push ecx
mov ecx, esi
call fcn.100092e0
mov ah, ah
mov eax, dword [esp + 0x1c]
sub dword [esp + 0x2c], 4
sub eax, 1
test eax, eax
mov dword [esp + 0x1c], eax
jge 0x10075948
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 0x10075920
jmp 0x10075e37
cmp eax, 3
jne 0x10075e37
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x24]
sub eax, dword [esp + 0x80]
mov dword [esp + 0x20], eax
js 0x10075e37
mov ecx, dword [esp + 0x3c]
imul eax, ecx
mov dword [esp + 0x30], eax
mov eax, ecx
neg eax
mov dword [esp + 0x40], eax
nop
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x20]
sub eax, dword [esp + 0x7c]
mov dword [esp + 0x1c], eax
js 0x10075e1c
mov edx, dword [esp + 0x30]
lea eax, [edx + eax*4]
add eax, dword [esp + 0x5c]
mov dword [esp + 0x2c], eax
push ebx
pop ebx
mov ah, ah
xor eax, eax
mov dword [esp + 0x14], eax
mov ch, ch
mov ebp, dword [esp + 0x74]
mov bl, bl
cmp dword [esp + 0x80], eax
mov dword [esp + 0x48], eax
jle 0x10075cbc
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov dl, dl
xor esi, esi
cmp dword [esp + 0x7c], esi
jle 0x10075c85
mov edi, dword [esp + 0x28]
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.1004af40
add esp, 0x14
test eax, eax
je 0x10075c67
add dword [esp + 0x14], 1
mov edi, edi
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge 0x10075ccc
add ecx, ebp
cmp ecx, eax
jl 0x10075c85
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x7c]
jl 0x10075c31
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jge 0x10075ccc
lea edx, [eax + ebp]
cmp edx, ecx
jl 0x10075cc4
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 0x10075c23
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
cmp eax, ecx
jl 0x10075e04
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 ch, ch
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 bh, bh
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.100fca00
add esp, 0x18
mov bh, bh
mov esi, dword [esp + 0x70]
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0x14]
je 0x10075dd6
push 0x101654d9
push 0x101654d8
mov ecx, esi
call fcn.100092e0
push ebx
pop ebx
lea eax, [esp + 0xb4]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10075de0
sub eax, edx
lea edx, [esp + eax + 0xb4]
push edx
lea eax, [esp + 0xb8]
push eax
mov ecx, esi
call fcn.100092e0
push ebx
pop ebx
mov eax, dword [esp + 0x1c]
sub dword [esp + 0x2c], 4
sub eax, 1
test eax, eax
mov dword [esp + 0x1c], eax
jge 0x10075bf4
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 0x10075bd0
mov edx, dword [esp + 0x18]
cmp dword [edx + 0x10], 0
jne 0x10075e51
mov eax, dword [esp + 0xa0]
cmp dword [eax + 0x32fc], 0
jne 0x10075e63
mov ecx, dword [esp + 0xac]
push ecx
call fcn.100fac4f
add esp, 4
mov ah, ah
mov edx, dword [esp + 0x18]
cmp dword [edx + 0x18], 0
je 0x10075e7c
mov eax, dword [esp + 0x24]
push eax
call fcn.100fac4f
add esp, 4
mov al, al
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 0x10074f80
pop esi
mov ecx, dword [esp + 0x100]
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.100fb12a
add esp, 0xf8
ret
cmp dword [ebp + 0x10], 0
jne 0x10075ec3
cmp dword [ebx + 0x32fc], 0
jne 0x10075e87
mov ecx, dword [esp + 0x24]
push ecx
call fcn.100fac4f
add esp, 4
mov ecx, ecx
jmp 0x10075e87
jmp fcn.100e9bf9