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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4308fa
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1af7c
call fcn.0042e8e0
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 0x40a333
cmp dword [esi + 8], ebx
je 0x40a333
cmp dword [esi + 0xc], ebx
jne 0x40a341
mov dword [esi + 0x1c], 0x80040102
xor al, al
jmp 0x40ae75
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x1af18], eax
mov eax, dword [esi]
cmp eax, ebx
je 0x40ae6f
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 0x40ae6f
mov eax, dword [ebp - 0x1af08]
mov ecx, dword [eax]
push ebx
push 0x433264
push eax
call dword [ecx + 0x1c]
mov dword [esi + 0x1c], eax
cmp eax, ebx
jl 0x40ae63
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 0x40ae63
cmp eax, 0x40380
je 0x40a3e1
cmp eax, ebx
jl 0x40a3e1
mov eax, dword [ecx + 0xc]
cmp word [eax + 8], bx
setne al
cmp al, bl
jne 0x40a3e1
push ecx
mov ecx, dword [esi + 0x14]
call fcn.00408e2f
jmp 0x40a390
cmp ecx, ebx
je 0x40ae63
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 0x40ae4d
mov eax, dword [esi + 0x28]
or eax, dword [esi + 0x2c]
je 0x40a4a5
mov eax, dword [ebp - 0x1aee4]
lea edx, [ebp - 0x1af28]
push edx
lea edx, [ebp - 0x1af48]
push edx
push ebx
push 0x43325c
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 0x40a499
cmp eax, ebx
jne 0x40a490
mov eax, dword [edx + 8]
shl eax, 0xa
cmp ebx, ebx
jl 0x40a490
jg 0x40a47d
cmp eax, ebx
jbe 0x40a490
cmp dword [esi + 0x2c], ebx
jb 0x40a490
ja 0x40a489
cmp dword [esi + 0x28], eax
jb 0x40a490
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 0x40a4a5
mov dword [esi + 0x1c], ebx
cmp dword [esi + 0x1c], ebx
jl 0x40ae41
mov eax, dword [ebp - 0x1aee4]
mov ecx, dword [eax]
lea edx, [ebp - 0x1af24]
push edx
lea edx, [ebp - 0x1af38]
push edx
push ebx
push 0x433254
push eax
call dword [ecx + 0x14]
mov dword [esi + 0x1c], eax
cmp eax, ebx
jl 0x40ae41
cmp eax, 0x40380
je 0x40ae33
cmp dword [ebp - 0x1af38], 1
jne 0x40ae33
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 0x40ae33
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 0x40ae27
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 0x40ad13
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.00409bb2
test al, al
je 0x40ad07
mov ecx, dword [esi + 0x30]
mov dword [ebp - 0x1aee0], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x1aed8], ecx
cmp ecx, ebx
je 0x40a6e2
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 0x40a6c6
mov ecx, dword [ebp - 0x1af0c]
cmp ecx, ebx
je 0x40a6e2
xor eax, eax
cmp eax, dword [ecx]
jae 0x40a6c6
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 0x40ab94
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 0x40a6c6
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 0x40a6ba
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 0x40a6c6
push edi
call dword [sym.imp.MSVCR100.dll_free]
pop ecx
cmp dword [ebp - 0x1af0c], ebx
je 0x40a6e2
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 0x40a81f
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 0x40a803
mov ecx, dword [ebp - 0x1af14]
cmp ecx, ebx
je 0x40a81f
xor eax, eax
cmp eax, dword [ecx]
jae 0x40a803
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 0x40ab9a
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 0x40a803
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 0x40a7f7
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 0x40a803
push edi
call dword [sym.imp.MSVCR100.dll_free]
pop ecx
cmp dword [ebp - 0x1af14], ebx
je 0x40a81f
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 0x40ac8d
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 0x433250
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 0x40ac8d
cmp dword [ebp - 0x1aef4], ebx
je 0x40ac8d
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 0x40ac75
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 0x40a990
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 0x40ab19
cmp dword [ebp - 0x1aef8], ebx
je 0x40ab35
xor eax, eax
mov ecx, dword [ebp - 0x1aef8]
cmp eax, dword [ecx]
jae 0x40ab19
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 0x40aba0
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 0x40aa68
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 0x40aa68
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 0x40aacd
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 0x40aacd
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 0x40aaef
cmp dword [ebp - 0x1aef0], ebx
je 0x40aaef
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 0x40ab04
push dword [ebp - 0x1aed8]
call dword [sym.imp.MSVCR100.dll_free]
pop ecx
cmp dword [ebp - 0x1aed0], ebx
je 0x40ab19
push dword [ebp - 0x1aed0]
call dword [sym.imp.MSVCR100.dll_free]
pop ecx
mov esi, dword [ebp - 0x1aedc]
cmp dword [ebp - 0x1aef8], ebx
je 0x40ab35
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 0x40ac57
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 0x40aba6
mov dword [esi + 0x1c], 0x80044005
jmp 0x40ac38
inc eax
jmp 0x40a61a
inc eax
jmp 0x40a757
inc eax
jmp 0x40a9c5
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 0x40ac2c
cmp dword [ebp - 0x1aeec], ebx
je 0x40ac2c
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 0x40ac12
mov dword [esi + 0x1c], 0x80044005
cmp dword [esi + 0x1c], ebx
jl 0x40ac2c
sub dword [ebp - 0x1aeec], eax
add edi, eax
cmp dword [ebp - 0x1aeec], ebx
ja 0x40abe4
cmp dword [esi + 0x1c], ebx
jge 0x40abb2
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 0x433250
push ebx
call dword [sym.imp.MSVCR100.dll_wcstok_s]
jmp 0x40a86a
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 0x40acd7
mov eax, dword [ebp - 0x1aee0]
test eax, eax
je 0x40acfa
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 0x40ae1b
cmp byte [esi + 0x20], bl
jne 0x40ad85
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 0x40ad7a
push 0x433230
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 0x40ae1b
mov byte [ebp - 0x1aec9], bl
jmp 0x40ae1b
mov eax, dword [ebp - 0x1aee4]
mov ecx, dword [eax]
lea edx, [ebp - 0x1af20]
push edx
lea edx, [ebp - 0x1af4c]
push edx
push ebx
push 0x433228
push eax
call dword [ecx + 0x14]
mov dword [esi + 0x1c], eax
cmp eax, ebx
jl 0x40ae0d
cmp eax, 0x40380
je 0x40adff
cmp dword [ebp - 0x1af4c], 1
jne 0x40adff
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 0x40ae63
push dword [ebp - 0x1aefc]
mov ecx, dword [esi + 0x14]
call fcn.00408e2f
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.0042e7ae
leave
ret