Function at 0x4a56b0
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c4
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
push edi
mov eax, dword [ebx]
mov dword [ebp - 0x44], esi
test eax, eax
je 0x4a63c5
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4a63c5
cmp dword [eax + 4], 0
je 0x4a63c5
xor edi, edi
cmp dword [ebp + 0x14], edi
jne 0x4a585e
push 0x43c
call fcn.00532e0c
mov edi, eax
add esp, 4
test edi, edi
je 0x4a585c
mov dword [edi + 4], 0x581754
mov ecx, edi
mov dword [edi + 0x430], 0x57d474
push 0
mov dword [edi + 0x434], 0
mov dword [edi + 0x438], 0
call fcn.0043fa90
mov eax, dword [edi + 4]
mov dword [edi], vtable.CardItem.0
mov dword [edi + 0x424], 0x58172c
mov dword [ebp - 0x34], 0x4998e0
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 0x4a5784
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 0x4a57bf
mov eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x4a57bf
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x20]
push eax
call fcn.00485ad0
mov ecx, dword [ebp - 0x1c]
add esp, 4
mov esi, eax
mov dword [ebp - 0x48], esi
test ecx, ecx
je 0x4a57e6
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x4a57e6
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp + 8]
mov dword [ebp + 8], 6
push eax
lea ecx, [edi + 0x70]
call fcn.004297a0
mov dword [ebp - 0x88], eax
mov ecx, dword [eax + 4]
mov dword [ebp - 0xa8], ecx
cmp dword [eax + 8], ecx
je 0x4a5834
mov dword [ecx + 0x24], 0
test esi, esi
je 0x4a582e
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 0x4a5840
lea edx, [ebp - 0x6c]
push edx
push ecx
mov ecx, eax
call fcn.004299a0
test esi, esi
je 0x4a5857
mov edx, dword [esi]
lea eax, [ebp - 0x6c]
cmp esi, eax
mov ecx, esi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov esi, dword [ebp - 0x44]
jmp 0x4a585e
xor edi, edi
cmp dword [ebp + 0xc], 0
mov eax, dword [ebp + 0x10]
jne 0x4a5888
test eax, eax
jne 0x4a5872
push str.main_item_tile32.xml
jmp 0x4a58a4
lea ecx, [ebp - 0x5c]
cmp eax, 1
jne 0x4a5881
push str.main_item_tile16.xml
jmp 0x4a58a7
push str.main_item_tile48.xml
jmp 0x4a58a7
test eax, eax
jne 0x4a5893
push str.main_item_list32.xml
jmp 0x4a58a4
cmp eax, 1
jne 0x4a589f
push str.main_item_list16.xml
jmp 0x4a58a4
push str.main_item_list48.xml
lea ecx, [ebp - 0x5c]
call fcn.00402fa0
sub esp, 0x28
mov eax, esp
mov dword [eax + 0x24], 0
lea eax, [ebp - 0x5c]
push eax
push edi
call fcn.004097f0
add esp, 0x30
lea ecx, [ebp - 0x5c]
call fcn.00403070
mov ecx, dword [esi + 0x1108]
mov eax, dword [ecx]
call dword [eax + 0x15c]
test eax, eax
jne 0x4a592a
mov ecx, edi
call fcn.00429ed0
mov ecx, edi
mov esi, eax
call fcn.00429e50
push 1
sub esp, 8
mov ecx, esp
push 0
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov ecx, dword [ebp - 0x44]
push 0x5b91a0
push 0x5b8c68
push 0
mov ecx, dword [ecx + 0x1108]
mov eax, dword [ecx]
call dword [eax + 0x18c]
push eax
call sub.msvcrt.dll___RTDynamicCast
add esp, 0x14
mov ecx, eax
call fcn.0043c8e0
mov eax, dword [ebx]
cmp dword [eax + 0x14], 4
jne 0x4a5cf9
add eax, 0x6c
push str.url
push eax
call fcn.00407200
add esp, 8
test al, al
je 0x4a5cf9
mov eax, dword fs:[0x2c]
mov ecx, dword [0x5baf70]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x5bab04]
cmp eax, dword [esi + 8]
jg 0x4a63d0
mov eax, dword [0x5bab1c]
cmp eax, dword [esi + 8]
jg 0x4a6417
mov eax, dword [ebx]
add eax, 0x48
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.00401570
add esp, 8
lea ecx, [ebp - 0x110]
call fcn.00487580
push 0
push 0x5baaf0
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.004871b0
add esp, 0x10
test al, al
je 0x4a5b25
lea eax, [ebp - 0xa4]
push eax
push 1
lea ecx, [ebp - 0x110]
call fcn.004882a0
mov ecx, eax
call fcn.004ab380
cmp dword [eax + 0x14], 8
jb 0x4a59e2
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.004958c0
add esp, 4
test eax, eax
je 0x4a5a36
mov ecx, dword [ebx]
lea eax, [ebp - 0x84]
push eax
add ecx, 0x6c
call fcn.00407260
jmp 0x4a5b1a
lea eax, [ebp - 0x40]
push eax
push 1
lea ecx, [ebp - 0x110]
call fcn.004882a0
mov ecx, eax
call fcn.004ab380
cmp dword [eax + 0x14], 8
jb 0x4a5a56
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.004958c0
add esp, 4
test eax, eax
je 0x4a5aa7
mov ecx, dword [ebx]
lea eax, [ebp - 0xa4]
push eax
add ecx, 0x6c
call fcn.00407260
jmp 0x4a5b0f
lea eax, [ebp - 0x18]
push eax
push 1
lea ecx, [ebp - 0x110]
call fcn.004882a0
mov ecx, eax
call fcn.004ab380
cmp dword [eax + 0x14], 8
jb 0x4a5ac7
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.004958c0
add esp, 4
test eax, eax
je 0x4a5b07
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 0x4a5cc2
push 0
push 0x5bab08
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.004871b0
add esp, 0x10
test al, al
je 0x4a5cc2
lea eax, [ebp - 0x18]
push eax
push 1
lea ecx, [ebp - 0x110]
call fcn.004882a0
mov ecx, eax
call fcn.004ab380
cmp dword [eax + 0x14], 8
jb 0x4a5b82
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.004958c0
add esp, 4
test eax, eax
je 0x4a5bc7
mov ecx, dword [ebx]
lea eax, [ebp - 0x40]
push eax
add ecx, 0x6c
call fcn.00407260
jmp 0x4a5cba
lea eax, [ebp - 0x18]
push eax
push 1
lea ecx, [ebp - 0x110]
call fcn.004882a0
mov ecx, eax
call fcn.004ab380
cmp dword [eax + 0x14], 8
jb 0x4a5be7
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.004958c0
add esp, 4
test eax, eax
je 0x4a5c38
mov ecx, dword [ebx]
lea eax, [ebp - 0xa4]
push eax
add ecx, 0x6c
call fcn.00407260
jmp 0x4a5caf
lea eax, [ebp - 0x18]
push eax
push 1
lea ecx, [ebp - 0x110]
call fcn.004882a0
mov ecx, eax
call fcn.004ab380
cmp dword [eax + 0x14], 8
jb 0x4a5c58
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.004958c0
add esp, 4
test eax, eax
je 0x4a5ca4
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 0x4a5ce6
push ebx
call fcn.0047a8e0
mov ecx, eax
call fcn.0047b3f0
lea ecx, [ebp - 0x108]
call fcn.00487cb0
lea ecx, [ebp - 0x5c]
call fcn.00403070
mov esi, dword [ebp + 0x10]
lea eax, [ebp - 0x18]
mov ecx, dword [ebx]
push esi
push eax
call fcn.004769a0
push eax
lea eax, [ebp - 0xd8]
push eax
call fcn.0047a880
mov ecx, eax
call fcn.0046f650
lea ecx, [ebp - 0x18]
call fcn.00403070
lea eax, [ebp - 0xd8]
push eax
call fcn.0047a880
mov ecx, eax
call fcn.00470d00
test al, al
jne 0x4a5db5
mov ecx, dword [ebx]
mov dword [ebp + 8], ecx
cmp dword [ecx + 0x14], 7
jne 0x4a5de2
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 0x4a5db2
mov ecx, dword [ebx]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004769a0
push eax
call fcn.0047a880
mov ecx, eax
call fcn.0046dd70
lea ecx, [ebp - 0x18]
call fcn.00403070
mov esi, dword [ebp + 0x10]
lea eax, [ebp - 0xd8]
push eax
call fcn.0047a880
mov ecx, eax
call fcn.00470d00
test al, al
jne 0x4a5e69
mov eax, dword [ebx]
lea ecx, [ebp - 0x5c]
cmp dword [eax + 0x14], 4
jne 0x4a5e17
push str.url
jmp 0x4a5e1c
lea eax, [ebp - 0x5c]
push eax
call fcn.004769a0
mov ecx, dword [ebp + 8]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0048c510
push eax
call fcn.0047a880
mov ecx, eax
call fcn.0046dfc0
lea ecx, [ebp - 0x18]
call fcn.00403070
lea ecx, [ebp - 0x5c]
call fcn.00403070
jmp 0x4a5db5
push str.err
call fcn.00402fa0
push esi
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0047a880
mov ecx, eax
call fcn.0046f650
push eax
lea ecx, [ebp - 0xd8]
call fcn.0040f730
lea ecx, [ebp - 0x18]
call fcn.00403070
lea ecx, [ebp - 0x5c]
call fcn.00403070
lea eax, [ebp - 0xd8]
push eax
call fcn.0047a880
mov ecx, eax
call fcn.00470d00
test al, al
je 0x4a5e99
push str.item_icon
lea ecx, [ebp - 0x5c]
call fcn.00402fa0
lea eax, [ebp - 0x5c]
mov ecx, edi
push eax
call fcn.004341f0
lea ecx, [ebp - 0x5c]
mov esi, eax
call fcn.00403070
lea eax, [ebp - 0xd8]
mov ecx, esi
push eax
call fcn.0042b470
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.004341f0
lea ecx, [ebp - 0x84]
mov esi, eax
call fcn.00403070
call fcn.0047a9c0
mov cl, byte [eax + 0x20]
mov al, byte [esi + 0x35c]
test cl, cl
je 0x4a5efc
cmp al, 1
je 0x4a5f10
mov byte [esi + 0x35c], 1
jmp 0x4a5f07
test al, al
je 0x4a5f10
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 + 0x10], eax
cmp dword [eax + 0xd4], 0
jbe 0x4a5f67
push 0
lea ecx, [esi + 0x3a8]
call fcn.00432680
mov edx, eax
mov eax, dword [ebp + 0x10]
add eax, 0xc4
cmp edx, eax
je 0x4a5f5e
cmp dword [eax + 0x14], 8
mov ecx, eax
jb 0x4a5f53
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.0047a9c0
cmp byte [eax + 0x21], 0
je 0x4a60a0
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 0x4a5fbd
cmp dword [eax + 0x14], 8
mov ecx, eax
jb 0x4a5fac
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 0x597b48
push eax
call fcn.00463b10
add esp, 0xc
mov ecx, eax
cmp dword [eax + 0x14], 8
jb 0x4a5fdc
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 0x4a6036
add eax, 0xdc
push eax
lea eax, [ebp - 0x18]
push 0x597b48
push eax
call fcn.00463b10
add esp, 0xc
mov ecx, eax
cmp dword [eax + 0x14], 8
jb 0x4a601f
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.0047a9c0
cmp byte [eax + 0x35], 0
je 0x4a607b
mov eax, dword [ebx]
push dword [eax + 0x10c]
lea eax, [ebp - 0x18]
push 0x582420
push eax
call fcn.004014d0
add esp, 0xc
mov ecx, eax
cmp dword [eax + 0x14], 8
jb 0x4a6064
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 + 0x14], 0
jne 0x4a63a6
test edi, edi
je 0x4a63a6
mov ebx, dword [ebp - 0x44]
mov ecx, dword [ebx + 0x1108]
mov eax, dword [ecx]
call dword [eax + 0x15c]
push eax
lea eax, [ebp - 0x18]
push str.lnk_d
push eax
call fcn.004014d0
add esp, 0xc
mov ecx, edi
push eax
call fcn.00429da0
lea ecx, [ebp - 0x18]
call fcn.00403070
mov ecx, dword [ebx + 0x1108]
push edi
mov eax, dword [ecx]
call dword [eax + 0x160]
mov ecx, dword [ebx + 0x1108]
push 0
mov eax, dword [ecx]
call dword [eax + 0x2c]
sub esp, 0x20
mov dword [ebp - 0x34], 0x498630
mov ecx, esp
mov dword [ebp - 0x30], 0
movq xmm0, qword [ebp - 0x34]
lea eax, [ebp + 0x10]
mov dword [ebp + 0x10], ebx
push 0x57f7e1
push eax
sub esp, 0xc
mov eax, esp
push ecx
movq qword [eax], xmm0
mov dword [eax + 8], 0
call fcn.00484f00
add esp, 0x18
lea ecx, [ebp - 0x28]
call fcn.00484c10
lea ecx, [ebp + 0x10]
mov dword [ebp + 0x10], 0x16
push ecx
lea ecx, [edi + 0x70]
call fcn.004297a0
mov esi, dword [ebp - 4]
mov dword [ebp + 0x14], eax
mov ebx, dword [eax + 4]
cmp dword [eax + 8], ebx
je 0x4a6185
mov dword [ebx + 0x24], 0
test esi, esi
je 0x4a617f
mov eax, dword [esi]
mov ecx, esi
push ebx
call dword [eax]
mov dword [ebx + 0x24], eax
mov eax, dword [ebp + 0x14]
add dword [eax + 4], 0x28
jmp 0x4a6191
lea ecx, [ebp - 0x28]
push ecx
push ebx
mov ecx, eax
call fcn.004299a0
test esi, esi
je 0x4a61a8
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 - 0x44]
lea eax, [ebp + 0x10]
sub esp, 0x20
mov dword [ebp - 0x34], 0x498630
mov ecx, esp
mov dword [ebp - 0x30], 0
movq xmm0, qword [ebp - 0x34]
mov dword [ebp + 0x10], ebx
push 0x57f7e1
push eax
sub esp, 0xc
mov eax, esp
push ecx
movq qword [eax], xmm0
mov dword [eax + 8], 0
call fcn.00484f00
add esp, 0x18
lea ecx, [ebp - 0x28]
call fcn.00484c10
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.004895f0
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x4a6213
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], 0x49ae80
mov ecx, esp
mov dword [ebp - 0x30], 0
movq xmm0, qword [ebp - 0x34]
lea eax, [ebp + 0x10]
mov dword [ebp + 0x10], ebx
push 0x57f7e1
push eax
sub esp, 0xc
mov eax, esp
push ecx
movq qword [eax], xmm0
mov dword [eax + 8], 0
call fcn.00484f00
add esp, 0x18
lea ecx, [ebp - 0x28]
call fcn.00484c10
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.00489650
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x4a627b
mov edx, dword [ecx]
lea eax, [ebp - 0x28]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
call fcn.0047a9c0
cmp byte [eax + 0x20], 0
je 0x4a63af
sub esp, 0x20
mov dword [ebp - 0x34], 0x49e4b0
mov edx, esp
mov dword [ebp - 0x30], 0
movq xmm0, qword [ebp - 0x34]
lea eax, [ebp + 0x10]
mov dword [ebp + 0x10], ebx
push 0x57f7e1
push eax
sub esp, 0xc
mov eax, esp
push edx
movq qword [eax], xmm0
mov dword [eax + 8], 0
call fcn.00484f00
add esp, 0x18
lea ecx, [ebp - 0x28]
call fcn.00484c10
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.004896b0
lea ecx, [ebp - 0x28]
call fcn.0040f700
sub esp, 0x20
mov dword [ebp - 0x34], 0x49e550
mov edx, esp
mov dword [ebp - 0x30], 0
movq xmm0, qword [ebp - 0x34]
lea eax, [ebp + 0x10]
mov dword [ebp + 0x10], ebx
push 0x57f7e1
push eax
sub esp, 0xc
mov eax, esp
push edx
movq qword [eax], xmm0
mov dword [eax + 8], 0
call fcn.00484f00
add esp, 0x18
lea ecx, [ebp - 0x28]
call fcn.00484c10
lea eax, [ebp + 0x10]
mov dword [ebp + 0x10], 0x10
push eax
lea ecx, [edi + 0x70]
call fcn.004297a0
mov edi, eax
mov esi, dword [edi + 4]
cmp dword [edi + 8], esi
je 0x4a637c
mov ecx, dword [ebp - 4]
mov dword [esi + 0x24], 0
test ecx, ecx
je 0x4a635a
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 0x10
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push esi
call fcn.004299a0
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 0x10
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 0x10
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x5bab04
call fcn.00533284
add esp, 4
cmp dword [0x5bab04], 0xffffffff
jne 0x4a596f
push 1
push str.__a_z0_9__a_z0_9___._a_z0_9__a_z0_9___.__:comcnnetorggovinfolaccco___:.__:cnjp______:___:_
mov ecx, 0x5baaf0
call fcn.00487430
push 0x579880
call fcn.005330b2
push 0x5bab04
call fcn.0053323a
add esp, 8
jmp 0x4a596f
push 0x5bab1c
call fcn.00533284
add esp, 4
cmp dword [0x5bab1c], 0xffffffff
jne 0x4a5980
push 1
push str.__a_z0_9__a_z0_9___.__:comcnnetorggovinfoiolacccoren___:.__:cnjp______:___:_
mov ecx, 0x5bab08
call fcn.00487430
push 0x579920
call fcn.005330b2
push 0x5bab1c
call fcn.0053323a
add esp, 8
jmp 0x4a5980