Function at 0x1007d270
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0xf8
mov eax, dword [0x101c52b4]
xor eax, esp
mov dword [esp + 0xf4], eax
push ebx
push ebp
mov ebp, dword [esp + 0x104]
mov eax, dword [ebp + 4]
push esi
mov dword [esp + 0x14], ebp
mov dword [esp + 0xa0], eax
push ecx
pop ecx
mov ebx, dword [ebp]
mov dword [esp + 0x9c], ebx
mov ebp, ebp
mov al, al
mov ecx, dword [ebp + 0x44]
mov dword [esp + 0x38], ecx
push edx
pop edx
mov edx, dword [ebp + 0x50]
mov dword [esp + 0x58], edx
mov ah, ah
mov eax, dword [ebp + 0x54]
mov dword [esp + 0xa4], eax
mov ecx, ecx
mov dl, dl
mov ecx, dword [ebp + 0x15c]
mov dword [esp + 0x50], ecx
push ecx
pop ecx
mov edx, dword [ebp + 0x58]
mov dword [esp + 0xac], edx
push edx
pop edx
mov eax, dword [ebp + 0x48]
mov dword [esp + 0x60], eax
mov ebp, ebp
mov ecx, dword [ebp + 0x4c]
mov dword [esp + 0x5c], ecx
mov dh, dh
mov ecx, dword [ebp + 0x160]
mov dword [esp + 0x6c], ecx
mov dh, dh
push 0
push 0x10178a34
call fcn.1000a180
mov dl, dl
xchg ebx, eax
xchg ebx, eax
mov ah, ah
mov esi, dword [ebp + 8]
cmp esi, dword [ebp + 0xc]
mov dword [esp + 0x48], esi
jg 0x1007e225
push edi
jmp 0x1007d332
mov ebp, eax
cmp dword [ebp + 0x164], 0
jne 0x1007e224
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.101102f0
add esp, 0xc
mov ah, ah
mov dl, dl
mov dword [esp + 0x24], 0
mov edi, edi
nop
mov ebp, ebp
lea edi, [ebx + 0x325c]
push 0x3e8
push edi
call fcn.10047da0
add esp, 8
mov cl, cl
test esi, esi
jl 0x1007e25d
mov edx, dword [esp + 0xa4]
cmp esi, dword [edx + 8]
jge 0x1007e25d
mov eax, edx
mov ecx, dword [eax + 4]
mov eax, dword [ecx + esi*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.10076830
add esp, 0x1c
test eax, eax
push edi
jne 0x1007d3da
call fcn.10047e30
add esp, 4
mov ebp, ebp
jmp 0x1007e210
call fcn.10047e30
add esp, 4
mov ebx, ebx
mov edi, dword [esp + 0x24]
mov dword [esp + 0xac], edi
mov ebp, ebp
mov edx, dword [esp + 0x7c]
cmp edx, dword [ebp + 0x20]
jg 0x1007e23d
mov eax, dword [esp + 0x80]
cmp eax, dword [ebp + 0x24]
jg 0x1007e23d
cmp dword [ebp + 0x18], 0
jne 0x1007d453
test eax, eax
jle 0x1007d517
mov esi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x34]
mov edx, edi
add edx, 3
mov edi, eax
jmp 0x1007d430
test esi, esi
jle 0x1007d447
mov eax, edx
mov ecx, esi
mov esi, esi
mov byte [eax], 0
mov dh, dh
add eax, 4
sub ecx, 1
jne 0x1007d438
add edx, ebx
sub edi, 1
jne 0x1007d430
jmp 0x1007d517
mov eax, dword [esp + 0x80]
imul eax, dword [esp + 0x34]
push eax
call fcn.1010df39
add esp, 4
mov dword [esp + 0x24], eax
mov cl, cl
test eax, eax
jne 0x1007d493
cmp dword [ebp + 0x10], eax
jne 0x1007d483
cmp dword [ebx + 0x32f4], eax
jne 0x1007e210
push edi
call fcn.1010dffc
add esp, 4
mov bh, bh
jmp 0x1007e210
cmp dword [esp + 0x80], 0
jle 0x1007d517
mov ecx, dword [esp + 0x80]
mov ebp, dword [esp + 0x24]
add edi, 1
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], ecx
cmp dword [esp + 0x7c], 0
jle 0x1007d506
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x7c]
mov esi, ebp
mov bl, bl
mov dl, dl
movzx eax, byte [ecx + 1]
mov ah, ah
movzx edx, byte [ecx]
mov ah, ah
movzx edi, byte [ecx - 1]
xchg ebx, eax
xchg ebx, eax
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 0x1007d4c4
mov eax, dword [esp + 0x34]
add dword [esp + 0x44], eax
add ebp, eax
sub dword [esp + 0x40], 1
jne 0x1007d4b3
push ecx
pop ecx
push edx
pop edx
push eax
pop eax
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 0x101798c0
push eax
call fcn.10110865
add esp, 0xc
mov bh, bh
movzx ecx, byte [esp + 0x12]
mov dword [esp + 0x44], ecx
push eax
pop eax
movzx edx, byte [esp + 0x11]
mov dword [esp + 0x6c], edx
mov dh, dh
mov eax, dword [esp + 0x10]
and eax, 0xff
mov dword [esp + 0x68], eax
mov bh, bh
mov al, al
mov ebx, ebx
push edx
pop edx
nop
mov ch, ch
mov eax, eax
push eax
pop eax
mov eax, eax
mov bh, bh
push ecx
pop ecx
mov bh, bh
mov ch, ch
mov esi, dword [esp + 0x24]
mov eax, dword [esi]
mov dword [esp + 0x50], eax
mov al, al
mov edi, dword [esp + 0x7c]
mov ecx, dword [esi + edi*4 - 4]
xchg ebx, eax
xchg ebx, eax
mov ebp, dword [esp + 0x80]
lea eax, [ebp - 1]
imul eax, dword [esp + 0x34]
mov edx, dword [eax + esi]
push ecx
pop ecx
lea eax, [eax + edi*4]
mov eax, dword [eax + esi - 4]
nop
mov dword [esp + 0x58], ebx
push edx
pop edx
mov ecx, ecx
mov ebx, dword [esp + 0x50]
cmp ebx, ecx
jne 0x1007d715
cmp ecx, edx
jne 0x1007d715
cmp edx, eax
jne 0x1007d715
mov dword [esp + 0x58], 1
mov dl, dl
xor edx, edx
test ebp, ebp
jle 0x1007d617
xor eax, eax
test edi, edi
jle 0x1007d60c
mov ecx, esi
jmp 0x1007d5f0
mov dh, dh
cmp dword [ecx], ebx
jne 0x1007d602
add eax, 1
add ecx, 4
cmp eax, edi
jl 0x1007d5f0
jmp 0x1007d60c
push edx
pop edx
push edx
pop edx
mov edi, edi
cmp eax, edi
jl 0x1007d617
add esi, dword [esp + 0x34]
add edx, 1
cmp edx, ebp
jl 0x1007d5e3
xor esi, esi
test ebp, ebp
jle 0x1007d657
xor edx, edx
nop
lea eax, [edi - 1]
test eax, eax
jl 0x1007d64c
lea ecx, [edx + eax*4]
add ecx, dword [esp + 0x24]
mov edi, edi
mov ecx, ecx
cmp dword [ecx], ebx
jne 0x1007d642
sub eax, 1
sub ecx, 4
test eax, eax
jge 0x1007d630
jmp 0x1007d64c
mov esi, esi
mov dh, dh
mov esi, esi
test eax, eax
jge 0x1007d657
add edx, dword [esp + 0x34]
add esi, 1
cmp esi, ebp
jl 0x1007d620
lea esi, [ebp - 1]
test esi, esi
jl 0x1007d6b5
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 0x1007d6a3
mov ebp, dword [esp + 0x50]
mov ecx, edx
lea esp, [esp]
push edx
pop edx
cmp dword [ecx], ebp
jne 0x1007d692
add eax, 1
add ecx, 4
cmp eax, edi
jl 0x1007d680
jmp 0x1007d69c
mov ebx, ebx
mov edx, edx
mov ch, ch
cmp eax, edi
jl 0x1007d6ae
mov ebp, dword [esp + 0x80]
sub esi, 1
add edx, ebx
test esi, esi
jge 0x1007d670
jmp 0x1007d6b5
mov ebp, dword [esp + 0x80]
lea esi, [ebp - 1]
test esi, esi
jl 0x1007d715
mov ebx, dword [esp + 0x34]
mov edx, esi
imul edx, ebx
neg ebx
lea eax, [edi - 1]
test eax, eax
jl 0x1007d703
mov ebp, dword [esp + 0x50]
lea ecx, [edx + eax*4]
add ecx, dword [esp + 0x24]
lea esp, [esp]
push ecx
pop ecx
cmp dword [ecx], ebp
jne 0x1007d6f2
sub eax, 1
sub ecx, 4
test eax, eax
jge 0x1007d6e0
jmp 0x1007d6fc
mov dh, dh
mov dh, dh
mov al, al
test eax, eax
jge 0x1007d70e
mov ebp, dword [esp + 0x80]
sub esi, 1
add edx, ebx
test esi, esi
jge 0x1007d6c7
jmp 0x1007d715
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 al, al
mov eax, dword [esp + 0xb0]
xor ecx, ecx
cmp eax, ecx
jne 0x1007d9e6
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x24]
sub ecx, ebp
js 0x1007e1c0
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x28], edx
jmp 0x1007d770
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x20]
sub ecx, dword [esp + 0x7c]
mov dword [esp + 0x1c], 0
js 0x1007d9b8
mov edx, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
mov bh, bh
mov ecx, ecx
xor eax, eax
mov dword [esp + 0x14], eax
push ecx
pop ecx
mov ebp, dword [esp + 0x74]
nop
cmp dword [esp + 0x80], eax
mov dword [esp + 0x40], eax
jle 0x1007d85b
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x30], eax
nop
mov ebp, ebp
xor esi, esi
cmp dword [esp + 0x7c], esi
jle 0x1007d824
mov edi, dword [esp + 0x30]
mov edi, edi
sub ebp, 1
push edx
pop edx
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.100527c0
add esp, 0x14
test eax, eax
je 0x1007d806
add dword [esp + 0x14], 1
mov al, al
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge 0x1007d869
add ecx, ebp
cmp ecx, eax
jl 0x1007d824
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x7c]
jl 0x1007d7d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jge 0x1007d869
lea edx, [eax + ebp]
cmp edx, ecx
jl 0x1007d85b
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 0x1007d7c0
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x14], edx
jl 0x1007d995
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 edi, edi
push ecx
pop ecx
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 ecx, ecx
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.1010fdb0
add esp, 0x18
mov cl, cl
mov esi, dword [esp + 0x70]
cmp dword [esi + 0x14], 0
jbe 0x1007d96e
push 1
push 0x10179578
mov ecx, esi
call fcn.1000a090
mov cl, cl
lea eax, [esp + 0xb4]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007d978
sub eax, edx
push eax
lea edx, [esp + 0xb8]
push edx
mov ecx, esi
call fcn.1000a090
mov dh, dh
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x7c]
add dword [esp + 0x2c], 4
add eax, 1
cmp eax, edx
mov dword [esp + 0x1c], eax
jle 0x1007d791
mov ecx, dword [esp + 0x3c]
add dword [esp + 0x28], ecx
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov ecx, dword [edx + 0x24]
sub ecx, dword [esp + 0x80]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x20], eax
jle 0x1007d770
jmp 0x1007e1c0
cmp eax, 1
jne 0x1007dc88
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x24]
sub eax, ebp
mov dword [esp + 0x20], eax
js 0x1007e1c0
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
lea esp, [esp]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x20]
sub ecx, dword [esp + 0x7c]
mov dword [esp + 0x1c], 0
js 0x1007dc68
mov edx, dword [esp + 0x30]
mov dword [esp + 0x2c], edx
mov bl, bl
xchg ebx, eax
xchg ebx, eax
xor eax, eax
mov dword [esp + 0x14], eax
mov edi, edi
mov ebp, dword [esp + 0x74]
mov bl, bl
cmp dword [esp + 0x80], eax
mov dword [esp + 0x48], eax
jle 0x1007db0b
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov bl, bl
xor esi, esi
cmp dword [esp + 0x7c], esi
jle 0x1007dad4
mov edi, dword [esp + 0x28]
mov edi, edi
sub ebp, 1
mov ah, ah
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.100527c0
add esp, 0x14
test eax, eax
je 0x1007dab6
add dword [esp + 0x14], 1
mov edi, edi
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge 0x1007db19
add ecx, ebp
cmp ecx, eax
jl 0x1007dad4
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x7c]
jl 0x1007da80
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jge 0x1007db19
lea edx, [eax + ebp]
cmp edx, ecx
jl 0x1007db0b
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 0x1007da70
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x14], edx
jl 0x1007dc45
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 edi, edi
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.1010fdb0
add esp, 0x18
mov ch, ch
mov esi, dword [esp + 0x70]
cmp dword [esi + 0x14], 0
jbe 0x1007dc1e
push 1
push 0x10179578
mov ecx, esi
call fcn.1000a090
mov dl, dl
lea eax, [esp + 0xb4]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007dc28
sub eax, edx
push eax
lea edx, [esp + 0xb8]
push edx
mov ecx, esi
call fcn.1000a090
mov cl, cl
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x7c]
add dword [esp + 0x2c], 4
add eax, 1
cmp eax, edx
mov dword [esp + 0x1c], eax
jle 0x1007da41
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 0x1007da20
jmp 0x1007e1c0
cmp eax, 2
jne 0x1007df23
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x24]
sub eax, ebp
mov dword [esp + 0x20], ecx
js 0x1007e1c0
mov dword [esp + 0x30], 0
lea esp, [esp]
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x20]
sub eax, dword [esp + 0x7c]
mov dword [esp + 0x1c], eax
js 0x1007def5
mov edx, dword [esp + 0x30]
lea eax, [edx + eax*4]
add eax, dword [esp + 0x5c]
mov dword [esp + 0x2c], eax
mov al, al
push eax
pop eax
xor eax, eax
mov dword [esp + 0x14], eax
mov esi, esi
mov ebp, dword [esp + 0x74]
push ebx
pop ebx
cmp dword [esp + 0x80], eax
mov dword [esp + 0x48], eax
jle 0x1007dd9c
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 0x1007dd65
mov edi, dword [esp + 0x28]
sub ebp, 1
mov eax, 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.100527c0
add esp, 0x14
test eax, eax
je 0x1007dd47
add dword [esp + 0x14], 1
mov dh, dh
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge 0x1007ddaa
add ecx, ebp
cmp ecx, eax
jl 0x1007dd65
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x7c]
jl 0x1007dd11
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jge 0x1007ddaa
lea edx, [eax + ebp]
cmp edx, ecx
jl 0x1007dd9c
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 0x1007dd03
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x14], edx
jl 0x1007dedd
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
mov edi, edi
push eax
pop eax
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 esi, esi
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.1010fdb0
add esp, 0x18
mov esi, esi
mov esi, dword [esp + 0x70]
cmp dword [esi + 0x14], 0
jbe 0x1007deaf
push 1
push 0x10179578
mov ecx, esi
call fcn.1000a090
mov ch, ch
lea eax, [esp + 0xb4]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007dec0
sub eax, edx
push eax
lea edx, [esp + 0xb8]
push edx
mov ecx, esi
call fcn.1000a090
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 0x1007dcd4
mov ecx, dword [esp + 0x3c]
add dword [esp + 0x30], ecx
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov ecx, dword [edx + 0x24]
sub ecx, dword [esp + 0x80]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x20], eax
jle 0x1007dcb0
jmp 0x1007e1c0
cmp eax, 3
jne 0x1007e1c0
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x24]
sub eax, dword [esp + 0x80]
mov dword [esp + 0x20], eax
js 0x1007e1c0
mov ecx, dword [esp + 0x3c]
imul eax, ecx
mov dword [esp + 0x30], eax
mov eax, ecx
neg eax
mov dword [esp + 0x40], eax
jmp 0x1007df60
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x20]
sub eax, dword [esp + 0x7c]
mov dword [esp + 0x1c], eax
js 0x1007e1a5
mov ecx, dword [esp + 0x30]
mov edx, eax
lea eax, [ecx + edx*4]
add eax, dword [esp + 0x5c]
mov dword [esp + 0x2c], eax
nop
push ebx
pop ebx
xor eax, eax
mov dword [esp + 0x14], eax
mov ah, ah
mov ebp, dword [esp + 0x74]
mov edx, edx
cmp dword [esp + 0x80], eax
mov dword [esp + 0x48], eax
jle 0x1007e04d
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov bh, bh
xor esi, esi
cmp dword [esp + 0x7c], esi
jle 0x1007e016
mov edi, dword [esp + 0x28]
sub ebp, 1
mov ecx, 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.100527c0
add esp, 0x14
test eax, eax
je 0x1007dff8
add dword [esp + 0x14], 1
mov al, al
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge 0x1007e05d
add ecx, ebp
cmp ecx, eax
jl 0x1007e016
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x7c]
jl 0x1007dfc2
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jge 0x1007e05d
lea edx, [eax + ebp]
cmp edx, ecx
jl 0x1007e055
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 0x1007dfb4
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
cmp eax, ecx
jl 0x1007e18d
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 ebp, ebp
mov edx, edx
mov eax, 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
push edx
pop edx
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.1010fdb0
add esp, 0x18
mov ecx, ecx
mov esi, dword [esp + 0x70]
cmp dword [esi + 0x14], 0
jbe 0x1007e162
push 1
push 0x10179578
mov ecx, esi
call fcn.1000a090
mov edi, edi
lea eax, [esp + 0xb4]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007e170
sub eax, edx
push eax
lea ecx, [esp + 0xb8]
push ecx
mov ecx, esi
call fcn.1000a090
mov al, al
mov eax, dword [esp + 0x1c]
sub dword [esp + 0x2c], 4
sub eax, 1
test eax, eax
mov dword [esp + 0x1c], eax
jge 0x1007df86
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 0x1007df60
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x10], 0
jne 0x1007e1da
mov ecx, dword [esp + 0xa0]
cmp dword [ecx + 0x32f4], 0
jne 0x1007e1ec
mov edx, dword [esp + 0xac]
push edx
call fcn.1010dffc
add esp, 4
mov ebx, ebx
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x18], 0
je 0x1007e205
mov ecx, dword [esp + 0x24]
push ecx
call fcn.1010dffc
add esp, 4
push ecx
pop ecx
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0xa0]
mov eax, dword [esp + 0x18]
add esi, 1
cmp esi, dword [eax + 0xc]
mov dword [esp + 0x4c], esi
jle 0x1007d330
pop edi
mov ecx, dword [esp + 0x100]
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1010e4d7
add esp, 0xf8
ret
cmp dword [ebp + 0x10], 0
jne 0x1007e24c
cmp dword [ebx + 0x32f4], 0
jne 0x1007e210
mov edx, dword [esp + 0x24]
push edx
call fcn.1010dffc
add esp, 4
push ecx
pop ecx
jmp 0x1007e210
jmp fcn.100fcfa6