Function at 0x40ff20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x7c
mov eax, dword [0x426e5c]
push ebx
push ebp
push esi
push edi
push eax
call fcn.00417c55
mov ebp, dword [eax]
mov edi, dword [0x42c1c8]
mov eax, 4
mov dword [esp + 0x68], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
xor ecx, ecx
mov eax, 8
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov eax, dword [0x42c1cc]
mov esi, eax
add eax, 1
push eax
push ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ecx
mov ecx, dword [0x4203f4]
push ecx
mov dword [esp + 0x64], 1
mov dword [esp + 0x6c], 2
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x24], ebx
je 0x41062f
push esi
push edi
push ebx
call sub.MSVCRT.dll_strncpy
add esp, 0xc
mov byte [ebx + esi], 0
call fcn.00408530
test eax, eax
je 0x410263
cmp dword [0x42c1c0], 0xe
je 0x410128
mov ebp, dword [ebp + 0x30]
test ebp, ebp
jle 0x410027
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x27]
push edx
lea eax, [esp + 0x4c]
push eax
add ebp, 0xffffffff
lea ecx, [esp + 0x44]
push ebp
push ecx
mov eax, ebx
call fcn.00405090
add esp, 0x24
test eax, eax
jne 0x410053
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x3c]
push ecx
mov eax, ebx
call fcn.00404c40
add esp, 0x18
test eax, eax
je 0x410071
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
push 0
push edx
mov edx, dword [esp + 0x1c]
push eax
push ecx
push edx
jmp 0x4105b6
mov edx, dword [str.Variable_not_found:_]
mov eax, dword [0x41d914]
mov ecx, dword [0x41d918]
mov dword [0x420430], edx
mov edx, dword [0x41d91c]
mov dword [0x420434], eax
mov eax, dword [0x41d920]
mov dword [0x42043c], edx
mov edx, dword [0x42c1cc]
mov dword [0x420440], eax
mov eax, dword [0x42c1c8]
push edx
mov dword [0x420438], ecx
mov cx, word [0x41d924]
push eax
push 0x420430
mov word [0x420444], cx
call sub.MSVCRT.dll_strncat
mov eax, 0x420430
add esp, 0xc
add eax, 0xffffffff
lea esp, [esp]
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x4100e0
mov cx, word [0x41c10c]
mov dl, byte [0x41c10e]
mov word [eax], cx
mov byte [eax + 2], dl
mov dword [0x42bc88], 0x420430
mov eax, dword [0x4203f4]
push ebx
push 0
push eax
mov dword [0x4205cc], 1
call dword [sym.imp.KERNEL32.dll_HeapFree]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret
xor edi, edi
xor esi, esi
lea esp, [esp]
mov eax, dword [esi + 0x41b058]
push eax
push ebx
call sub.MSVCRT.dll__stricmp
add esp, 8
test eax, eax
je 0x41027b
add esi, 0x2c
add edi, 1
cmp esi, 0xa24
jb 0x410130
mov eax, dword [ebp + 0x30]
test eax, eax
jle 0x4101d3
add eax, 0xffffffff
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x26]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x2f]
push ecx
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x4c]
push eax
mov eax, ebx
call fcn.00405650
add esp, 0x28
test eax, eax
jne 0x4102d6
mov ecx, dword [ebp + 0x30]
sub ecx, 1
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x23]
push edx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x40]
push ecx
mov eax, ebx
call fcn.00405b50
add esp, 0x1c
test eax, eax
jne 0x410238
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x22]
push eax
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x44]
push eax
mov eax, ebx
call fcn.00405330
add esp, 0x20
test eax, eax
jne 0x4102d6
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x38]
push edx
mov eax, ebx
call fcn.004058b0
add esp, 0x14
test eax, eax
je 0x4105e9
call fcn.00408530
cmp eax, 0xf
je 0x410584
cmp dword [0x4205cc], 0
jne 0x410263
mov dword [0x42bc88], str.Missing_closing___after_LinkedList_name.
mov dword [0x4205cc], 1
mov edx, dword [0x4203f4]
push ebx
push 0
push edx
call dword [sym.imp.KERNEL32.dll_HeapFree]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret
cmp dword [esp + 0x94], 0
je 0x410294
mov dword [0x42bc88], str.Cannot_get_the_address_of_a_library_function.
jmp 0x410107
mov eax, dword [esp + 0x90]
imul edi, edi, 0x2c
add edi, 0x41b058
push edi
call fcn.0040ebb0
add esp, 4
cmp dword [0x4205cc], 0
jne 0x410404
cmp dword [0x42c1c0], 0x13
jne 0x410404
mov dword [0x42bc88], str.This_Variable_does_not_have_a_Structure.
jmp 0x410107
cmp dword [esp + 0x14], 0
jne 0x410308
mov eax, dword [0x4203f4]
push ebx
push 0
push eax
mov dword [0x42bc88], 0x41d850
mov dword [0x4205cc], 1
call dword [sym.imp.KERNEL32.dll_HeapFree]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret
mov eax, dword [esp + 0x20]
test al, al
js 0x41035a
mov cl, al
and cl, 0x3f
cmp cl, 7
jne 0x41032d
mov eax, dword [esp + 0x1c]
push eax
call fcn.00403a40
add esp, 4
mov dword [esp + 0x28], eax
jmp 0x410362
cmp cl, 0xa
jne 0x41033c
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x28], ecx
jmp 0x410362
cmp cl, 0xb
jne 0x41034d
mov edx, dword [0x437db0]
mov dword [esp + 0x28], edx
jmp 0x410362
and eax, 0x3f
mov eax, dword [esp + eax*4 + 0x54]
mov dword [esp + 0x28], eax
jmp 0x410362
mov dword [esp + 0x28], 4
movsx eax, byte [esp + 0x12]
xor esi, esi
test eax, eax
jle 0x410540
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
sub ecx, eax
mov ebx, eax
mov dword [esp + 0x34], ecx
call fcn.00408530
mov edi, 1
cmp eax, edi
je 0x4104bb
cmp dword [0x42c1c0], 0xf
jne 0x4103a4
test esi, esi
je 0x4104ca
cmp dword [0x4205cc], 0
jne 0x410400
lea ecx, [esp + 0x3c]
push 0
push ecx
mov dword [esp + 0x44], 2
call fcn.00410890
add esp, 8
cmp dword [0x4205cc], 0
jne 0x410400
mov eax, dword [esp + 0x3c]
cmp eax, 0x17
jne 0x41050f
mov eax, dword [0x42c1c0]
cmp eax, 0xf
jne 0x41041b
movsx ecx, byte [esp + 0x12]
add ecx, 0xffffffff
cmp esi, ecx
jge 0x410434
mov dword [0x42bc88], str.Too_few_dimensions_for_the_Array.
mov dword [0x4205cc], edi
mov ebx, dword [esp + 0x24]
mov eax, dword [0x4203f4]
push ebx
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret
cmp eax, 0x12
jne 0x410561
movsx ecx, byte [esp + 0x12]
add ecx, 0xffffffff
cmp esi, ecx
je 0x410552
mov ebp, dword [esp + 0x48]
test ebp, ebp
jl 0x410575
mov edi, dword [esp + 0x44]
jg 0x41044e
test edi, edi
jb 0x410570
mov edx, dword [esp + 0x34]
mov eax, dword [edx + ebx]
cdq
cmp ebp, edx
jg 0x410570
jl 0x410468
cmp edi, eax
jae 0x410570
cmp esi, ecx
jge 0x410477
mov eax, dword [ebx]
imul eax, edi
add dword [esp + 0x2c], eax
jmp 0x41047b
add dword [esp + 0x2c], edi
movsx eax, byte [esp + 0x12]
add esi, 1
add ebx, 4
cmp esi, eax
jl 0x410381
mov ebx, dword [esp + 0x24]
call fcn.00408530
test eax, eax
je 0x4102ad
mov eax, dword [esp + 0x94]
push 0
push eax
mov eax, dword [esp + 0x30]
imul eax, dword [esp + 0x34]
add eax, dword [esp + 0x1c]
jmp 0x4105ab
mov dword [0x42bc88], str.Missing_closing___in_Array_dimensions.
jmp 0x4103fa
cmp dword [esp + 0x94], 0
je 0x410500
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x14]
cdq
mov dword [ecx], 0x17
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], 0
call fcn.00408530
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret
mov dword [0x42bc88], str.The_dimension_of_the_Array_must_be_at_least_1.
jmp 0x4103fa
cmp eax, 0x19
mov dword [0x42bc88], 0x41c290
mov dword [0x4205cc], edi
jne 0x410400
mov ecx, dword [esp + 0x44]
mov edx, dword [0x4203f4]
push ecx
push 0
push edx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ebx, dword [esp + 0x24]
cmp dword [0x4205cc], 0
jne 0x410404
jmp 0x410492
mov dword [0x42bc88], str.Too_many_dimensions_for_the_Array.
jmp 0x4103fa
mov dword [0x42bc88], str.Missing___after_Array_dimensions.
jmp 0x4103fa
mov edi, 1
mov dword [0x42bc88], 0x41bebc
jmp 0x4103fa
call fcn.00408530
test eax, eax
je 0x4102ad
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
test eax, eax
je 0x4105d0
mov edx, dword [esp + 0x94]
push 1
push edx
add eax, 8
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
push ecx
push edx
push eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xa4]
push eax
push ecx
call fcn.00409390
add esp, 0x1c
jmp 0x4102ad
mov dword [0x42bc88], str.The_LinkedList_has_no_current_element.
mov dword [0x4205cc], 1
jmp 0x410404
mov edx, dword [0x42c1cc]
mov eax, dword [0x42c1c8]
push edx
push eax
mov ecx, 9
mov esi, str.Array_____LinkedList___not_found:_
mov edi, 0x420430
push 0x420430
rep movsd dword es:[edi], dword [esi]
call sub.MSVCRT.dll_strncat
mov eax, 0x420430
add esp, 0xc
add eax, 0xffffffff
lea esp, [esp]
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x410620
jmp 0x4100ea
pop edi
pop esi
pop ebp
mov dword [0x42bc88], 0x41c124
mov dword [0x4205cc], 1
pop ebx
add esp, 0x7c
ret