Function at 0x41add4
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push dword [ebp + 0xc]
mov edi, dword [esi + 0x30]
imul edi, dword [esi + 0x34]
push esi
call fcn.0041a6d6
xor ebx, ebx
mov eax, ebx
mov dword [ebp - 4], eax
pop ecx
pop ecx
test edi, edi
jle 0x41ae43
mov edx, dword [esi + 0x48]
mov cl, bl
mov byte [ebp + 0xb], cl
test edx, edx
je 0x41ae0f
mov cl, byte [edx + eax]
mov byte [ebp + 0xb], cl
cmp dword [esi + 8], 4
jne 0x41ae27
cmp dword [esi + 0x40], 8
setne al
dec al
and al, 0x10
or al, 0x20
or cl, al
mov byte [ebp + 0xb], cl
push 1
lea eax, [ebp + 0xb]
push eax
push dword [ebp + 0xc]
call fcn.00403cff
mov eax, dword [ebp - 4]
add esp, 0xc
inc eax
mov dword [ebp - 4], eax
cmp eax, edi
jl 0x41adfd
mov eax, dword [esi + 8]
mov edi, 0x43d659
push 3
pop ecx
mov dword [ebp - 0x24], 0x4b4e494c
mov dword [ebp - 0x20], 2
mov word [ebp - 0x1c], 1
mov dword [ebp - 0x30], 0x544e4d43
mov dword [ebp - 0x2c], 2
mov word [ebp - 0x28], 1
mov dword [ebp - 0x48], 0x45444f4d
mov dword [ebp - 0x44], 4
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x3c], 0x455a4953
mov dword [ebp - 0x38], 4
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x10], 0x20524556
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x18], 0x20444e45
mov dword [ebp - 0x14], ebx
sub eax, ecx
je 0x41aebe
dec eax
jne 0x41aec3
mov edi, str.IS_ACG03
jmp 0x41aec3
mov edi, str.IS_ICG01
mov ecx, dword [esi + 0x24]
test ecx, ecx
jne 0x41aece
mov ecx, ebx
jmp 0x41aeda
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41aed1
sub ecx, edx
mov edx, dword [esi + 0x28]
mov dword [ebp + 8], ecx
test edx, edx
jne 0x41aee8
mov edx, ebx
jmp 0x41aef8
lea eax, [edx + 1]
mov dword [ebp - 4], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x41aeee
sub edx, dword [ebp - 4]
cmp dword [esi + 8], 4
push 3
mov dword [ebp - 4], edx
pop eax
jne 0x41af10
xor ebx, ebx
inc ebx
cmp dword [esi + 0x40], 8
cmove ebx, eax
jmp 0x41af33
cmp dword [esi + 8], eax
jne 0x41af33
cmp dword [esi + 0x40], 4
jne 0x41af20
push 7
pop ebx
jmp 0x41af33
cmp dword [esi + 0x44], ebx
push 8
pop eax
mov dword [ebp - 8], 6
cmove eax, dword [ebp - 8]
mov ebx, eax
lea eax, [ecx + 2]
mov byte [ebp - 0x1b], cl
mov dword [ebp - 0x20], eax
mov ecx, edi
lea eax, [edx + 2]
mov byte [ebp - 0x27], dl
mov dword [ebp - 0x2c], eax
mov ax, word [esi + 0x30]
mov word [ebp - 0x34], ax
lea edx, [ecx + 1]
mov ax, word [esi + 0x34]
mov dword [ebp - 0x40], ebx
mov word [ebp - 0x32], ax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41af5d
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x24]
push 0xa
push eax
sub ecx, edx
push ebx
mov dword [ebp - 0xc], ecx
call fcn.00403cff
push dword [ebp + 8]
push dword [esi + 0x24]
push ebx
call fcn.00403cff
push 0xa
lea eax, [ebp - 0x30]
push eax
push ebx
call fcn.00403cff
push dword [ebp - 4]
push dword [esi + 0x28]
push ebx
call fcn.00403cff
push 0xc
lea eax, [ebp - 0x48]
push eax
push ebx
call fcn.00403cff
push 0xc
lea eax, [ebp - 0x3c]
push eax
push ebx
call fcn.00403cff
add esp, 0x48
lea eax, [ebp - 0x10]
push 8
push eax
push ebx
call fcn.00403cff
mov ecx, edi
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41afcb
sub ecx, edx
push ecx
push edi
push ebx
call fcn.00403cff
push 8
lea eax, [ebp - 0x18]
push eax
push ebx
call fcn.00403cff
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret