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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffff8
mov edi, edx
mov ebp, eax
xor ebx, ebx
test edi, edi
je 0x4f2ee2
mov eax, dword [ebp]
cmp eax, 0x210
jg 0x4f2246
je 0x4f247a
cmp eax, 8
jg 0x4f2228
je 0x4f2647
sub eax, 3
je 0x4f2e86
sub eax, 2
je 0x4f2cac
sub eax, 2
je 0x4f24bb
jmp 0x4f2ee2
sub eax, 0x1d
je 0x4f27f6
sub eax, 0x5e
je 0x4f22ec
sub eax, 0xad
je 0x4f229a
jmp 0x4f2ee2
cmp eax, 0xb013
jg 0x4f2271
je 0x4f2836
sub eax, 0xa100
je 0x4f228a
sub eax, 0xf0b
je 0x4f2336
dec eax
je 0x4f27f6
jmp 0x4f2ee2
sub eax, 0xb014
je 0x4f2ad2
sub eax, 5
je 0x4f2459
jmp 0x4f2ee2
mov eax, ebp
mov edx, edi
call fcn.004f174c
mov ebx, eax
jmp 0x4f2ee2
xor edx, edx
mov eax, edi
call fcn.004f16a8
test al, al
je 0x4f22ae
mov bl, 1
jmp 0x4f2ee2
call fcn.004309fc
test al, al
je 0x4f2ee2
mov eax, dword [edi + 0x44]
mov edx, dword [0x447af8]
call fcn.00403afc
test al, al
je 0x4f2ee2
push 0
push 0
mov eax, dword [edi + 0x44]
call fcn.00452408
push eax
mov eax, dword [0x58798c]
mov eax, dword [eax]
call eax
jmp 0x4f2ee2
mov eax, dword [edi + 0x44]
test eax, eax
je 0x4f2ee2
cmp dword [eax + 0x7c], 0
je 0x4f2ee2
mov eax, edi
call fcn.004f0bcc
test eax, eax
je 0x4f2ee2
mov eax, edi
call fcn.004f0bcc
mov al, byte [eax + 0x3c]
push eax
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x44]
mov edx, dword [edi + 0x44]
mov edx, dword [edx + 0x7c]
pop ecx
call fcn.004ed1d0
jmp 0x4f2ee2
mov eax, edi
call fcn.004f0bcc
test eax, eax
je 0x4f2ee2
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0xc4]
call fcn.0052ac60
cmp al, 1
jne 0x4f2ee2
cmp dword [edi + 0x44], 0
je 0x4f2ee2
mov eax, dword [edi + 0x44]
test byte [eax + 0x1c], 8
jne 0x4f2ee2
cmp dword [edi + 0x4c], 0
je 0x4f2ee2
cmp dword [ebp + 4], 0
jne 0x4f2449
xor edx, edx
mov eax, dword [edi + 0x4c]
mov ecx, dword [eax]
call dword [ecx + 0x40]
xor edx, edx
mov eax, dword [edi + 0x4c]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov esi, dword [edi + 0x44]
mov eax, esi
mov edx, dword [0x447af8]
call fcn.00403afc
test al, al
je 0x4f244d
mov eax, esi
mov edx, dword [0x447af8]
call fcn.00403b20
mov ebp, eax
mov eax, ebp
call fcn.0044f100
dec eax
test eax, eax
jl 0x4f244d
inc eax
mov dword [esp + 4], eax
xor esi, esi
mov edx, esi
mov eax, ebp
call fcn.0044f0c4
mov edx, dword [0x447af8]
call fcn.00403afc
test al, al
je 0x4f241e
mov edx, esi
mov eax, ebp
call fcn.0044f0c4
call fcn.0045270c
test al, al
je 0x4f241e
mov edx, esi
mov eax, ebp
call fcn.0044f0c4
call fcn.00452408
xor ecx, ecx
mov edx, 0x21
call fcn.004e7f74
jmp 0x4f2440
push 0
mov dx, 0x21
xor eax, eax
call fcn.00407c10
push eax
mov edx, esi
mov eax, ebp
call fcn.0044f0c4
mov edx, 0xa100
pop ecx
call fcn.0044cd9c
inc esi
dec dword [esp + 4]
jne 0x4f23d8
jmp 0x4f244d
mov byte [edi + 0x28], 0
mov byte [edi + 0x80], 1
jmp 0x4f2ee2
mov eax, dword [edi + 0x44]
test eax, eax
je 0x4f2ee2
cmp byte [eax + 0x57], 0
je 0x4f2ee2
mov eax, edi
call fcn.004f0d74
jmp 0x4f2ee2
mov esi, dword [edi + 0x44]
mov eax, esi
mov edx, dword [0x447af8]
call fcn.00403afc
test al, al
je 0x4f2ee2
mov eax, dword [ebp + 4]
and eax, 0xffff
dec eax
sub eax, 2
jae 0x4f2ee2
cmp word [ebp + 4], 1
jne 0x4f2ee2
mov eax, esi
call fcn.004e3350
jmp 0x4f2ee2
mov eax, dword [edi + 0x44]
mov edx, dword [0x447af8]
call fcn.00403afc
test al, al
je 0x4f2ee2
xor edx, edx
mov eax, edi
call fcn.004f16a8
test al, al
je 0x4f2ee2
mov eax, dword [edi + 0x44]
mov si, 0xffb8
call fcn.00403b6c
test al, al
je 0x4f2ee2
mov eax, dword [edi + 0x44]
cmp byte [eax + 0x1a4], 0
je 0x4f2ee2
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 0x40], 0x64
jne 0x4f253a
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 0x78], 0x64
je 0x4f2ee2
mov byte [edi + 0x80], 1
mov byte [edi + 0x54], 1
mov eax, dword [0x587448]
mov edx, dword [edi + 0x50]
cmp edx, 0xff
ja 0x4f2558
bt dword [eax], edx
jae 0x4f2ee2
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 8], 1
jle 0x4f2ee2
mov byte [edi + 0x80], 1
mov byte [esp], 0
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
mov eax, dword [eax + edx*4 + 0x44]
mov edx, dword [edi + 0x44]
cmp eax, dword [edx + 0x70]
je 0x4f25c9
cmp byte [edi + 0xd], 0
jne 0x4f25c9
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
mov edx, dword [eax + edx*4 + 0x44]
mov eax, dword [edi + 0x44]
call fcn.0044bd70
mov byte [esp], 1
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
mov eax, dword [eax + edx*4 + 0x48]
mov edx, dword [edi + 0x44]
mov edx, dword [edx + 0x68]
cmp eax, dword [edx + 0x18]
je 0x4f2613
cmp byte [edi + 0xc], 0
jne 0x4f2613
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
mov edx, dword [eax + edx*4 + 0x48]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + 0x68]
call fcn.00424bc4
mov byte [esp], 1
cmp byte [esp], 0
je 0x4f262b
push 0xffffffffffffffff
push 0
mov eax, dword [edi + 0x44]
call fcn.00452408
push eax
call sub.user32.dll_InvalidateRect
push 0
push 0
push 0x85
mov eax, dword [edi + 0x44]
call fcn.00452408
push eax
call sub.user32.dll_SendMessageA
jmp 0x4f2ee2
cmp dword [edi + 0x44], 0
je 0x4f2ee2
xor edx, edx
mov eax, edi
call fcn.004f16a8
test al, al
je 0x4f2ee2
mov eax, dword [edi + 0x44]
mov edx, dword [0x447af8]
call fcn.00403afc
test al, al
je 0x4f2ee2
mov eax, dword [edi + 0x44]
mov si, 0xffb8
call fcn.00403b6c
test al, al
je 0x4f2ee2
mov eax, dword [edi + 0x44]
cmp byte [eax + 0x1a4], 0
je 0x4f2ee2
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 0x40], 0x64
jne 0x4f26d0
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 0x78], 0x64
je 0x4f2ee2
mov byte [edi + 0x80], 1
mov byte [edi + 0x54], 0
mov byte [esp], 0
mov eax, dword [0x587448]
mov edx, dword [edi + 0x50]
cmp edx, 0xff
ja 0x4f26f2
bt dword [eax], edx
jae 0x4f2795
mov eax, edi
call fcn.004f077c
test al, al
jne 0x4f2795
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
mov eax, dword [eax + edx*4 + 0xc]
mov edx, dword [edi + 0x44]
cmp eax, dword [edx + 0x70]
je 0x4f274b
cmp byte [edi + 0xd], 0
jne 0x4f274b
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
mov edx, dword [eax + edx*4 + 0xc]
mov eax, dword [edi + 0x44]
call fcn.0044bd70
mov byte [esp], 1
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
mov eax, dword [eax + edx*4 + 0x10]
mov edx, dword [edi + 0x44]
mov edx, dword [edx + 0x68]
cmp eax, dword [edx + 0x18]
je 0x4f2795
cmp byte [edi + 0xc], 0
jne 0x4f2795
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
mov edx, dword [eax + edx*4 + 0x10]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + 0x68]
call fcn.00424bc4
mov byte [esp], 1
mov eax, dword [edi + 0x44]
cmp byte [eax + 0x57], 0
je 0x4f2ee2
mov eax, dword [0x587448]
mov edx, dword [edi + 0x50]
cmp edx, 0xff
ja 0x4f27b5
bt dword [eax], edx
jae 0x4f2ee2
mov byte [edi + 0x80], 1
cmp byte [esp], 0
je 0x4f27da
push 0xffffffffffffffff
push 0
mov eax, dword [edi + 0x44]
call fcn.00452408
push eax
call sub.user32.dll_InvalidateRect
push 0
push 0
push 0x85
mov eax, dword [edi + 0x44]
call fcn.00452408
push eax
call sub.user32.dll_SendMessageA
jmp 0x4f2ee2
mov byte [edi + 0x55], 0
mov byte [edi + 0x54], 0
mov esi, dword [edi + 0x44]
test esi, esi
je 0x4f2ee2
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
jne 0x4f2ee2
cmp dword [edi + 0x24], 0xffffffff
je 0x4f2ee2
lea eax, [edi + 0x24]
call fcn.004acc5c
mov dword [edi + 0x24], 0xffffffff
jmp 0x4f2ee2
mov eax, dword [edi + 0x44]
test byte [eax + 0x1c], 0x10
jne 0x4f2ee2
xor edx, edx
mov eax, edi
call fcn.004f16a8
test al, al
je 0x4f2ee2
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0xc4]
mov edx, 1
call fcn.0052abf8
test al, al
jne 0x4f2ee2
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 0x40], 0x64
jne 0x4f28a7
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 0x78], 0x64
je 0x4f2ee2
mov esi, dword [edi + 0x44]
test esi, esi
je 0x4f2ab0
mov eax, esi
mov edx, dword [0x447af8]
call fcn.00403afc
test al, al
je 0x4f2ab0
mov eax, dword [0x5873e0]
cmp dword [eax], 0
je 0x4f2ab0
mov eax, esi
call fcn.0044f100
dec eax
test eax, eax
jl 0x4f2954
inc eax
mov dword [esp + 4], eax
xor esi, esi
mov edx, esi
mov eax, dword [edi + 0x44]
call fcn.0044f0c4
mov edx, dword [0x4cfb54]
call fcn.00403afc
test al, al
je 0x4f294d
mov edx, esi
mov eax, dword [edi + 0x44]
call fcn.0044f0c4
cmp eax, dword [edi + 0x44]
je 0x4f294d
mov edx, esi
mov eax, dword [edi + 0x44]
call fcn.0044f0c4
cmp eax, dword [ebp + 8]
je 0x4f294d
mov edx, esi
mov eax, dword [edi + 0x44]
call fcn.0044f0c4
mov eax, dword [eax + 0x198]
cmp byte [eax + 0x55], 0
je 0x4f294d
push 0
mov edx, esi
mov eax, dword [edi + 0x44]
call fcn.0044f0c4
xor ecx, ecx
mov edx, 0xb014
call fcn.0044cd9c
inc esi
dec dword [esp + 4]
jne 0x4f28e8
mov eax, dword [0x5870ec]
mov edx, dword [edi + 0x50]
cmp edx, 0xff
ja 0x4f2967
bt dword [eax], edx
jb 0x4f296d
mov byte [edi + 0x55], 1
mov eax, dword [edi + 0x44]
call fcn.00452408
mov edx, eax
mov eax, dword [0x5873e0]
mov eax, dword [eax]
call fcn.005294b8
mov edx, dword [0x5871c0]
mov eax, dword [edi + 0x50]
mov ecx, eax
cmp ecx, 0xff
ja 0x4f2999
bt dword [edx], ecx
jb 0x4f29ae
add eax, 0xffffffa4
sub eax, 3
jb 0x4f29ae
xor ecx, ecx
xor edx, edx
mov eax, edi
call fcn.004ef97c
mov eax, dword [0x587448]
mov edx, dword [edi + 0x50]
cmp edx, 0xff
ja 0x4f29c1
bt dword [eax], edx
jae 0x4f2ee2
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 8], 1
jle 0x4f2ee2
mov byte [edi + 0x80], 1
mov byte [esp], 0
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
mov eax, dword [eax + edx*4 + 0x44]
mov edx, dword [edi + 0x44]
cmp eax, dword [edx + 0x70]
je 0x4f2a32
cmp byte [edi + 0xd], 0
jne 0x4f2a32
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
mov edx, dword [eax + edx*4 + 0x44]
mov eax, dword [edi + 0x44]
call fcn.0044bd70
mov byte [esp], 1
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
mov eax, dword [eax + edx*4 + 0x48]
mov edx, dword [edi + 0x44]
mov edx, dword [edx + 0x68]
cmp eax, dword [edx + 0x18]
je 0x4f2a7c
cmp byte [edi + 0xc], 0
jne 0x4f2a7c
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
mov edx, dword [eax + edx*4 + 0x48]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + 0x68]
call fcn.00424bc4
mov byte [esp], 1
cmp byte [esp], 0
je 0x4f2a94
push 0xffffffffffffffff
push 0
mov eax, dword [edi + 0x44]
call fcn.00452408
push eax
call sub.user32.dll_InvalidateRect
push 0
push 0
push 0x85
mov eax, dword [edi + 0x44]
call fcn.00452408
push eax
call sub.user32.dll_SendMessageA
jmp 0x4f2ee2
mov eax, dword [0x5870ec]
mov edx, dword [edi + 0x50]
cmp edx, 0xff
ja 0x4f2ac3
bt dword [eax], edx
jb 0x4f2ee2
mov byte [edi + 0x55], 1
jmp 0x4f2ee2
mov eax, dword [edi + 0x44]
test byte [eax + 0x1c], 0x10
jne 0x4f2ee2
xor edx, edx
mov eax, edi
call fcn.004f16a8
test al, al
je 0x4f2ee2
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0xc4]
mov edx, 1
call fcn.0052abf8
test al, al
jne 0x4f2ee2
mov eax, dword [0x5870ec]
mov edx, dword [edi + 0x50]
cmp edx, 0xff
ja 0x4f2b22
bt dword [eax], edx
jb 0x4f2b28
mov byte [edi + 0x55], 0
mov edx, dword [0x5871c0]
mov eax, dword [edi + 0x50]
mov ecx, eax
cmp ecx, 0xff
ja 0x4f2b3e
bt dword [edx], ecx
jb 0x4f2b5d
add eax, 0xffffffa4
sub eax, 3
jb 0x4f2b5d
cmp dword [edi + 0x24], 0xffffffff
je 0x4f2b5d
lea eax, [edi + 0x24]
call fcn.004acc5c
mov dword [edi + 0x24], 0xffffffff
mov byte [esp], 0
mov eax, dword [0x587448]
mov edx, dword [edi + 0x50]
cmp edx, 0xff
ja 0x4f2b74
bt dword [eax], edx
jae 0x4f2c4b
mov eax, edi
call fcn.004f077c
test al, al
jne 0x4f2c4b
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 0x40], 0x64
jne 0x4f2bbd
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 0x78], 0x64
je 0x4f2c4b
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
mov eax, dword [eax + edx*4 + 0xc]
mov edx, dword [edi + 0x44]
cmp eax, dword [edx + 0x70]
je 0x4f2c01
cmp byte [edi + 0xd], 0
jne 0x4f2c01
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
mov edx, dword [eax + edx*4 + 0xc]
mov eax, dword [edi + 0x44]
call fcn.0044bd70
mov byte [esp], 1
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
mov eax, dword [eax + edx*4 + 0x10]
mov edx, dword [edi + 0x44]
mov edx, dword [edx + 0x68]
cmp eax, dword [edx + 0x18]
je 0x4f2c4b
cmp byte [edi + 0xc], 0
jne 0x4f2c4b
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
mov edx, dword [eax + edx*4 + 0x10]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + 0x68]
call fcn.00424bc4
mov byte [esp], 1
mov eax, dword [edi + 0x44]
cmp byte [eax + 0x57], 0
je 0x4f2ee2
mov eax, dword [0x587448]
mov edx, dword [edi + 0x50]
cmp edx, 0xff
ja 0x4f2c6b
bt dword [eax], edx
jae 0x4f2ee2
mov byte [edi + 0x80], 1
cmp byte [esp], 0
je 0x4f2c90
push 0xffffffffffffffff
push 0
mov eax, dword [edi + 0x44]
call fcn.00452408
push eax
call sub.user32.dll_InvalidateRect
push 0
push 0
push 0x85
mov eax, dword [edi + 0x44]
call fcn.00452408
push eax
call sub.user32.dll_SendMessageA
jmp 0x4f2ee2
xor edx, edx
mov eax, edi
call fcn.004f16a8
test al, al
je 0x4f2ee2
mov byte [edi + 0x80], 1
mov eax, dword [edi + 0x14]
mov al, byte [eax + 8]
sub al, 1
jne 0x4f2cd5
mov eax, edi
call fcn.004effc4
mov esi, dword [edi + 0x44]
mov eax, esi
mov edx, dword [0x57f0a0]
call fcn.00403afc
test al, al
je 0x4f2dbe
xor edx, edx
mov eax, edi
call fcn.004f16a8
test al, al
je 0x4f2e6f
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
call fcn.00405af4
cmp eax, dword [edi + 0x34]
jle 0x4f2e6f
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 0x24], 0
jle 0x4f2e6f
mov eax, dword [edi + 0x44]
call fcn.004d3ab0
test eax, eax
je 0x4f2e6f
mov eax, dword [edi + 0x44]
call fcn.004d3ab0
call fcn.0044f100
dec eax
test eax, eax
jl 0x4f2e6f
inc eax
mov dword [esp + 4], eax
xor esi, esi
mov eax, dword [edi + 0x44]
call fcn.004d3ab0
call fcn.0044f100
cmp esi, eax
jge 0x4f2db2
mov eax, dword [edi + 0x44]
call fcn.004d3ab0
mov edx, esi
call fcn.0044f0c4
test byte [eax + 0x1c], 8
jne 0x4f2db2
push 0
mov dx, 0x14
mov ax, 1
call fcn.00407c10
push eax
mov eax, dword [edi + 0x44]
call fcn.004d3ab0
mov edx, esi
call fcn.0044f0c4
mov edx, 0xa100
pop ecx
call fcn.0044cd9c
inc esi
dec dword [esp + 4]
jne 0x4f2d62
jmp 0x4f2e6f
mov eax, esi
mov edx, dword [0x447af8]
call fcn.00403afc
test al, al
je 0x4f2e6f
xor edx, edx
mov eax, edi
call fcn.004f16a8
test al, al
je 0x4f2e6f
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
call fcn.00405af4
cmp eax, dword [edi + 0x34]
jle 0x4f2e6f
mov eax, edi
call fcn.004f0bcc
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 0x24], 0
jle 0x4f2e6f
mov eax, dword [edi + 0x44]
call fcn.0044f100
dec eax
test eax, eax
jl 0x4f2e6f
inc eax
mov dword [esp + 4], eax
xor esi, esi
mov eax, dword [edi + 0x44]
call fcn.0044f100
cmp esi, eax
jge 0x4f2e68
mov edx, esi
mov eax, dword [edi + 0x44]
call fcn.0044f0c4
test byte [eax + 0x1c], 8
jne 0x4f2e68
push 0
mov dx, 0x14
mov ax, 1
call fcn.00407c10
push eax
mov edx, esi
mov eax, dword [edi + 0x44]
call fcn.0044f0c4
mov edx, 0xa100
pop ecx
call fcn.0044cd9c
inc esi
dec dword [esp + 4]
jne 0x4f2e27
cmp dword [edi + 0x24], 0xffffffff
je 0x4f2ee2
lea eax, [edi + 0x24]
call fcn.004acc5c
mov dword [edi + 0x24], 0xffffffff
jmp 0x4f2ee2
mov eax, dword [edi + 0x14]
mov al, byte [eax + 8]
sub al, 1
jne 0x4f2e97
mov eax, edi
call fcn.004effc4
mov eax, edi
call fcn.004f12bc
test al, al
je 0x4f2ecd
mov byte [edi + 0x80], 1
mov esi, dword [edi + 0x44]
test esi, esi
je 0x4f2ecd
push 0
mov dx, 0x14
mov ax, 1
call fcn.00407c10
mov ecx, eax
mov edx, 0xa100
mov eax, esi
call fcn.0044cd9c
cmp dword [edi + 0x24], 0xffffffff
je 0x4f2ee2
lea eax, [edi + 0x24]
call fcn.004acc5c
mov dword [edi + 0x24], 0xffffffff
mov eax, ebx
pop ecx
pop edx
pop ebp
pop edi
pop esi
pop ebx
ret