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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x430887
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1af7c
call fcn.0042e890
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 0x40a2f9
cmp dword [esi + 8], ebx
je 0x40a2f9
cmp dword [esi + 0xc], ebx
jne 0x40a307
mov dword [esi + 0x1c], 0x80040102
xor al, al
jmp 0x40ae3b
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x1af18], eax
mov eax, dword [esi]
cmp eax, ebx
je 0x40ae35
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 0x40ae35
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 0x40ae29
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 0x40ae29
cmp eax, 0x40380
je 0x40a3a7
cmp eax, ebx
jl 0x40a3a7
mov eax, dword [ecx + 0xc]
cmp word [eax + 8], bx
setne al
cmp al, bl
jne 0x40a3a7
push ecx
mov ecx, dword [esi + 0x14]
call fcn.00408df5
jmp 0x40a356
cmp ecx, ebx
je 0x40ae29
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 0x40ae13
mov eax, dword [esi + 0x28]
or eax, dword [esi + 0x2c]
je 0x40a46b
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 0x40a45f
cmp eax, ebx
jne 0x40a456
mov eax, dword [edx + 8]
shl eax, 0xa
cmp ebx, ebx
jl 0x40a456
jg 0x40a443
cmp eax, ebx
jbe 0x40a456
cmp dword [esi + 0x2c], ebx
jb 0x40a456
ja 0x40a44f
cmp dword [esi + 0x28], eax
jb 0x40a456
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 0x40a46b
mov dword [esi + 0x1c], ebx
cmp dword [esi + 0x1c], ebx
jl 0x40ae07
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 0x40ae07
cmp eax, 0x40380
je 0x40adf9
cmp dword [ebp - 0x1af38], 1
jne 0x40adf9
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 0x40adf9
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 0x40aded
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 0x40acd9
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.00409b78
test al, al
je 0x40accd
mov ecx, dword [esi + 0x30]
mov dword [ebp - 0x1aee0], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x1aed8], ecx
cmp ecx, ebx
je 0x40a6a8
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 0x40a68c
mov ecx, dword [ebp - 0x1af0c]
cmp ecx, ebx
je 0x40a6a8
xor eax, eax
cmp eax, dword [ecx]
jae 0x40a68c
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 0x40ab5a
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 0x40a68c
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 0x40a680
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 0x40a68c
push edi
call dword [sym.imp.MSVCR100.dll_free]
pop ecx
cmp dword [ebp - 0x1af0c], ebx
je 0x40a6a8
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 0x40a7e5
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 0x40a7c9
mov ecx, dword [ebp - 0x1af14]
cmp ecx, ebx
je 0x40a7e5
xor eax, eax
cmp eax, dword [ecx]
jae 0x40a7c9
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 0x40ab60
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 0x40a7c9
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 0x40a7bd
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 0x40a7c9
push edi
call dword [sym.imp.MSVCR100.dll_free]
pop ecx
cmp dword [ebp - 0x1af14], ebx
je 0x40a7e5
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 0x40ac53
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 0x40ac53
cmp dword [ebp - 0x1aef4], ebx
je 0x40ac53
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 0x40ac3b
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 0x40a956
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 0x40aadf
cmp dword [ebp - 0x1aef8], ebx
je 0x40aafb
xor eax, eax
mov ecx, dword [ebp - 0x1aef8]
cmp eax, dword [ecx]
jae 0x40aadf
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 0x40ab66
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 0x40aa2e
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 0x40aa2e
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 0x40aa93
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 0x40aa93
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 0x40aab5
cmp dword [ebp - 0x1aef0], ebx
je 0x40aab5
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 0x40aaca
push dword [ebp - 0x1aed8]
call dword [sym.imp.MSVCR100.dll_free]
pop ecx
cmp dword [ebp - 0x1aed0], ebx
je 0x40aadf
push dword [ebp - 0x1aed0]
call dword [sym.imp.MSVCR100.dll_free]
pop ecx
mov esi, dword [ebp - 0x1aedc]
cmp dword [ebp - 0x1aef8], ebx
je 0x40aafb
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 0x40ac1d
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 0x40ab6c
mov dword [esi + 0x1c], 0x80044005
jmp 0x40abfe
inc eax
jmp 0x40a5e0
inc eax
jmp 0x40a71d
inc eax
jmp 0x40a98b
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 0x40abf2
cmp dword [ebp - 0x1aeec], ebx
je 0x40abf2
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 0x40abd8
mov dword [esi + 0x1c], 0x80044005
cmp dword [esi + 0x1c], ebx
jl 0x40abf2
sub dword [ebp - 0x1aeec], eax
add edi, eax
cmp dword [ebp - 0x1aeec], ebx
ja 0x40abaa
cmp dword [esi + 0x1c], ebx
jge 0x40ab78
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 0x40a830
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 0x40ac9d
mov eax, dword [ebp - 0x1aee0]
test eax, eax
je 0x40acc0
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 0x40ade1
cmp byte [esi + 0x20], bl
jne 0x40ad4b
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 0x40ad40
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 0x40ade1
mov byte [ebp - 0x1aec9], bl
jmp 0x40ade1
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 0x40add3
cmp eax, 0x40380
je 0x40adc5
cmp dword [ebp - 0x1af4c], 1
jne 0x40adc5
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 0x40ae29
push dword [ebp - 0x1aefc]
mov ecx, dword [esi + 0x14]
call fcn.00408df5
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.0042e764
leave
ret