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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42fc4a
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1af7c
call fcn.0042dca0
mov eax, dword [0x43b4b0]
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 0x4097d8
cmp dword [esi + 8], ebx
je 0x4097d8
cmp dword [esi + 0xc], ebx
jne 0x4097e6
mov dword [esi + 0x1c], 0x80040102
xor al, al
jmp 0x40a31a
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x1af18], eax
mov eax, dword [esi]
cmp eax, ebx
je 0x40a314
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 0x40a314
mov eax, dword [ebp - 0x1af08]
mov ecx, dword [eax]
push ebx
push 0x432158
push eax
call dword [ecx + 0x1c]
mov dword [esi + 0x1c], eax
cmp eax, ebx
jl 0x40a308
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 0x40a308
cmp eax, 0x40380
je 0x409886
cmp eax, ebx
jl 0x409886
mov eax, dword [ecx + 0xc]
cmp word [eax + 8], bx
setne al
cmp al, bl
jne 0x409886
push ecx
mov ecx, dword [esi + 0x14]
call fcn.004082d4
jmp 0x409835
cmp ecx, ebx
je 0x40a308
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 0x40a2f2
mov eax, dword [esi + 0x28]
or eax, dword [esi + 0x2c]
je 0x40994a
mov eax, dword [ebp - 0x1aee4]
lea edx, [ebp - 0x1af28]
push edx
lea edx, [ebp - 0x1af48]
push edx
push ebx
push 0x432150
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 0x40993e
cmp eax, ebx
jne 0x409935
mov eax, dword [edx + 8]
shl eax, 0xa
cmp ebx, ebx
jl 0x409935
jg 0x409922
cmp eax, ebx
jbe 0x409935
cmp dword [esi + 0x2c], ebx
jb 0x409935
ja 0x40992e
cmp dword [esi + 0x28], eax
jb 0x409935
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 0x40994a
mov dword [esi + 0x1c], ebx
cmp dword [esi + 0x1c], ebx
jl 0x40a2e6
mov eax, dword [ebp - 0x1aee4]
mov ecx, dword [eax]
lea edx, [ebp - 0x1af24]
push edx
lea edx, [ebp - 0x1af38]
push edx
push ebx
push 0x432148
push eax
call dword [ecx + 0x14]
mov dword [esi + 0x1c], eax
cmp eax, ebx
jl 0x40a2e6
cmp eax, 0x40380
je 0x40a2d8
cmp dword [ebp - 0x1af38], 1
jne 0x40a2d8
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 0x40a2d8
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 0x40a2cc
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 0x40a1b8
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.00409057
test al, al
je 0x40a1ac
mov ecx, dword [esi + 0x30]
mov dword [ebp - 0x1aee0], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x1aed8], ecx
cmp ecx, ebx
je 0x409b87
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 0x409b6b
mov ecx, dword [ebp - 0x1af0c]
cmp ecx, ebx
je 0x409b87
xor eax, eax
cmp eax, dword [ecx]
jae 0x409b6b
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 0x40a039
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 0x409b6b
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 0x409b5f
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 0x409b6b
push edi
call dword [sym.imp.MSVCR100.dll_free]
pop ecx
cmp dword [ebp - 0x1af0c], ebx
je 0x409b87
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 0x409cc4
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 0x409ca8
mov ecx, dword [ebp - 0x1af14]
cmp ecx, ebx
je 0x409cc4
xor eax, eax
cmp eax, dword [ecx]
jae 0x409ca8
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 0x40a03f
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 0x409ca8
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 0x409c9c
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 0x409ca8
push edi
call dword [sym.imp.MSVCR100.dll_free]
pop ecx
cmp dword [ebp - 0x1af14], ebx
je 0x409cc4
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 0x40a132
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 0x432144
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 0x40a132
cmp dword [ebp - 0x1aef4], ebx
je 0x40a132
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 0x40a11a
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 0x409e35
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 0x409fbe
cmp dword [ebp - 0x1aef8], ebx
je 0x409fda
xor eax, eax
mov ecx, dword [ebp - 0x1aef8]
cmp eax, dword [ecx]
jae 0x409fbe
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 0x40a045
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 0x409f0d
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 0x409f0d
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 0x409f72
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 0x409f72
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 0x409f94
cmp dword [ebp - 0x1aef0], ebx
je 0x409f94
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 0x409fa9
push dword [ebp - 0x1aed8]
call dword [sym.imp.MSVCR100.dll_free]
pop ecx
cmp dword [ebp - 0x1aed0], ebx
je 0x409fbe
push dword [ebp - 0x1aed0]
call dword [sym.imp.MSVCR100.dll_free]
pop ecx
mov esi, dword [ebp - 0x1aedc]
cmp dword [ebp - 0x1aef8], ebx
je 0x409fda
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 0x432884
push 0x37010102
push eax
call dword [ecx + 0x1c]
mov dword [esi + 0x1c], eax
cmp eax, ebx
jl 0x40a0fc
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 0x40a04b
mov dword [esi + 0x1c], 0x80044005
jmp 0x40a0dd
inc eax
jmp 0x409abf
inc eax
jmp 0x409bfc
inc eax
jmp 0x409e6a
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 0x40a0d1
cmp dword [ebp - 0x1aeec], ebx
je 0x40a0d1
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 0x40a0b7
mov dword [esi + 0x1c], 0x80044005
cmp dword [esi + 0x1c], ebx
jl 0x40a0d1
sub dword [ebp - 0x1aeec], eax
add edi, eax
cmp dword [ebp - 0x1aeec], ebx
ja 0x40a089
cmp dword [esi + 0x1c], ebx
jge 0x40a057
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 0x432144
push ebx
call dword [sym.imp.MSVCR100.dll_wcstok_s]
jmp 0x409d0f
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 0x40a17c
mov eax, dword [ebp - 0x1aee0]
test eax, eax
je 0x40a19f
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 0x40a2c0
cmp byte [esi + 0x20], bl
jne 0x40a22a
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 0x40a21f
push 0x432124
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 0x40a2c0
mov byte [ebp - 0x1aec9], bl
jmp 0x40a2c0
mov eax, dword [ebp - 0x1aee4]
mov ecx, dword [eax]
lea edx, [ebp - 0x1af20]
push edx
lea edx, [ebp - 0x1af4c]
push edx
push ebx
push 0x43211c
push eax
call dword [ecx + 0x14]
mov dword [esi + 0x1c], eax
cmp eax, ebx
jl 0x40a2b2
cmp eax, 0x40380
je 0x40a2a4
cmp dword [ebp - 0x1af4c], 1
jne 0x40a2a4
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 0x40a308
push dword [ebp - 0x1aefc]
mov ecx, dword [esi + 0x14]
call fcn.004082d4
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.0042dc86
leave
ret