Function at 0x401ec0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xac
lea eax, [esp + 0x68]
mov dword [esp + 0x68], 0x41414141
mov dword [esp + 0x6c], 0x41414141
mov dword [esp + 0x70], 0x41414141
mov dword [esp + 0x74], 0x41414141
mov dword [esp + 0x78], 0x41414141
mov dword [esp + 0x7c], 0x41414141
mov dword [esp + 0x80], 0x41414141
mov dword [esp + 0x84], 0x41414141
mov dword [esp + 0x88], 0x4343472d
mov dword [esp + 0x8c], 0x4342494c
mov dword [esp + 0x90], 0x494d4759
mov dword [esp + 0x94], 0x452d474e
mov dword [esp + 0x98], 0x44542d48
mov dword [esp + 0x9c], 0x472d314d
mov dword [esp + 0xa0], 0x2d524854
mov dword [esp + 0xa4], 0x474e494d
mov dword [esp + 0xa8], 0x323357
mov dword [esp], eax
call sym._FindAtomA_4
sub esp, 4
test ax, ax
mov edx, eax
jne 0x402106
mov dword [esp], 0x64
lea ebx, [esp + 0x24]
call sym._malloc
mov ecx, 0x19
lea edx, [esp + 0x43]
lea esi, [esp + 0x23]
mov ebp, eax
mov dword [esp + 0x18], eax
mov edi, ebp
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x18]
mov cl, 1
mov dword [eax], 0x64
mov dword [eax + 0x2c], 0xffffffff
mov dword [eax + 0x28], 0
mov dword [eax + 0x3c], 0xffffffff
mov dword [eax + 0x44], 0xffffffff
mov dword [eax + 0x40], 0
mov dword [eax + 0x54], 0
mov dword [eax + 0x58], 0
mov dword [eax + 0x5c], sym._abort
mov dword [eax + 0x60], dbg.cmshared_default_unexpected
jmp 0x402009
mov eax, dword [esp + 0x18]
add ecx, ecx
and eax, ecx
cmp eax, 1
sbb eax, eax
and eax, 0x20
add eax, 0x41
mov byte [edx], al
sub edx, 1
cmp edx, esi
jne 0x402003
mov dword [esp + 0x44], 0x4343472d
mov dword [esp + 0x48], 0x4342494c
mov dword [esp + 0x4c], 0x494d4759
mov dword [esp + 0x50], 0x452d474e
mov dword [esp + 0x54], 0x44542d48
mov dword [esp + 0x58], 0x472d314d
mov dword [esp + 0x5c], 0x2d524854
mov dword [esp + 0x60], 0x474e494d
mov dword [esp + 0x64], 0x323357
mov dword [esp], ebx
call sym._AddAtomA_4
sub esp, 4
test ax, ax
je 0x402197
movzx eax, ax
mov dword [esp + 8], 0x44
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._GetAtomNameA_12
sub esp, 0xc
test eax, eax
je 0x40217b
lea edx, [esp + 0x43]
xor ebx, ebx
mov ecx, 1
jmp 0x4020b2
add ecx, ecx
xor eax, eax
cmp byte [edx], 0x41
setne al
sub edx, 1
sub eax, 1
and eax, ecx
or ebx, eax
cmp edx, esi
jne 0x4020b0
cmp dword [ebx], 0x64
jne 0x40215f
cmp dword [esp + 0x18], ebx
je 0x4020e5
mov edi, dword [esp + 0x18]
mov ebp, ebx
mov dword [esp], edi
call sym._free
lea eax, [ebp + 0x5c]
mov dword [0x405048], eax
lea eax, [ebp + 0x60]
mov dword [0x405044], ebp
mov dword [0x40504c], eax
add esp, 0xac
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [esp + 0x24]
mov dword [esp + 4], eax
movzx eax, dx
mov dword [esp + 8], 0x44
mov dword [esp], eax
call sym._GetAtomNameA_12
sub esp, 0xc
test eax, eax
je 0x40217b
lea edx, [esp + 0x43]
xor ebx, ebx
mov ecx, 1
lea esi, [esp + 0x23]
jmp 0x402142
add ecx, ecx
xor eax, eax
cmp byte [edx], 0x41
setne al
sub edx, 1
sub eax, 1
and eax, ecx
or ebx, eax
cmp edx, esi
jne 0x402140
cmp dword [ebx], 0x64
mov ebp, ebx
je 0x4020e5
mov dword [esp + 8], 0x62
mov dword [esp + 4], str..._.._.._src_libgcc_.._gcc_config_i386_cygming_shared_data.c
mov dword [esp], str.ret__size__sizeof___cygming_shared____GCClib_shared_data_size_mismatch_
call sym.__assert
mov dword [esp + 8], 0x5c
mov dword [esp + 4], str..._.._.._src_libgcc_.._gcc_config_i386_cygming_shared_data.c
mov dword [esp], str.0___Couldnt_retrieve_name_of_GCClib_shared_data_atom_
call sym.__assert
mov dword [esp + 8], 0x97
mov dword [esp + 4], str..._.._.._src_libgcc_.._gcc_config_i386_cygming_shared_data.c
mov dword [esp], str.0___Couldnt_add_GCClib_shared_data_atom_
call sym.__assert
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop