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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1e4
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x1e0], eax
push ebx
push esi
mov esi, dword [ebp + 0xc]
xor eax, eax
push edi
xorps xmm0, xmm0
mov dword [esp + 0x18], esi
push 4
or edi, 0xffffffff
mov dword [esp + 0x40], 0
push 1
mov dword [esp + 0x40], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], edi
movlpd qword [esp + 0x18], xmm0
call fcn.00406300
mov dword [esp + 0x1c], eax
lea ebx, [edi + 2]
mov eax, dword [ebp + 8]
add esp, 8
cmp eax, ebx
jle 0x401991
mov esi, dword [esi + ebx*4]
mov ecx, str.__version
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401410
test dl, dl
je 0x40140c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401410
add eax, 2
add ecx, 2
test dl, dl
jne 0x4013f0
xor eax, eax
jmp 0x401415
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401430
push 1
push 2
push eax
push str.ntldd__d._d._d_nCopyright__C__2010_2015_LRN_nThis_is_free_software__see_the_source_for_conditions._There_is_NO_nwarranty__not_event_for_MERCHANTABILITY_or_FITNESS_FOR_A_PARTICULAR_PURPOSE._nWritten_by_LRN.
call fcn.00401040
add esp, 0x10
jmp 0x4018dc
mov ecx, 0x41ce10
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401457
test dl, dl
je 0x401453
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401457
add eax, 2
add ecx, 2
test dl, dl
jne 0x401437
xor eax, eax
jmp 0x40145c
sbb eax, eax
or eax, 1
test eax, eax
je 0x4018d4
mov ecx, str.__verbose
mov eax, esi
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401490
test dl, dl
je 0x40148c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401490
add eax, 2
add ecx, 2
test dl, dl
jne 0x401470
xor eax, eax
jmp 0x401495
sbb eax, eax
or eax, 1
test eax, eax
je 0x4018d4
mov ecx, 0x41ce20
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4014c4
test dl, dl
je 0x4014c0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4014c4
add eax, 2
add ecx, 2
test dl, dl
jne 0x4014a4
xor eax, eax
jmp 0x4014c9
sbb eax, eax
or eax, 1
test eax, eax
je 0x4018ca
mov ecx, str.__unused
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4014f8
test dl, dl
je 0x4014f4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4014f8
add eax, 2
add ecx, 2
test dl, dl
jne 0x4014d8
xor eax, eax
jmp 0x4014fd
sbb eax, eax
or eax, 1
test eax, eax
je 0x4018ca
mov ecx, 0x41ce30
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401530
test dl, dl
je 0x40152c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401530
add eax, 2
add ecx, 2
test dl, dl
jne 0x401510
xor eax, eax
jmp 0x401535
sbb eax, eax
or eax, 1
test eax, eax
je 0x4018c0
mov ecx, str.__data_relocs
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401564
test dl, dl
je 0x401560
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401564
add eax, 2
add ecx, 2
test dl, dl
jne 0x401544
xor eax, eax
jmp 0x401569
sbb eax, eax
or eax, 1
test eax, eax
je 0x4018c0
mov ecx, 0x41ce44
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401598
test dl, dl
je 0x401594
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401598
add eax, 2
add ecx, 2
test dl, dl
jne 0x401578
xor eax, eax
jmp 0x40159d
sbb eax, eax
or eax, 1
test eax, eax
je 0x4018b6
mov ecx, str.__function_relocs
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4015d0
test dl, dl
je 0x4015cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4015d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4015b0
xor eax, eax
jmp 0x4015d5
sbb eax, eax
or eax, 1
test eax, eax
je 0x4018b6
mov ecx, 0x41ce5c
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401604
test dl, dl
je 0x401600
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401604
add eax, 2
add ecx, 2
test dl, dl
jne 0x4015e4
xor eax, eax
jmp 0x401609
sbb eax, eax
or eax, 1
test eax, eax
je 0x4018ac
mov ecx, str.__recursive
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401638
test dl, dl
je 0x401634
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401638
add eax, 2
add ecx, 2
test dl, dl
jne 0x401618
xor eax, eax
jmp 0x40163d
sbb eax, eax
or eax, 1
test eax, eax
je 0x4018ac
mov ecx, 0x41ce6c
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401670
test dl, dl
je 0x40166c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401670
add eax, 2
add ecx, 2
test dl, dl
jne 0x401650
xor eax, eax
jmp 0x401675
sbb eax, eax
or eax, 1
test eax, eax
je 0x4018a2
mov ecx, str.__list_exports
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4016a4
test dl, dl
je 0x4016a0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4016a4
add eax, 2
add ecx, 2
test dl, dl
jne 0x401684
xor eax, eax
jmp 0x4016a9
sbb eax, eax
or eax, 1
test eax, eax
je 0x4018a2
mov ecx, 0x41ce80
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4016d8
test dl, dl
je 0x4016d4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4016d8
add eax, 2
add ecx, 2
test dl, dl
jne 0x4016b8
xor eax, eax
jmp 0x4016dd
sbb eax, eax
or eax, 1
test eax, eax
je 0x401898
mov ecx, str.__list_imports
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401710
test dl, dl
je 0x40170c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401710
add eax, 2
add ecx, 2
test dl, dl
jne 0x4016f0
xor eax, eax
jmp 0x401715
sbb eax, eax
or eax, 1
test eax, eax
je 0x401898
mov ecx, 0x41ce94
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401744
test dl, dl
je 0x401740
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401744
add eax, 2
add ecx, 2
test dl, dl
jne 0x401724
xor eax, eax
jmp 0x401749
sbb eax, eax
or eax, 1
test eax, eax
je 0x401781
mov ecx, str.__search_dir
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401774
test dl, dl
je 0x401770
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401774
add eax, 2
add ecx, 2
test dl, dl
jne 0x401754
xor eax, eax
jmp 0x401779
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40182a
mov eax, dword [ebp + 8]
dec eax
cmp ebx, eax
jge 0x40182a
mov eax, dword [esp + 0x18]
mov esi, dword [eax + ebx*4 + 4]
cmp byte [esi], 0x22
jne 0x40179b
inc esi
push 0x3b
push esi
call fcn.00403d80
mov edi, eax
add esp, 8
test edi, edi
je 0x4017e3
mov byte [edi], 0
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
shl eax, 2
push eax
push dword [esp + 0x18]
call fcn.00406460
push esi
mov dword [esp + 0x20], eax
call fcn.0040646b
mov edx, dword [esp + 0x20]
lea esi, [edi + 1]
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov dword [edx + ecx*4 - 4], eax
jmp 0x40179b
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
shl eax, 2
push eax
push dword [esp + 0x18]
call fcn.00406460
push 0x22
push esi
mov dword [esp + 0x24], eax
call fcn.00403eb0
add esp, 0x10
push esi
test eax, eax
je 0x401810
mov byte [eax], 0
call fcn.0040646b
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, dword [esp + 0x14]
inc ebx
mov dword [edx + ecx*4 - 4], eax
jmp 0x4018dc
mov ecx, str.__help
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401851
test dl, dl
je 0x40184d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401851
add eax, 2
add ecx, 2
test dl, dl
jne 0x401831
xor eax, eax
jmp 0x401856
sbb eax, eax
or eax, 1
test eax, eax
je 0x401964
mov ecx, 0x41ceb0
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401885
test dl, dl
je 0x401881
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401885
add eax, 2
add ecx, 2
test dl, dl
jne 0x401865
xor eax, eax
jmp 0x40188a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4018f1
mov dword [esp + 0x1c], 1
jmp 0x4018dc
mov dword [esp + 0x30], 1
jmp 0x4018dc
mov dword [esp + 0x34], 1
jmp 0x4018dc
mov dword [esp + 0x24], 1
jmp 0x4018dc
mov dword [esp + 0x28], 1
jmp 0x4018dc
mov dword [esp + 0x2c], 1
jmp 0x4018dc
mov dword [esp + 0x38], 1
jmp 0x4018dc
mov dword [esp + 0x3c], 1
mov eax, dword [ebp + 8]
inc ebx
cmp ebx, eax
jge 0x40198e
mov esi, dword [esp + 0x18]
jmp 0x4013e4
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4018f6
sub ecx, edx
cmp ecx, 1
jbe 0x401959
cmp byte [esi], 0x2d
jne 0x401959
cmp byte [esi + 1], 0x2d
je 0x401922
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401914
sub ecx, edx
cmp ecx, 2
jne 0x401959
cmp dword [esp + 0x1c], 0
jne 0x401959
push esi
push str.Unrecognized_option___s_nTry__ntldd___help_for_more_information_n
push 2
call fcn.004063d3
add esp, 4
push eax
call fcn.00401010
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.004030fd
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov edi, ebx
mov dword [esp + 0x20], edi
jmp 0x401991
mov eax, dword [esp + 0x18]
push dword [eax]
push str.Usage:__s__OPTION_..._FILE..._nOPTIONS:_n__version_________Displays_version_n_v____verbose_________Does_not_work_n_u____unused__________Does_not_work_n_d____data_relocs_____Does_not_work_n_r____function_relocs_Does_not_work_n_R____recursive_______Lists_dependencies_recursively__n________________________eliminating_duplicates_n_D____search_dir______Additional_search_directory_n__list_exports________Lists_exports_of_a_module__single_file_only__n__list_imports________Lists_imports_of_modules_n__help________________Displays_this_message_n_nUse____option_to_pass_filenames_that_start_with_____or____nFor_bug_reporting_instructions__please_see:_n_somewhere_.
call fcn.00401040
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.004030fd
mov esp, ebp
pop ebp
ret
or edi, 0xffffffff
test edi, edi
jle 0x401cfb
mov ebx, eax
mov eax, dword [esp + 0x10]
sub ebx, edi
add eax, ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x10], eax
shl eax, 2
push eax
push dword [esp + 0x18]
call fcn.00406460
add esp, 8
mov dword [esp + 0x14], eax
xor esi, esi
test ebx, ebx
jle 0x401a5d
mov eax, dword [esp + 0x18]
lea edi, [eax + edi*4]
push 0x104
lea eax, [esp + 0xe4]
push 0
push eax
call fcn.004043c0
add esp, 0xc
lea eax, [esp + 0xe0]
push dword [edi]
push 0x104
push eax
call fcn.00408342
add esp, 0xc
lea eax, [esp + 0xe0]
push 0x5c
push eax
call fcn.00403eb0
add esp, 8
test eax, eax
jne 0x401a2a
lea eax, [esp + 0xe0]
push 0x2f
push eax
call fcn.00403eb0
add esp, 8
test eax, eax
je 0x401a2e
mov byte [eax + 1], 0
lea eax, [esp + 0xe0]
push eax
call fcn.0040646b
mov edx, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x14]
sub edx, ebx
add edx, esi
add edi, 4
inc esi
mov dword [ecx + edx*4], eax
cmp esi, ebx
jl 0x4019d0
mov edi, dword [esp + 0x20]
push 0x58
lea eax, [esp + 0x54]
push 0
push eax
call fcn.004043c0
mov eax, dword [ebp + 8]
add esp, 0xc
mov dword [esp + 0x1c], edi
cmp dword [esp + 0x20], eax
jge 0x401be5
nop
push 0x58
call fcn.00408540
add esp, 4
mov esi, eax
mov dword [esp + 0x48], esi
push 0x58
push 0
push esi
call fcn.004043c0
mov eax, dword [esp + 0x24]
add esp, 0xc
push dword [eax + edi*4]
call fcn.0040646b
mov dword [esi + 8], eax
add esp, 4
mov ebx, dword [esp + 0x74]
cmp dword [esp + 0x7c], ebx
jb 0x401b19
mov edi, dword [esp + 0x70]
ja 0x401ac5
cmp dword [esp + 0x78], edi
jb 0x401b15
test ebx, ebx
jne 0x401ad2
test edi, edi
jne 0x401ad2
lea edi, [ebx + 0x40]
jmp 0x401ad8
shld ebx, edi, 1
add edi, edi
lea eax, [edi*4]
push eax
push dword [esp + 0x6c]
call fcn.00406460
mov edx, dword [esp + 0x78]
mov ecx, edi
sub ecx, edx
mov esi, eax
shl ecx, 2
push ecx
push 0
lea ecx, [esi + edx*4]
push ecx
call fcn.004043c0
mov dword [esp + 0x7c], esi
add esp, 0x14
mov esi, dword [esp + 0x48]
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], ebx
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x68]
push esi
mov dword [ecx + eax*4], esi
lea ecx, [esp + 0xb0]
mov eax, dword [esp + 0x30]
add dword [esp + 0x7c], 1
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x28]
adc dword [esp + 0x80], 0
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xb4], eax
lea eax, [esp + 0x50]
mov dword [esp + 0xc0], eax
lea eax, [esp + 0xd4]
mov dword [esp + 0xc4], eax
lea eax, [esp + 0xdc]
mov dword [esp + 0xc8], eax
lea eax, [esp + 0x14]
mov dword [esp + 0xd0], eax
lea eax, [esp + 0x54]
push eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x54], 0
movlpd qword [esp + 0xd8], xmm0
movlpd qword [esp + 0xe0], xmm0
mov edx, dword [eax + edi*4]
mov dword [esp + 0xd0], 0xffffffff
mov dword [esp + 0xc0], 0
call fcn.00402bb0
inc edi
add esp, 8
mov dword [esp + 0x1c], edi
cmp edi, dword [ebp + 8]
jl 0x401a80
mov ebx, dword [esp + 0x40]
cmp dword [esp + 0x7c], 0
xorps xmm0, xmm0
movlpd qword [esp + 0x40], xmm0
jb 0x401c2c
ja 0x401bfe
cmp dword [esp + 0x78], 0
jbe 0x401c2c
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x68]
sub esp, 8
mov ecx, dword [ecx + edx*4]
call fcn.00402030
add esp, 8
add edx, 1
adc esi, 0
cmp esi, dword [esp + 0x7c]
jb 0x401c06
ja 0x401c2c
cmp edx, dword [esp + 0x78]
jb 0x401c06
and dword [esp + 0x50], 0xfffffffa
mov edi, dword [esp + 0x20]
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x54], eax
cmp edi, ecx
jge 0x401cfb
lea eax, [edi + 1]
xor esi, esi
cmp eax, ecx
jge 0x401cc1
mov ebx, dword [esp + 0x3c]
nop word [eax + eax]
mov eax, dword [esp + 0x18]
push dword [eax + edi*4]
push str._s:_n
call fcn.00401040
mov eax, dword [esp + 0x70]
mov edx, ebx
push 0
push dword [esp + 0x3c]
mov ecx, 1
push dword [esp + 0x44]
push dword [esp + 0x38]
push dword [eax + esi]
push dword [esp + 0x44]
push dword [esp + 0x4c]
push dword [esp + 0x5c]
call fcn.00401080
inc edi
lea esi, [esi + 4]
add esp, 0x28
cmp edi, dword [ebp + 8]
jl 0x401c60
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.004030fd
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x68]
mov ecx, 1
mov edx, dword [esp + 0x3c]
push 0
push dword [esp + 0x34]
push dword [esp + 0x3c]
push dword [esp + 0x30]
push dword [eax + esi]
push dword [esp + 0x3c]
push dword [esp + 0x44]
push dword [esp + 0x54]
call fcn.00401080
add esp, 0x20
lea esi, [esi + 4]
sub ebx, 1
jne 0x401cc1
mov ecx, dword [esp + 0x1ec]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004030fd
mov esp, ebp
pop ebp
ret