Function at 0x40a291
Capabilities:
Get file system object information
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x430897
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1af7c
call fcn.0042e8a0
mov eax, dword [0x43c4b0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 0x1aedc], esi
mov byte [ebp - 0x1aec9], bl
cmp dword [esi + 4], ebx
je 0x40a2e6
cmp dword [esi + 8], ebx
je 0x40a2e6
cmp dword [esi + 0xc], ebx
jne 0x40a2f4
mov dword [esi + 0x1c], 0x80040102
xor al, al
jmp 0x40ae28
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x1af18], eax
mov eax, dword [esi]
cmp eax, ebx
je 0x40ae22
lea edx, [ebp - 0x1af08]
push edx
push ebx
mov dword [ebp - 0x1af08], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
mov dword [esi + 0x1c], eax
cmp eax, ebx
jl 0x40ae22
mov eax, dword [ebp - 0x1af08]
mov ecx, dword [eax]
push ebx
push 0x433208
push eax
call dword [ecx + 0x1c]
mov dword [esi + 0x1c], eax
cmp eax, ebx
jl 0x40ae16
mov eax, dword [ebp - 0x1af08]
lea edx, [ebp - 0x1aefc]
push edx
push ebx
push 1
mov dword [ebp - 0x1aefc], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x4c]
mov ecx, dword [ebp - 0x1aefc]
mov dword [esi + 0x1c], eax
cmp ecx, ebx
je 0x40ae16
cmp eax, 0x40380
je 0x40a394
cmp eax, ebx
jl 0x40a394
mov eax, dword [ecx + 0xc]
cmp word [eax + 8], bx
setne al
cmp al, bl
jne 0x40a394
push ecx
mov ecx, dword [esi + 0x14]
call fcn.00408de2
jmp 0x40a343
cmp ecx, ebx
je 0x40ae16
mov eax, dword [ecx + 0xc]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov ecx, dword [esi]
lea edi, [ebp - 0x1aee4]
push edi
push 4
push ebx
mov dword [ebp - 0x1af00], eax
push dword [ebp - 0x1af00]
mov dword [ebp - 0x1aee4], ebx
mov eax, dword [ecx]
push edx
push dword [ebp - 0x1af18]
push ecx
call dword [eax + 0x14]
mov dword [esi + 0x1c], eax
cmp eax, ebx
jl 0x40ae00
mov eax, dword [esi + 0x28]
or eax, dword [esi + 0x2c]
je 0x40a458
mov eax, dword [ebp - 0x1aee4]
lea edx, [ebp - 0x1af28]
push edx
lea edx, [ebp - 0x1af48]
push edx
push ebx
push 0x433268
mov dword [ebp - 0x1af48], ebx
mov dword [ebp - 0x1af28], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov edx, dword [ebp - 0x1af28]
mov dword [esi + 0x1c], eax
cmp edx, ebx
je 0x40a44c
cmp eax, ebx
jne 0x40a443
mov eax, dword [edx + 8]
shl eax, 0xa
cmp ebx, ebx
jl 0x40a443
jg 0x40a430
cmp eax, ebx
jbe 0x40a443
cmp dword [esi + 0x2c], ebx
jb 0x40a443
ja 0x40a43c
cmp dword [esi + 0x28], eax
jb 0x40a443
mov dword [esi + 0x1c], 0x8004666d
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
cmp dword [esi + 0x1c], 0x8004010f
jne 0x40a458
mov dword [esi + 0x1c], ebx
cmp dword [esi + 0x1c], ebx
jl 0x40adf4
mov eax, dword [ebp - 0x1aee4]
mov ecx, dword [eax]
lea edx, [ebp - 0x1af24]
push edx
lea edx, [ebp - 0x1af38]
push edx
push ebx
push 0x433260
push eax
call dword [ecx + 0x14]
mov dword [esi + 0x1c], eax
cmp eax, ebx
jl 0x40adf4
cmp eax, 0x40380
je 0x40ade6
cmp dword [ebp - 0x1af38], 1
jne 0x40ade6
mov eax, dword [ebp - 0x1af24]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x1aee4]
lea edi, [ebp - 0x1af04]
push edi
lea edi, [ebp - 0x1af3c]
push edi
push 0x10
push ebx
push eax
push ecx
push dword [ebp - 0x1aee4]
mov dword [ebp - 0x1af04], ebx
mov dword [ebp - 0x1af3c], ebx
mov edx, dword [edx]
call dword [edx + 0x44]
mov dword [esi + 0x1c], eax
cmp eax, ebx
jl 0x40ade6
mov eax, dword [ebp - 0x1af04]
lea edx, [ebp - 0x1aed4]
push edx
push ebx
push ebx
mov dword [ebp - 0x1aed4], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x4c]
mov dword [esi + 0x1c], eax
cmp eax, ebx
jl 0x40adda
mov eax, dword [esi]
lea edx, [ebp - 0x1af10]
push edx
xor edx, edx
cmp byte [esi + 0x20], bl
mov dword [ebp - 0x1af10], ebx
mov ecx, dword [eax]
setne dl
push edx
push ebx
push ebx
push eax
call dword [ecx + 0x18]
mov dword [esi + 0x1c], eax
cmp eax, ebx
jl 0x40acc6
cmp byte [esi + 0x20], bl
mov ecx, esi
sete al
movzx eax, al
push eax
push dword [ebp - 0x1aed4]
push dword [ebp - 0x1af10]
call fcn.00409b65
test al, al
je 0x40acba
mov ecx, dword [esi + 0x30]
mov dword [ebp - 0x1aee0], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x1aed8], ecx
cmp ecx, ebx
je 0x40a695
xor eax, eax
lea edi, [ebp - 0x1af68]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea edx, [ebp - 0x1af0c]
push edx
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1aed4]
lea edx, [ebp - 0x1af6c]
push edx
push 1
mov dword [ebp - 0x1af6c], 0x1000001f
mov dword [ebp - 0x1af64], ecx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
mov dword [esi + 0x1c], eax
cmp eax, ebx
jl 0x40a679
mov ecx, dword [ebp - 0x1af0c]
cmp ecx, ebx
je 0x40a695
xor eax, eax
cmp eax, dword [ecx]
jae 0x40a679
mov edx, eax
imul edx, edx, 0xc
lea esi, [edx + ecx + 4]
lea edi, [ebp - 0x1af34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0x1af2c], 0x80040103
jne 0x40ab47
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push ebx
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push dword [ebp - 0x1aed8]
mov dword [ebp - 0x1af6c], 0x1000001e
push ebx
push ebx
call esi
mov dword [ebp - 0x1aed0], eax
cmp eax, ebx
je 0x40a679
push eax
call dword [sym.imp.MSVCR100.dll_malloc]
pop ecx
push ebx
push ebx
push dword [ebp - 0x1aed0]
mov edi, eax
push edi
push dword [ebp - 0x1aed0]
push dword [ebp - 0x1aed8]
push ebx
push ebx
call esi
cmp eax, ebx
je 0x40a66d
mov eax, dword [ebp - 0x1aed4]
push ebx
lea edx, [ebp - 0x1af6c]
push edx
push 1
mov dword [ebp - 0x1af64], edi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
mov ecx, dword [ebp - 0x1aedc]
mov dword [ecx + 0x1c], eax
cmp edi, ebx
je 0x40a679
push edi
call dword [sym.imp.MSVCR100.dll_free]
pop ecx
cmp dword [ebp - 0x1af0c], ebx
je 0x40a695
mov eax, dword [ebp - 0x1aedc]
mov ecx, dword [eax + 0x14]
push dword [ebp - 0x1af0c]
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp - 0x1aedc]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x1aed0], eax
cmp eax, ebx
je 0x40a7d2
xor eax, eax
lea edi, [ebp - 0x1af58]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1aed0]
lea edx, [ebp - 0x1af14]
push edx
lea edx, [ebp - 0x1af5c]
push edx
mov dword [ebp - 0x1af54], eax
mov eax, dword [ebp - 0x1aed4]
push 1
mov dword [ebp - 0x1af5c], 0x37001f
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
mov ecx, dword [ebp - 0x1aedc]
mov dword [ecx + 0x1c], eax
cmp eax, ebx
jl 0x40a7b6
mov ecx, dword [ebp - 0x1af14]
cmp ecx, ebx
je 0x40a7d2
xor eax, eax
cmp eax, dword [ecx]
jae 0x40a7b6
mov edx, eax
imul edx, edx, 0xc
lea esi, [edx + ecx + 4]
lea edi, [ebp - 0x1af34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0x1af2c], 0x80040103
jne 0x40ab4d
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push ebx
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push dword [ebp - 0x1aed0]
mov dword [ebp - 0x1af5c], 0x37001e
push ebx
push ebx
call esi
mov dword [ebp - 0x1aed8], eax
cmp eax, ebx
je 0x40a7b6
push eax
call dword [sym.imp.MSVCR100.dll_malloc]
pop ecx
push ebx
push ebx
push dword [ebp - 0x1aed8]
mov edi, eax
push edi
push dword [ebp - 0x1aed8]
push dword [ebp - 0x1aed0]
push ebx
push ebx
call esi
cmp eax, ebx
je 0x40a7aa
mov eax, dword [ebp - 0x1aed4]
push ebx
lea edx, [ebp - 0x1af5c]
push edx
push 1
mov dword [ebp - 0x1af54], edi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
mov ecx, dword [ebp - 0x1aedc]
mov dword [ecx + 0x1c], eax
cmp edi, ebx
je 0x40a7b6
push edi
call dword [sym.imp.MSVCR100.dll_free]
pop ecx
cmp dword [ebp - 0x1af14], ebx
je 0x40a7d2
mov eax, dword [ebp - 0x1aedc]
mov ecx, dword [eax + 0x14]
push dword [ebp - 0x1af14]
mov eax, dword [ecx]
call dword [eax + 8]
mov esi, dword [ebp - 0x1aedc]
mov eax, dword [esi + 0x38]
cmp eax, ebx
je 0x40ac40
push eax
lea eax, [ebp - 0x19be4]
push 0xcbe8
push eax
call dword [sym.imp.MSVCR100.dll_wcscpy_s]
add esp, 0xc
lea eax, [ebp - 0x1af44]
push eax
lea eax, [ebp - 0x19be4]
push 0x43325c
push eax
call dword [sym.imp.MSVCR100.dll_wcstok_s]
mov dword [ebp - 0x1af40], ebx
mov edi, 0x100
mov dword [ebp - 0x1aef4], eax
xor eax, eax
add esp, 0xc
cmp eax, 0xc8
jge 0x40ac40
cmp dword [ebp - 0x1aef4], ebx
je 0x40ac40
mov eax, dword [ebp - 0x1aed4]
lea edx, [ebp - 0x1aee8]
push edx
lea edx, [ebp - 0x1af40]
push edx
push ebx
push ebx
mov dword [ebp - 0x1aee8], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x40]
mov dword [esi + 0x1c], eax
cmp eax, ebx
jl 0x40ac28
push 0x30
lea eax, [ebp - 0x1ac14]
push ebx
push eax
call sub.MSVCR100.dll_memset
push edi
lea eax, [ebp - 0x414]
push eax
push edi
lea eax, [ebp - 0x214]
push eax
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x1aef4]
mov dword [ebp - 0x1ac14], 0x37050003
mov dword [ebp - 0x1ac0c], 1
mov dword [ebp - 0x1abfc], ebx
mov dword [ebp - 0x1abec], ebx
call dword [sym.imp.MSVCR100.dll__wsplitpath_s]
add esp, 0x30
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x214]
push edi
push eax
call dword [sym.imp.MSVCR100.dll_wcscat_s]
add esp, 0xc
lea eax, [ebp - 0x214]
push 0x2b0
mov dword [ebp - 0x1abfc], eax
lea eax, [ebp - 0x1aec4]
push ebx
push eax
mov dword [ebp - 0x1ac04], 0x3704001f
mov dword [ebp - 0x1aec8], ebx
call sub.MSVCR100.dll_memset
add esp, 0xc
push 0x200
push 0x2b4
lea eax, [ebp - 0x1aec8]
push eax
push 0xd0
push dword [ebp - 0x1aef4]
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
cmp eax, ebx
je 0x40a943
lea eax, [ebp - 0x1aebc]
mov dword [ebp - 0x1abf4], 0x3001001f
mov dword [ebp - 0x1abec], eax
mov eax, dword [ebp - 0x1aee8]
mov ecx, dword [eax]
lea edx, [ebp - 0x1aef8]
push edx
lea edx, [ebp - 0x1ac14]
push edx
push 3
push eax
call dword [ecx + 0x20]
mov dword [esi + 0x1c], eax
cmp eax, ebx
jl 0x40aacc
cmp dword [ebp - 0x1aef8], ebx
je 0x40aae8
xor eax, eax
mov ecx, dword [ebp - 0x1aef8]
cmp eax, dword [ecx]
jae 0x40aacc
mov edx, dword [ebp - 0x1aef8]
mov ecx, eax
imul ecx, ecx, 0xc
lea esi, [ecx + edx + 4]
lea edi, [ebp - 0x1af34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0x1af2c], 0x80040103
jne 0x40ab53
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
xor edi, edi
mov dword [ebp - 0x1aed8], ebx
mov dword [ebp - 0x1aed0], ebx
mov dword [ebp - 0x1aef0], ebx
cmp dword [ebp - 0x1abfc], ebx
je 0x40aa1b
push ebx
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push dword [ebp - 0x1abfc]
mov dword [ebp - 0x1ac04], 0x3704001e
push ebx
push ebx
call esi
mov edi, eax
cmp edi, ebx
je 0x40aa1b
push edi
call dword [sym.imp.MSVCR100.dll_malloc]
pop ecx
push ebx
push ebx
push edi
push eax
push edi
push dword [ebp - 0x1abfc]
mov dword [ebp - 0x1aed8], eax
push ebx
push ebx
call esi
mov edi, eax
mov eax, dword [ebp - 0x1aed8]
mov dword [ebp - 0x1abfc], eax
cmp dword [ebp - 0x1abec], ebx
je 0x40aa80
push ebx
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push dword [ebp - 0x1abec]
mov dword [ebp - 0x1abf4], 0x3001001e
push ebx
push ebx
call esi
mov dword [ebp - 0x1aef0], eax
cmp eax, ebx
je 0x40aa80
push eax
call dword [sym.imp.MSVCR100.dll_malloc]
pop ecx
push ebx
push ebx
push dword [ebp - 0x1aef0]
mov dword [ebp - 0x1aed0], eax
push eax
push dword [ebp - 0x1aef0]
push dword [ebp - 0x1abec]
push ebx
push ebx
call esi
mov dword [ebp - 0x1aef0], eax
mov eax, dword [ebp - 0x1aed0]
mov dword [ebp - 0x1abec], eax
cmp edi, ebx
je 0x40aaa2
cmp dword [ebp - 0x1aef0], ebx
je 0x40aaa2
mov eax, dword [ebp - 0x1aee8]
mov ecx, dword [eax]
push ebx
lea edx, [ebp - 0x1ac14]
push edx
push 3
push eax
call dword [ecx + 0x20]
cmp dword [ebp - 0x1aed8], ebx
je 0x40aab7
push dword [ebp - 0x1aed8]
call dword [sym.imp.MSVCR100.dll_free]
pop ecx
cmp dword [ebp - 0x1aed0], ebx
je 0x40aacc
push dword [ebp - 0x1aed0]
call dword [sym.imp.MSVCR100.dll_free]
pop ecx
mov esi, dword [ebp - 0x1aedc]
cmp dword [ebp - 0x1aef8], ebx
je 0x40aae8
mov ecx, dword [esi + 0x14]
push dword [ebp - 0x1aef8]
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp - 0x1aee8]
mov ecx, dword [eax]
lea edx, [ebp - 0x1aee0]
push edx
push 3
push 1
push 0x433994
push 0x37010102
push eax
call dword [ecx + 0x1c]
mov dword [esi + 0x1c], eax
cmp eax, ebx
jl 0x40ac0a
push ebx
push 0x80
push 3
push ebx
push 1
push SysReAllocString
push dword [ebp - 0x1aef4]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x1aed0], eax
cmp eax, 0xffffffff
jne 0x40ab59
mov dword [esi + 0x1c], 0x80044005
jmp 0x40abeb
inc eax
jmp 0x40a5cd
inc eax
jmp 0x40a70a
inc eax
jmp 0x40a978
mov dword [ebp - 0x1aeec], ebx
mov dword [ebp - 0x1af1c], ebx
push ebx
lea eax, [ebp - 0x1aeec]
push eax
push 0x1000
lea eax, [ebp - 0x1abe4]
push eax
push dword [ebp - 0x1aed0]
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, ebx
je 0x40abdf
cmp dword [ebp - 0x1aeec], ebx
je 0x40abdf
lea edi, [ebp - 0x1abe4]
mov eax, dword [ebp - 0x1aee0]
mov ecx, dword [eax]
lea edx, [ebp - 0x1af1c]
push edx
push dword [ebp - 0x1aeec]
push edi
push eax
call dword [ecx + 0x10]
mov dword [esi + 0x1c], eax
mov eax, dword [ebp - 0x1af1c]
cmp eax, ebx
jne 0x40abc5
mov dword [esi + 0x1c], 0x80044005
cmp dword [esi + 0x1c], ebx
jl 0x40abdf
sub dword [ebp - 0x1aeec], eax
add edi, eax
cmp dword [ebp - 0x1aeec], ebx
ja 0x40ab97
cmp dword [esi + 0x1c], ebx
jge 0x40ab65
push dword [ebp - 0x1aed0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x1aee0]
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 0x20]
mov eax, dword [ebp - 0x1aee0]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x1aee0], ebx
mov eax, dword [ebp - 0x1aee8]
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 0x10]
mov eax, dword [ebp - 0x1aee8]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, 0x100
lea eax, [ebp - 0x1af44]
push eax
push 0x43325c
push ebx
call dword [sym.imp.MSVCR100.dll_wcstok_s]
jmp 0x40a81d
xor eax, eax
lea edi, [ebp - 0x1af88]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push ebx
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1aed4]
lea edx, [ebp - 0x1af8c]
push edx
push 1
mov dword [ebp - 0x1af8c], 0x1a001f
mov dword [ebp - 0x1af84], str.IPM.Note
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
or dword [ebp - 4], 0xffffffff
mov dword [esi + 0x1c], eax
jmp 0x40ac8a
mov eax, dword [ebp - 0x1aee0]
test eax, eax
je 0x40acad
mov eax, dword [ebp - 0x1aee0]
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 0x20]
mov eax, dword [ebp - 0x1aee0]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x1aedc]
mov byte [ebp - 0x1aec9], 1
mov eax, dword [ebp - 0x1af10]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [esi + 0x1c], ebx
jl 0x40adce
cmp byte [esi + 0x20], bl
jne 0x40ad38
mov eax, dword [esi]
lea edx, [ebp - 0x1af00]
push edx
push dword [ebp - 0x1aed4]
mov dword [ebp - 0x1af00], ebx
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 0x54]
mov dword [esi + 0x1c], eax
cmp eax, ebx
jl 0x40ad2d
push 0x43323c
mov eax, dword [esi]
push 1
mov ecx, dword [eax]
push 8
push ebx
push 2
push ebx
push dword [ebp - 0x1af00]
push ebx
push dword [ebp - 0x1af04]
push dword [ebp - 0x1aee4]
push dword [ebp - 0x1af18]
push eax
call dword [ecx + 0x50]
mov dword [esi + 0x1c], eax
jmp 0x40adce
mov byte [ebp - 0x1aec9], bl
jmp 0x40adce
mov eax, dword [ebp - 0x1aee4]
mov ecx, dword [eax]
lea edx, [ebp - 0x1af20]
push edx
lea edx, [ebp - 0x1af4c]
push edx
push ebx
push 0x433234
push eax
call dword [ecx + 0x14]
mov dword [esi + 0x1c], eax
cmp eax, ebx
jl 0x40adc0
cmp eax, 0x40380
je 0x40adb2
cmp dword [ebp - 0x1af4c], 1
jne 0x40adb2
xor eax, eax
lea edi, [ebp - 0x1af78]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1af20]
mov dword [ebp - 0x1af7c], 0xe0a0102
mov ecx, dword [eax + 8]
push ebx
mov dword [ebp - 0x1af74], ecx
mov eax, dword [eax + 0xc]
lea edx, [ebp - 0x1af7c]
push edx
mov dword [ebp - 0x1af70], eax
mov eax, dword [ebp - 0x1aed4]
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x20]
mov ecx, dword [esi + 0x14]
push dword [ebp - 0x1af20]
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp - 0x1aed4]
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x50]
mov eax, dword [ebp - 0x1aed4]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1af04]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [esi + 0x14]
push dword [ebp - 0x1af24]
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp - 0x1aee4]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x1aefc], ebx
je 0x40ae16
push dword [ebp - 0x1aefc]
mov ecx, dword [esi + 0x14]
call fcn.00408de2
mov eax, dword [ebp - 0x1af08]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov al, byte [ebp - 0x1aec9]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0042e766
leave
ret