Function at 0x4a6b50
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c4
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebx]
test eax, eax
je 0x4a7856
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4a7856
cmp dword [eax + 4], 0
je 0x4a7856
xor edi, edi
cmp dword [ebp + 0x18], edi
jne 0x4a6cf9
push 0x43c
call fcn.0053428c
mov edi, eax
add esp, 4
test edi, edi
je 0x4a6cf7
mov dword [edi + 4], 0x58296c
mov ecx, edi
mov dword [edi + 0x430], 0x57e578
push 0
mov dword [edi + 0x434], 0
mov dword [edi + 0x438], 0
call fcn.0043fd40
mov eax, dword [edi + 4]
mov dword [edi], vtable.CardItem.0
mov dword [edi + 0x424], 0x582944
mov dword [ebp - 0x34], 0x49a980
mov eax, dword [eax + 4]
mov dword [ebp - 0x30], 0
mov dword [eax + edi + 4], vtable.CardItem.2.0
mov eax, dword [edi + 4]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x8c]
add ecx, 4
add ecx, edi
push eax
call fcn.0041f190
mov ecx, dword [ebp - 0x88]
test ecx, ecx
je 0x4a6c22
lock inc dword [ecx + 8]
mov eax, dword [ebp - 0x8c]
movq xmm0, qword [ebp - 0x34]
mov dword [ebp - 0x20], eax
mov al, byte [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
movq qword [ebp - 0x18], xmm0
mov dword [ebp - 0x10], 0
mov byte [ebp - 0xc], al
mov dword [ebp - 8], edi
test ecx, ecx
je 0x4a6c5d
mov eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x4a6c5d
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x20]
push eax
call fcn.004862b0
mov ecx, dword [ebp - 0x1c]
add esp, 4
mov esi, eax
mov dword [ebp - 0x44], esi
test ecx, ecx
je 0x4a6c84
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x4a6c84
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp + 0xc]
mov dword [ebp + 0xc], 6
push eax
lea ecx, [edi + 0x70]
call fcn.00429860
mov dword [ebp - 0x88], eax
mov ecx, dword [eax + 4]
mov dword [ebp - 0xa8], ecx
cmp dword [eax + 8], ecx
je 0x4a6cd2
mov dword [ecx + 0x24], 0
test esi, esi
je 0x4a6ccc
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax]
mov ecx, dword [ebp - 0xa8]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x88]
add dword [eax + 4], 0x28
jmp 0x4a6cde
lea edx, [ebp - 0x68]
push edx
push ecx
mov ecx, eax
call fcn.00429a60
test esi, esi
je 0x4a6cf9
mov edx, dword [esi]
lea eax, [ebp - 0x68]
cmp esi, eax
mov ecx, esi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
jmp 0x4a6cf9
xor edi, edi
cmp dword [ebp + 0x10], 0
mov eax, dword [ebp + 0x14]
jne 0x4a6d23
test eax, eax
jne 0x4a6d0d
push str.main_item_tile32.xml
jmp 0x4a6d3f
lea ecx, [ebp - 0x58]
cmp eax, 1
jne 0x4a6d1c
push str.main_item_tile16.xml
jmp 0x4a6d42
push str.main_item_tile48.xml
jmp 0x4a6d42
test eax, eax
jne 0x4a6d2e
push str.main_item_list32.xml
jmp 0x4a6d3f
cmp eax, 1
jne 0x4a6d3a
push str.main_item_list16.xml
jmp 0x4a6d3f
push str.main_item_list48.xml
lea ecx, [ebp - 0x58]
call fcn.00402fa0
sub esp, 0x28
mov eax, esp
mov dword [eax + 0x24], 0
lea eax, [ebp - 0x58]
push eax
push edi
call fcn.004097f0
add esp, 0x30
lea ecx, [ebp - 0x58]
call fcn.00403070
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
call dword [eax + 0x15c]
test eax, eax
jne 0x4a6dbc
mov ecx, edi
call fcn.00429f90
mov ecx, edi
mov esi, eax
call fcn.00429f10
push 1
sub esp, 8
mov ecx, esp
push 0
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov ecx, dword [ebp + 8]
push 0x5ba1a0
push 0x5b9c68
push 0
mov eax, dword [ecx]
call dword [eax + 0x18c]
push eax
call sub.msvcrt.dll___RTDynamicCast
add esp, 0x14
mov ecx, eax
call fcn.0043c9a0
mov eax, dword [ebx]
cmp dword [eax + 0x14], 4
jne 0x4a718b
add eax, 0x6c
push str.url
push eax
call fcn.00407200
add esp, 8
test al, al
je 0x4a718b
mov eax, dword fs:[0x2c]
mov ecx, dword [0x5bbfc0]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x5bbb54]
cmp eax, dword [esi + 8]
jg 0x4a7861
mov eax, dword [0x5bbb6c]
cmp eax, dword [esi + 8]
jg 0x4a78a8
mov eax, dword [ebx]
add eax, 0x48
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.00401570
add esp, 8
lea ecx, [ebp - 0x110]
call fcn.00487d60
push 0
push 0x5bbb40
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.00487990
add esp, 0x10
test al, al
je 0x4a6fb7
lea eax, [ebp - 0xa4]
push eax
push 1
lea ecx, [ebp - 0x110]
call fcn.00488a50
mov ecx, eax
call fcn.004ac810
cmp dword [eax + 0x14], 8
jb 0x4a6e74
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x84]
push str..iconsurl_s.ico
push eax
call fcn.004014d0
add esp, 0xc
lea ecx, [ebp - 0xa4]
call fcn.00403070
cmp dword [ebp - 0x70], 8
lea eax, [ebp - 0x84]
cmovae eax, dword [ebp - 0x84]
push eax
call fcn.00496720
add esp, 4
test eax, eax
je 0x4a6ec8
mov ecx, dword [ebx]
lea eax, [ebp - 0x84]
push eax
add ecx, 0x6c
call fcn.00407260
jmp 0x4a6fac
lea eax, [ebp - 0x40]
push eax
push 1
lea ecx, [ebp - 0x110]
call fcn.00488a50
mov ecx, eax
call fcn.004ac810
cmp dword [eax + 0x14], 8
jb 0x4a6ee8
mov eax, dword [eax]
push eax
lea eax, [ebp - 0xa4]
push str..iconsurl_s.png
push eax
call fcn.004014d0
add esp, 0xc
lea ecx, [ebp - 0x40]
call fcn.00403070
cmp dword [ebp - 0x90], 8
lea eax, [ebp - 0xa4]
cmovae eax, dword [ebp - 0xa4]
push eax
call fcn.00496720
add esp, 4
test eax, eax
je 0x4a6f39
mov ecx, dword [ebx]
lea eax, [ebp - 0xa4]
push eax
add ecx, 0x6c
call fcn.00407260
jmp 0x4a6fa1
lea eax, [ebp - 0x18]
push eax
push 1
lea ecx, [ebp - 0x110]
call fcn.00488a50
mov ecx, eax
call fcn.004ac810
cmp dword [eax + 0x14], 8
jb 0x4a6f59
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x40]
push str..iconsurl_s.svg
push eax
call fcn.004014d0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00403070
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push eax
call fcn.00496720
add esp, 4
test eax, eax
je 0x4a6f99
mov ecx, dword [ebx]
lea eax, [ebp - 0x40]
push eax
add ecx, 0x6c
call fcn.00407260
lea ecx, [ebp - 0x40]
call fcn.00403070
lea ecx, [ebp - 0xa4]
call fcn.00403070
lea ecx, [ebp - 0x84]
call fcn.00403070
mov eax, dword [ebx]
add eax, 0x6c
push str.url
push eax
call fcn.00407200
add esp, 8
test al, al
je 0x4a7154
push 0
push 0x5bbb58
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.00487990
add esp, 0x10
test al, al
je 0x4a7154
lea eax, [ebp - 0x18]
push eax
push 1
lea ecx, [ebp - 0x110]
call fcn.00488a50
mov ecx, eax
call fcn.004ac810
cmp dword [eax + 0x14], 8
jb 0x4a7014
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x40]
push str..iconsurl_s.ico
push eax
call fcn.004014d0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00403070
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push eax
call fcn.00496720
add esp, 4
test eax, eax
je 0x4a7059
mov ecx, dword [ebx]
lea eax, [ebp - 0x40]
push eax
add ecx, 0x6c
call fcn.00407260
jmp 0x4a714c
lea eax, [ebp - 0x18]
push eax
push 1
lea ecx, [ebp - 0x110]
call fcn.00488a50
mov ecx, eax
call fcn.004ac810
cmp dword [eax + 0x14], 8
jb 0x4a7079
mov eax, dword [eax]
push eax
lea eax, [ebp - 0xa4]
push str..iconsurl_s.png
push eax
call fcn.004014d0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00403070
cmp dword [ebp - 0x90], 8
lea eax, [ebp - 0xa4]
cmovae eax, dword [ebp - 0xa4]
push eax
call fcn.00496720
add esp, 4
test eax, eax
je 0x4a70ca
mov ecx, dword [ebx]
lea eax, [ebp - 0xa4]
push eax
add ecx, 0x6c
call fcn.00407260
jmp 0x4a7141
lea eax, [ebp - 0x18]
push eax
push 1
lea ecx, [ebp - 0x110]
call fcn.00488a50
mov ecx, eax
call fcn.004ac810
cmp dword [eax + 0x14], 8
jb 0x4a70ea
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x84]
push str..iconsurl_s.svg
push eax
call fcn.004014d0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00403070
cmp dword [ebp - 0x70], 8
lea eax, [ebp - 0x84]
cmovae eax, dword [ebp - 0x84]
push eax
call fcn.00496720
add esp, 4
test eax, eax
je 0x4a7136
mov ecx, dword [ebx]
lea eax, [ebp - 0x84]
push eax
add ecx, 0x6c
call fcn.00407260
lea ecx, [ebp - 0x84]
call fcn.00403070
lea ecx, [ebp - 0xa4]
call fcn.00403070
lea ecx, [ebp - 0x40]
call fcn.00403070
mov eax, dword [ebx]
add eax, 0x6c
push str.url
push eax
call fcn.00407200
add esp, 8
test al, al
jne 0x4a7178
push ebx
call fcn.0047ade0
mov ecx, eax
call fcn.0047b930
lea ecx, [ebp - 0x108]
call fcn.00488460
lea ecx, [ebp - 0x58]
call fcn.00403070
mov esi, dword [ebp + 0x14]
lea eax, [ebp - 0x18]
mov ecx, dword [ebx]
push esi
push eax
call fcn.00476db0
push eax
lea eax, [ebp - 0xd8]
push eax
call fcn.0047ad80
mov ecx, eax
call fcn.0046f900
lea ecx, [ebp - 0x18]
call fcn.00403070
lea eax, [ebp - 0xd8]
push eax
call fcn.0047ad80
mov ecx, eax
call fcn.00470fb0
test al, al
jne 0x4a7247
mov ecx, dword [ebx]
mov dword [ebp + 0xc], ecx
cmp dword [ecx + 0x14], 7
jne 0x4a7274
mov esi, dword [ecx + 0x64]
lea eax, [ebp - 0x3c4]
sub esi, dword [ecx + 0x60]
neg esi
push 0x2b4
sbb esi, esi
and esi, dword [ecx + 0x60]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x3c4]
push 0x4008
push 0x2b4
push eax
push 0
push esi
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov eax, dword [ebp - 0x3c0]
test eax, eax
je 0x4a7244
mov ecx, dword [ebx]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.00476db0
push eax
call fcn.0047ad80
mov ecx, eax
call fcn.0046e020
lea ecx, [ebp - 0x18]
call fcn.00403070
mov esi, dword [ebp + 0x14]
lea eax, [ebp - 0xd8]
push eax
call fcn.0047ad80
mov ecx, eax
call fcn.00470fb0
test al, al
jne 0x4a72fb
mov eax, dword [ebx]
lea ecx, [ebp - 0x58]
cmp dword [eax + 0x14], 4
jne 0x4a72a9
push str.url
jmp 0x4a72ae
lea eax, [ebp - 0x58]
push eax
call fcn.00476db0
mov ecx, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0048ccd0
push eax
call fcn.0047ad80
mov ecx, eax
call fcn.0046e270
lea ecx, [ebp - 0x18]
call fcn.00403070
lea ecx, [ebp - 0x58]
call fcn.00403070
jmp 0x4a7247
push str.err
call fcn.00402fa0
push esi
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0047ad80
mov ecx, eax
call fcn.0046f900
push eax
lea ecx, [ebp - 0xd8]
call fcn.0040f730
lea ecx, [ebp - 0x18]
call fcn.00403070
lea ecx, [ebp - 0x58]
call fcn.00403070
lea eax, [ebp - 0xd8]
push eax
call fcn.0047ad80
mov ecx, eax
call fcn.00470fb0
test al, al
je 0x4a732b
push str.item_icon
lea ecx, [ebp - 0x58]
call fcn.00402fa0
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.004342c0
lea ecx, [ebp - 0x58]
mov esi, eax
call fcn.00403070
lea eax, [ebp - 0xd8]
mov ecx, esi
push eax
call fcn.0042b530
push 9
xor eax, eax
mov dword [ebp - 0x74], 0
push str.item_text
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
call fcn.00402e60
lea eax, [ebp - 0x84]
mov ecx, edi
push eax
call fcn.004342c0
lea ecx, [ebp - 0x84]
mov esi, eax
call fcn.00403070
call fcn.0047aee0
mov cl, byte [eax + 0x20]
mov al, byte [esi + 0x35c]
test cl, cl
je 0x4a738e
cmp al, 1
je 0x4a73a2
mov byte [esi + 0x35c], 1
jmp 0x4a7399
test al, al
je 0x4a73a2
mov byte [esi + 0x35c], 0
mov eax, dword [esi]
mov ecx, esi
push 0
call dword [eax + 0x2c]
mov eax, dword [ebx]
mov ecx, esi
mov edx, dword [esi]
add eax, 0x18
push eax
call dword [edx + 0x154]
mov eax, dword [ebx]
mov dword [ebp + 0x14], eax
cmp dword [eax + 0xd4], 0
jbe 0x4a73f9
push 0
lea ecx, [esi + 0x3a8]
call fcn.00432750
mov edx, eax
mov eax, dword [ebp + 0x14]
add eax, 0xc4
cmp edx, eax
je 0x4a73f0
cmp dword [eax + 0x14], 8
mov ecx, eax
jb 0x4a73e5
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edx
call fcn.00402e60
mov eax, dword [esi]
mov ecx, esi
push 0
call dword [eax + 0x2c]
call fcn.0047aee0
cmp byte [eax + 0x21], 0
je 0x4a7532
mov ecx, dword [ebx]
lea edx, [ebp - 0xc0]
xor eax, eax
mov dword [ebp - 0xb0], 0
mov word [ebp - 0xc0], ax
mov dword [ebp - 0xac], 7
lea eax, [ecx + 0x18]
cmp edx, eax
je 0x4a744f
cmp dword [eax + 0x14], 8
mov ecx, eax
jb 0x4a743e
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0xc0]
call fcn.00402e60
mov ecx, dword [ebx]
lea eax, [ecx + 0x48]
push eax
lea eax, [ebp - 0x18]
push 0x598df8
push eax
call fcn.00463dc0
add esp, 0xc
mov ecx, eax
cmp dword [eax + 0x14], 8
jb 0x4a746e
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0xc0]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00403070
mov eax, dword [ebx]
cmp dword [eax + 0xec], 0
jbe 0x4a74c8
add eax, 0xdc
push eax
lea eax, [ebp - 0x18]
push 0x598df8
push eax
call fcn.00463dc0
add esp, 0xc
mov ecx, eax
cmp dword [eax + 0x14], 8
jb 0x4a74b1
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0xc0]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00403070
call fcn.0047aee0
cmp byte [eax + 0x36], 0
je 0x4a750d
mov eax, dword [ebx]
push dword [eax + 0x10c]
lea eax, [ebp - 0x18]
push 0x5836d0
push eax
call fcn.004014d0
add esp, 0xc
mov ecx, eax
cmp dword [eax + 0x14], 8
jb 0x4a74f6
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0xc0]
call fcn.00402350
lea ecx, [ebp - 0x18]
call fcn.00403070
mov eax, dword [edi]
lea ecx, [ebp - 0xc0]
push ecx
mov ecx, edi
call dword [eax + 0x48]
mov eax, dword [edi]
mov ecx, edi
push 0x190
call dword [eax + 0x58]
lea ecx, [ebp - 0xc0]
call fcn.00403070
cmp dword [ebp + 0x18], 0
jne 0x4a7837
test edi, edi
je 0x4a7837
mov eax, dword [ebx]
push dword [eax]
lea eax, [ebp - 0x18]
push str.lnk_d
push eax
call fcn.004014d0
add esp, 0xc
mov ecx, edi
push eax
call fcn.00429e60
lea ecx, [ebp - 0x18]
call fcn.00403070
mov eax, dword [ebx]
lea ecx, [edi + 0x424]
mov edx, dword [ecx]
push dword [eax]
call dword [edx + 4]
mov ebx, dword [ebp + 8]
mov ecx, ebx
push edi
mov eax, dword [ebx]
call dword [eax + 0x160]
mov eax, dword [ebx]
mov ecx, ebx
push 0
call dword [eax + 0x2c]
mov eax, dword [ebp - 0x6c]
sub esp, 0x20
mov ecx, esp
mov dword [ebp + 0x14], eax
lea eax, [ebp + 0x14]
mov dword [ebp - 0x34], 0x499650
mov dword [ebp - 0x30], 0
movq xmm0, qword [ebp - 0x34]
push 0x580991
push eax
sub esp, 0xc
mov eax, esp
push ecx
movq qword [eax], xmm0
mov dword [eax + 8], 0
call fcn.004856e0
add esp, 0x18
lea ecx, [ebp - 0x28]
call fcn.004853f0
lea ecx, [ebp + 0x14]
mov dword [ebp + 0x14], 0x16
push ecx
lea ecx, [edi + 0x70]
call fcn.00429860
mov esi, dword [ebp - 4]
mov dword [ebp + 8], eax
mov ebx, dword [eax + 4]
cmp dword [eax + 8], ebx
je 0x4a7616
mov dword [ebx + 0x24], 0
test esi, esi
je 0x4a7610
mov eax, dword [esi]
mov ecx, esi
push ebx
call dword [eax]
mov dword [ebx + 0x24], eax
mov eax, dword [ebp + 8]
add dword [eax + 4], 0x28
jmp 0x4a7622
lea ecx, [ebp - 0x28]
push ecx
push ebx
mov ecx, eax
call fcn.00429a60
test esi, esi
je 0x4a7639
mov edx, dword [esi]
lea eax, [ebp - 0x28]
cmp esi, eax
mov ecx, esi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov ebx, dword [ebp - 0x6c]
lea eax, [ebp + 0x14]
sub esp, 0x20
mov dword [ebp - 0x34], 0x499650
mov ecx, esp
mov dword [ebp - 0x30], 0
movq xmm0, qword [ebp - 0x34]
mov dword [ebp + 0x14], ebx
push 0x580991
push eax
sub esp, 0xc
mov eax, esp
push ecx
movq qword [eax], xmm0
mov dword [eax + 8], 0
call fcn.004856e0
add esp, 0x18
lea ecx, [ebp - 0x28]
call fcn.004853f0
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.00489d80
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x4a76a4
mov edx, dword [ecx]
lea eax, [ebp - 0x28]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
sub esp, 0x20
mov dword [ebp - 0x34], 0x49bf30
mov ecx, esp
mov dword [ebp - 0x30], 0
movq xmm0, qword [ebp - 0x34]
lea eax, [ebp + 0x14]
mov dword [ebp + 0x14], ebx
push 0x580991
push eax
sub esp, 0xc
mov eax, esp
push ecx
movq qword [eax], xmm0
mov dword [eax + 8], 0
call fcn.004856e0
add esp, 0x18
lea ecx, [ebp - 0x28]
call fcn.004853f0
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.00489de0
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x4a770c
mov edx, dword [ecx]
lea eax, [ebp - 0x28]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
call fcn.0047aee0
cmp byte [eax + 0x20], 0
je 0x4a7840
sub esp, 0x20
mov dword [ebp - 0x34], 0x49f590
mov edx, esp
mov dword [ebp - 0x30], 0
movq xmm0, qword [ebp - 0x34]
lea eax, [ebp + 0x14]
mov dword [ebp + 0x14], ebx
push 0x580991
push eax
sub esp, 0xc
mov eax, esp
push edx
movq qword [eax], xmm0
mov dword [eax + 8], 0
call fcn.004856e0
add esp, 0x18
lea ecx, [ebp - 0x28]
call fcn.004853f0
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.00489e40
lea ecx, [ebp - 0x28]
call fcn.0040f700
sub esp, 0x20
mov dword [ebp - 0x34], 0x49f630
mov edx, esp
mov dword [ebp - 0x30], 0
movq xmm0, qword [ebp - 0x34]
lea eax, [ebp + 0x14]
mov dword [ebp + 0x14], ebx
push 0x580991
push eax
sub esp, 0xc
mov eax, esp
push edx
movq qword [eax], xmm0
mov dword [eax + 8], 0
call fcn.004856e0
add esp, 0x18
lea ecx, [ebp - 0x28]
call fcn.004853f0
lea eax, [ebp + 0x14]
mov dword [ebp + 0x14], 0x10
push eax
lea ecx, [edi + 0x70]
call fcn.00429860
mov edi, eax
mov esi, dword [edi + 4]
cmp dword [edi + 8], esi
je 0x4a780d
mov ecx, dword [ebp - 4]
mov dword [esi + 0x24], 0
test ecx, ecx
je 0x4a77eb
mov eax, dword [ecx]
push esi
call dword [eax]
mov dword [esi + 0x24], eax
add dword [edi + 4], 0x28
lea ecx, [ebp - 0x28]
call fcn.0040f700
lea ecx, [ebp - 0xd8]
call fcn.00403070
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push esi
call fcn.00429a60
lea ecx, [ebp - 0x28]
call fcn.0040f700
lea ecx, [ebp - 0xd8]
call fcn.00403070
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x2c]
lea ecx, [ebp - 0xd8]
call fcn.00403070
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 0x14
push 0x5bbb54
call fcn.00534704
add esp, 4
cmp dword [0x5bbb54], 0xffffffff
jne 0x4a6e01
push 1
push str.__a_z0_9__a_z0_9___._a_z0_9__a_z0_9___.__:comcnnetorggovinfolaccco___:.__:cnjp______:___:_
mov ecx, 0x5bbb40
call fcn.00487c10
push 0x57ad70
call fcn.00534532
push 0x5bbb54
call fcn.005346ba
add esp, 8
jmp 0x4a6e01
push 0x5bbb6c
call fcn.00534704
add esp, 4
cmp dword [0x5bbb6c], 0xffffffff
jne 0x4a6e12
push 1
push str.__a_z0_9__a_z0_9___.__:comcnnetorggovinfoiolacccoren___:.__:cnjp______:___:_
mov ecx, 0x5bbb58
call fcn.00487c10
push 0x57ae10
call fcn.00534532
push 0x5bbb6c
call fcn.005346ba
add esp, 8
jmp 0x4a6e12