Function at 0x479b00
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x162c
call fcn.00488a80
push ebx
push esi
push edi
mov esi, ecx
push 0xfa
mov dword [esp + 0x78], esi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
test al, al
je 0x479b3a
mov eax, 0xf4242
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edi, edi
lea ecx, [esp + 0x20]
mov dword [esp + 0x24], 0x3f1
mov dword [esp + 0x2c], edi
call fcn.004646b0
call fcn.00514570
lea eax, [esi + 0x3c]
push eax
lea ecx, [esp + 0xc0c]
call fcn.00453cb0
push edi
lea ecx, [esp + 0x1634]
call fcn.00483480
push 1
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0xc10]
mov byte [esp + 0x163c], 0
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
call fcn.00474070
test eax, eax
jne 0x479ccd
test dword [esp + 0x10], 0xfffffffe
mov dword [esp + 0x14], edi
jbe 0x479ccd
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 0x14]
lea ecx, [esp + 0x18]
lea esi, [edx + edi*4]
call fcn.004450b0
push esi
lea ecx, [esp + 0x1c]
call fcn.00436200
mov eax, dword [esp + 0x18]
test eax, eax
mov dword [esp + 0x1c], edi
je 0x479be1
add eax, 4
test eax, eax
jne 0x479be5
xor ecx, ecx
jmp 0x479c1d
mov edx, eax
mov al, byte [eax]
test al, al
mov ecx, 0x12345678
je 0x479c1d
cmp al, 0x41
jl 0x479c02
cmp al, 0x5a
jg 0x479c02
movsx eax, al
add eax, 0x20
jmp 0x479c05
movsx eax, al
mov esi, ecx
shl esi, 5
mov edi, ecx
add eax, esi
shr edi, 2
add edi, eax
mov al, byte [edx + 1]
xor ecx, edi
inc edx
test al, al
jne 0x479bf2
xor edx, edx
mov eax, ecx
div dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
inc esi
mov dword [esp + 0x20], esi
mov edi, edx
mov ebx, dword [eax + edi*4]
mov edx, dword [ecx + 0x10]
test edx, edx
lea eax, [ecx + 0x10]
je 0x479c52
inc dword [ecx + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, ecx
jmp 0x479c78
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 0x18]
lea esi, [ecx + 4]
jae 0x479c73
mov eax, dword [ecx + 0xc]
mov edx, dword [esi]
inc eax
mov dword [ecx + 0xc], eax
mov eax, dword [ecx]
mov ecx, dword [ecx + 0x14]
add eax, edx
add ecx, edx
mov dword [esi], ecx
jmp 0x479c78
call fcn.0050b110
test eax, eax
je 0x479c9f
mov ecx, eax
call fcn.00463ed0
mov esi, eax
test esi, esi
je 0x479c9f
lea edx, [esp + 0x18]
push edx
lea ecx, [esi + 4]
call fcn.00463140
mov dword [esi], ebx
mov eax, dword [esp + 0x2c]
mov dword [eax + edi*4], esi
lea ecx, [esp + 0x18]
call fcn.004039f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
inc eax
shr ecx, 1
cmp eax, ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
jb 0x479bb0
mov esi, dword [esp + 0x74]
xor edi, edi
mov ecx, dword [esp + 0xc]
cmp ecx, edi
je 0x479cdc
push 3
call fcn.00430c60
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x1630]
and edx, 1
cmp eax, edi
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], edx
je 0x479cfc
mov edx, dword [eax]
push eax
call dword [edx + 8]
lea ecx, [esp + 0xc08]
call fcn.00431cf0
call fcn.00514590
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
test al, al
je 0x479d2c
lea ecx, [esp + 0x20]
call fcn.004fe8b0
mov eax, 0xf4242
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esi + 0x3c]
push eax
lea ecx, [esp + 0xc0c]
call fcn.00431b40
push 0x6b6e10
lea ecx, [esp + 0xc0c]
call fcn.004a51e0
lea ecx, [esp + 0xc08]
push ecx
lea ecx, [esp + 0x1e4]
call fcn.00431b40
lea ecx, [esp + 0xc08]
call fcn.00431cf0
push 0x69a978
lea ecx, [esp + 0x1e4]
call fcn.004a51e0
mov eax, dword [esp + 0x1e0]
cmp eax, edi
je 0x479d8e
add eax, 4
jmp 0x479d90
xor eax, eax
lea edx, [esp + 0xa0]
push edx
push eax
call dword [0x6b955c]
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
jne 0x479e05
lea ecx, [esp + 0xa00]
call fcn.004039f0
lea ecx, [esp + 0x7f8]
mov dword [esp + 0xa00], edi
call fcn.004039f0
lea ecx, [esp + 0x5f0]
mov dword [esp + 0x7f8], edi
call fcn.004039f0
lea ecx, [esp + 0x3e8]
mov dword [esp + 0x5f0], edi
call fcn.004039f0
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x3e8], edi
call fcn.004039f0
jmp 0x47a3e3
lea ecx, [esp + 0x78]
call fcn.004a9ab0
push 1
lea ecx, [esp + 0x34]
call fcn.004a1210
mov dword [esp + 0x30], vtable.ytArray_struct_FilmstripHandler::FSHEntry__0__class_ytBaseThread_.0
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
mov eax, dword [esp + 0x44]
cmp eax, edi
je 0x479e43
cmp eax, esi
jne 0x479e43
inc dword [esp + 0x48]
jmp 0x479e70
mov al, byte [esp + 0x35]
test al, al
je 0x479e58
lea eax, [esp + 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
jmp 0x479e63
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x30]
call dword [edx + 0x10]
mov dword [esp + 0x48], edi
mov dword [esp + 0x44], esi
nop
lea esp, [esp]
test byte [esp + 0xa0], 0x12
jne 0x47a238
lea eax, [esp + 0xcc]
push eax
call fcn.004368c0
add esp, 4
test al, al
je 0x47a238
lea ecx, [esp + 0xcc]
push ecx
lea ecx, [esp + 0x1e4]
call fcn.004a51e0
mov ebx, dword [esp + 0x1e0]
xor ecx, ecx
cmp ebx, ecx
mov dword [esp + 0x18], ecx
je 0x479efb
lea eax, [ebx + 4]
cmp eax, ecx
je 0x479efb
mov edx, eax
mov al, byte [eax]
test al, al
mov ecx, 0x12345678
je 0x479efb
nop
cmp al, 0x41
jl 0x479ee0
cmp al, 0x5a
jg 0x479ee0
movsx eax, al
add eax, 0x20
jmp 0x479ee3
movsx eax, al
mov esi, ecx
shl esi, 5
mov edi, ecx
add eax, esi
shr edi, 2
add edi, eax
mov al, byte [edx + 1]
xor ecx, edi
inc edx
test al, al
jne 0x479ed0
xor edx, edx
mov eax, ecx
div dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + edx*4]
test edx, edx
je 0x479f9d
test ebx, ebx
je 0x479f1b
lea eax, [ebx + 4]
jmp 0x479f1d
xor eax, eax
mov ecx, dword [edx + 4]
test ecx, ecx
je 0x479f7f
test eax, eax
je 0x479f83
test ecx, ecx
je 0x479f31
lea edi, [ecx + 4]
jmp 0x479f33
xor edi, edi
cmp eax, edi
mov esi, eax
je 0x479f8f
test edi, edi
je 0x479f87
cmp byte [eax], 0
je 0x479f75
mov cl, byte [edi]
test cl, cl
je 0x479f75
mov al, byte [esi]
cmp al, 0x41
jl 0x479f54
cmp al, 0x5a
jg 0x479f54
add al, 0x20
cmp cl, 0x41
jl 0x479f61
cmp cl, 0x5a
jg 0x479f61
add cl, 0x20
cmp al, cl
jl 0x479f87
jg 0x479f87
mov al, byte [esi + 1]
inc esi
inc edi
test al, al
jne 0x479f42
cmp byte [edi], 0
jmp 0x479f85
cmp byte [esi], 0
jne 0x479f87
cmp byte [edi], 0
jmp 0x479f85
test eax, eax
jne 0x479f87
test ecx, ecx
je 0x479f8f
mov edx, dword [edx]
test edx, edx
jne 0x479f12
jmp 0x479f9d
lea eax, [edx + 4]
test eax, eax
je 0x479f9d
mov ecx, dword [eax + 4]
mov dword [esp + 0x18], ecx
lea edx, [esp + 0xb4]
push edx
lea ecx, [esp + 0x9c]
call fcn.004a6dd0
mov esi, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x1e0]
test eax, eax
mov dword [esp + 0x84], eax
je 0x479fe7
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
jae 0x479fe7
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edx, dword [esi]
mov ecx, dword [esp + 0x6c]
test cl, 1
mov dword [esp + 0x88], edx
mov eax, dword [esi + 4]
mov dword [esp + 0x8c], eax
jne 0x47a0ce
mov eax, ecx
shr eax, 1
lea edx, [eax - 1]
test eax, edx
jne 0x47a0a1
lea esi, [eax + eax]
test esi, esi
jne 0x47a022
mov esi, 1
xor edi, edi
test esi, esi
je 0x47a086
mov eax, esi
shl eax, 4
add eax, 4
push eax
call fcn.00489377
add esp, 4
test eax, eax
je 0x47a0ce
push fcn.0044edb0
push esi
lea edi, [eax + 4]
push 0x10
push edi
mov dword [eax], esi
call fcn.00430db0
test edi, edi
je 0x47a0ce
mov eax, dword [esp + 0x6c]
shr eax, 1
cmp eax, esi
jbe 0x47a064
mov eax, esi
test eax, eax
jbe 0x47a086
xor esi, esi
mov ebx, eax
lea esp, [esp]
mov ecx, dword [esp + 0x68]
lea edx, [esi + ecx]
push edx
lea ecx, [esi + edi]
call fcn.00452010
add esi, 0x10
dec ebx
jne 0x47a070
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x47a095
push 3
call fcn.00451ec0
test edi, edi
mov dword [esp + 0x68], edi
je 0x47a0ce
mov ecx, dword [esp + 0x6c]
lea eax, [esp + 0x80]
shr ecx, 1
push eax
mov eax, dword [esp + 0x6c]
shl ecx, 4
add ecx, eax
call fcn.00452010
mov eax, dword [esp + 0x6c]
mov ecx, eax
and ecx, 0xfffffffe
add ecx, 2
and eax, 1
xor ecx, eax
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0x84]
call fcn.004039f0
xor edi, edi
lea ecx, [esp + 0x78]
mov dword [esp + 0x84], edi
call fcn.004a99a0
fcomp qword [0x6609b0]
fnstsw ax
test ah, 0x41
jne 0x47a238
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x38]
push edi
lea edx, [esp + 0x34]
push edx
call fcn.00450ab0
test eax, eax
jne 0x47a2ad
mov eax, dword [esp + 0x6c]
mov ecx, eax
shr eax, 1
and ecx, 1
cmp eax, edi
je 0x47a22f
cmp ecx, edi
je 0x47a146
mov ecx, dword [esp + 0x68]
cmp ecx, edi
je 0x47a13d
push 3
call fcn.00451ec0
mov dword [esp + 0x68], edi
jmp 0x47a22a
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edi
fild qword [esp + 0x90]
fstp dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
shr ecx, 0x17
and ecx, 0xff
sub ecx, 0x7f
js 0x47a17a
mov edx, 1
shl edx, cl
jmp 0x47a17c
xor edx, edx
cmp edx, eax
jae 0x47a182
add edx, edx
cmp edx, 1
je 0x47a22a
push 0x14
call fcn.00489377
add esp, 4
cmp eax, edi
je 0x47a22a
lea esi, [eax + 4]
mov ecx, esi
mov dword [eax], 1
mov dword [esp + 0xc], esi
call fcn.0044edb0
cmp esi, edi
je 0x47a22a
mov eax, dword [esp + 0x6c]
shr eax, 1
cmp eax, 1
jbe 0x47a1c5
mov eax, 1
cmp eax, edi
jbe 0x47a213
mov ecx, dword [esp + 0xc]
mov ebx, 0xfffffff8
lea edi, [ecx + 8]
sub ebx, ecx
mov dword [esp + 0x18], eax
nop
lea esp, [esp]
mov ecx, dword [esp + 0x68]
lea esi, [ebx + edi]
add esi, ecx
mov ecx, dword [esi]
lea edx, [esi + 4]
mov dword [edi - 8], ecx
push edx
lea ecx, [edi - 4]
call fcn.00436200
mov eax, dword [esi + 8]
mov dword [edi], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esp + 0x18]
mov dword [edi + 4], ecx
add edi, 0x10
dec eax
mov dword [esp + 0x18], eax
jne 0x47a1e0
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x47a222
push 3
call fcn.00451ec0
mov edx, dword [esp + 0xc]
mov dword [esp + 0x68], edx
and dword [esp + 0x6c], 1
lea ecx, [esp + 0x78]
call fcn.004a9a90
mov esi, dword [esp + 0x74]
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
test al, al
jne 0x47a261
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0xa0]
push ecx
push edx
call dword [0x6b9554]
test eax, eax
jne 0x479e70
mov ecx, dword [esp + 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [esi + 0x38]
xor ebx, ebx
push ebx
lea edx, [esp + 0x34]
push edx
call fcn.00450ab0
mov dword [esp + 0x18], eax
cmp dword [esp + 0x48], ebx
je 0x47a3fd
cmp dword [esp + 0x44], ebx
je 0x47a3fd
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [esp + 0x44], eax
jne 0x47a3fd
dec dword [esp + 0x48]
jmp 0x47a421
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [esp + 0x48], edi
je 0x47a2d6
cmp dword [esp + 0x44], edi
je 0x47a2d6
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [esp + 0x44], eax
jne 0x47a2d6
dec dword [esp + 0x48]
jmp 0x47a2fa
mov al, byte [esp + 0x35]
test al, al
mov dword [esp + 0x44], edi
je 0x47a2ef
lea ecx, [esp + 0x4c]
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x47a2fa
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x30]
call dword [edx + 0x14]
mov ecx, dword [esp + 0x68]
cmp ecx, edi
mov dword [esp + 0x30], vtable.ytArray_struct_FilmstripHandler::FSHEntry__0__class_ytBaseThread_.0
je 0x47a311
push 3
call fcn.00451ec0
mov edx, dword [esp + 0x6c]
and edx, 1
lea ecx, [esp + 0x30]
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edx
call fcn.004a1270
lea ecx, [esp + 0x78]
call fcn.00531df0
lea ecx, [esp + 0xa00]
call fcn.004039f0
lea ecx, [esp + 0x7f8]
mov dword [esp + 0xa00], edi
call fcn.004039f0
lea ecx, [esp + 0x5f0]
mov dword [esp + 0x7f8], edi
call fcn.004039f0
lea ecx, [esp + 0x3e8]
mov dword [esp + 0x5f0], edi
call fcn.004039f0
mov eax, dword [esp + 0x1e0]
cmp eax, edi
mov dword [esp + 0x3e8], edi
je 0x47a3e3
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
mov esi, eax
jae 0x47a3e3
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x7f
jne 0x47a3cf
mov edx, dword [esi]
and edx, 0xff
cmp edx, 0x80
jae 0x47a3ca
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x47a3cf
mov eax, 0xff
cmp eax, edi
jne 0x47a3e3
mov eax, dword [esp + 0x1e0]
push eax
call fcn.00499410
add esp, 4
lea ecx, [esp + 0x20]
mov dword [esp + 0x1e0], edi
call fcn.004fe8b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [esp + 0x35]
test al, al
mov dword [esp + 0x44], ebx
je 0x47a416
lea eax, [esp + 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x47a421
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x30]
call dword [edx + 0x14]
mov eax, dword [esp + 0x68]
cmp eax, ebx
mov dword [esp + 0x30], vtable.ytArray_struct_FilmstripHandler::FSHEntry__0__class_ytBaseThread_.0
je 0x47a44e
mov ecx, dword [eax - 4]
lea esi, [eax - 4]
push 0x47a6f0
push ecx
push 0x10
push eax
call fcn.00430de0
push esi
call fcn.00489183
add esp, 4
mov edx, dword [esp + 0x6c]
and edx, 1
lea ecx, [esp + 0x30]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], edx
call fcn.004a1270
lea ecx, [esp + 0x78]
call fcn.00531df0
lea ecx, [esp + 0xa00]
call fcn.004039f0
lea ecx, [esp + 0x7f8]
mov dword [esp + 0xa00], ebx
call fcn.004039f0
lea ecx, [esp + 0x5f0]
mov dword [esp + 0x7f8], ebx
call fcn.004039f0
mov eax, dword [esp + 0x3e8]
cmp eax, ebx
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov dword [esp + 0x5f0], ebx
je 0x47a50d
mov edx, dword [eax]
and edx, 0xff
cmp edx, 0x80
mov esi, eax
jae 0x47a50d
push eax
call edi
and eax, 0xff
cmp eax, 0x7f
jne 0x47a4f9
mov eax, dword [esi]
and eax, 0xff
cmp eax, 0x80
jae 0x47a4f4
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x47a4f9
mov eax, 0xff
cmp eax, ebx
jne 0x47a50d
mov ecx, dword [esp + 0x3e8]
push ecx
call fcn.00499410
add esp, 4
mov eax, dword [esp + 0x1e0]
cmp eax, ebx
mov dword [esp + 0x3e8], ebx
je 0x47a573
mov edx, dword [eax]
and edx, 0xff
cmp edx, 0x80
mov esi, eax
jae 0x47a573
push eax
call edi
and eax, 0xff
cmp eax, 0x7f
jne 0x47a55f
mov eax, dword [esi]
and eax, 0xff
cmp eax, 0x80
jae 0x47a55a
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x47a55f
mov eax, 0xff
cmp eax, ebx
jne 0x47a573
mov ecx, dword [esp + 0x1e0]
push ecx
call fcn.00499410
add esp, 4
mov eax, dword [esp + 0x2c]
cmp eax, ebx
mov dword [esp + 0x1e0], ebx
je 0x47a5cf
mov ecx, dword [esp + 0x24]
test ecx, ecx
jbe 0x47a5bc
lea ebx, [ebx]
mov esi, dword [eax + ebx*4]
test esi, esi
je 0x47a5b3
mov edi, esi
mov esi, dword [esi]
add edi, 4
mov ecx, edi
call fcn.004039f0
test esi, esi
mov dword [edi], 0
jne 0x47a597
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
inc ebx
cmp ebx, ecx
jb 0x47a590
push eax
call fcn.00499410
add esp, 4
mov dword [esp + 0x2c], 0
xor ebx, ebx
mov esi, dword [esp + 0x28]
cmp esi, ebx
je 0x47a6e0
mov edi, dword [esi + 0x20]
shr edi, 1
xor ebx, ebx
test edi, edi
jbe 0x47a607
lea edx, [esi + 0x1c]
mov dword [esp + 0xc], edx
lea ecx, [ecx]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx + ebx*4]
push edx
call fcn.00487297
add esp, 4
inc ebx
cmp ebx, edi
jb 0x47a5f0
mov eax, dword [esi + 8]
mov edx, dword [0x6bd164]
sub edx, eax
xor edi, edi
mov dword [0x6bd164], edx
mov dword [esi + 8], edi
mov eax, dword [esi + 0x1c]
cmp eax, edi
je 0x47a62d
push eax
call fcn.00489183
add esp, 4
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x1c], edi
and ecx, 1
mov dword [esi + 0x20], ecx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0xc], edi
mov dword [esi + 4], ecx
mov dword [esi + 0x10], edi
mov esi, dword [esp + 0x28]
cmp esi, edi
je 0x47a6e0
mov ebx, dword [esi + 0x20]
shr ebx, 1
xor edi, edi
test ebx, ebx
jbe 0x47a67a
lea edx, [esi + 0x1c]
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx + edi*4]
push edx
call fcn.00487297
add esp, 4
inc edi
cmp edi, ebx
jb 0x47a663
mov eax, dword [esi + 8]
mov edx, dword [0x6bd164]
sub edx, eax
xor edi, edi
mov dword [0x6bd164], edx
mov dword [esi + 8], edi
mov eax, dword [esi + 0x1c]
cmp eax, edi
je 0x47a6a0
push eax
call fcn.00489183
add esp, 4
mov edx, dword [esi + 0x20]
mov dword [esi + 0x1c], edi
mov ebx, 1
and edx, ebx
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0xc], edi
mov dword [esi + 4], ecx
mov dword [esi + 0x10], edi
mov eax, dword [esi + 0x1c]
cmp eax, edi
je 0x47a6cc
push eax
call fcn.00489183
add esp, 4
mov edx, dword [esi + 0x20]
and edx, ebx
push esi
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], edx
call fcn.00489183
add esp, 4
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret