Function at 0x4e915c
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 0x4e9e47
mov eax, dword [ebp]
cmp eax, 0x210
jg 0x4e91ca
je 0x4e93fb
cmp eax, 8
jg 0x4e91ac
je 0x4e95c6
sub eax, 3
je 0x4e9dde
sub eax, 2
je 0x4e9c04
sub eax, 2
je 0x4e943c
jmp 0x4e9e47
sub eax, 0x1d
je 0x4e9761
sub eax, 0x5e
je 0x4e9270
sub eax, 0xad
je 0x4e921e
jmp 0x4e9e47
cmp eax, 0xb013
jg 0x4e91f5
je 0x4e97a1
sub eax, 0xa100
je 0x4e920e
sub eax, 0xf0b
je 0x4e92ba
dec eax
je 0x4e9761
jmp 0x4e9e47
sub eax, 0xb014
je 0x4e9a32
sub eax, 5
je 0x4e93da
jmp 0x4e9e47
mov eax, ebp
mov edx, edi
call fcn.004e86d0
mov ebx, eax
jmp 0x4e9e47
xor edx, edx
mov eax, edi
call fcn.004e862c
test al, al
je 0x4e9232
mov bl, 1
jmp 0x4e9e47
call fcn.0042e1d0
test al, al
je 0x4e9e47
mov eax, dword [edi + 0x44]
mov edx, dword [0x43c854]
call fcn.00403a68
test al, al
je 0x4e9e47
push 0
push 0
mov eax, dword [edi + 0x44]
call fcn.00447114
push eax
mov eax, dword [0x52ab78]
mov eax, dword [eax]
call eax
jmp 0x4e9e47
mov eax, dword [edi + 0x44]
test eax, eax
je 0x4e9e47
cmp dword [eax + 0x7c], 0
je 0x4e9e47
mov eax, edi
call fcn.004e7b5c
test eax, eax
je 0x4e9e47
mov eax, edi
call fcn.004e7b5c
mov al, byte [eax + 0x3c]
push eax
mov eax, edi
call fcn.004e7b5c
mov eax, dword [eax + 0x44]
mov edx, dword [edi + 0x44]
mov edx, dword [edx + 0x7c]
pop ecx
call fcn.004d0364
jmp 0x4e9e47
mov eax, edi
call fcn.004e7b5c
test eax, eax
je 0x4e9e47
mov eax, edi
call fcn.004e7b5c
mov eax, dword [eax + 0xc4]
cmp byte [eax + 0xd], 1
jne 0x4e9e47
cmp dword [edi + 0x44], 0
je 0x4e9e47
mov eax, dword [edi + 0x44]
test byte [eax + 0x1c], 8
jne 0x4e9e47
cmp dword [edi + 0x4c], 0
je 0x4e9e47
cmp dword [ebp + 4], 0
jne 0x4e93ca
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 [0x43c854]
call fcn.00403a68
test al, al
je 0x4e93ce
mov eax, esi
mov edx, dword [0x43c854]
call fcn.00403a8c
mov ebp, eax
mov eax, ebp
call fcn.00443e44
dec eax
test eax, eax
jl 0x4e93ce
inc eax
mov dword [esp + 4], eax
xor esi, esi
mov edx, esi
mov eax, ebp
call fcn.00443e08
mov edx, dword [0x43c854]
call fcn.00403a68
test al, al
je 0x4e939f
mov edx, esi
mov eax, ebp
call fcn.00443e08
call fcn.00447418
test al, al
je 0x4e939f
mov edx, esi
mov eax, ebp
call fcn.00443e08
call fcn.00447114
xor ecx, ecx
mov edx, 0x21
call fcn.004cb0e4
jmp 0x4e93c1
push 0
mov dx, 0x21
xor eax, eax
call fcn.0040790c
push eax
mov edx, esi
mov eax, ebp
call fcn.00443e08
mov edx, 0xa100
pop ecx
call fcn.00441acc
inc esi
dec dword [esp + 4]
jne 0x4e9359
jmp 0x4e93ce
mov byte [edi + 0x28], 0
mov byte [edi + 0x80], 1
jmp 0x4e9e47
mov eax, dword [edi + 0x44]
test eax, eax
je 0x4e9e47
cmp byte [eax + 0x57], 0
je 0x4e9e47
mov eax, edi
call fcn.004e7d00
jmp 0x4e9e47
mov esi, dword [edi + 0x44]
mov eax, esi
mov edx, dword [0x43c854]
call fcn.00403a68
test al, al
je 0x4e9e47
mov eax, dword [ebp + 4]
and eax, 0xffff
dec eax
sub eax, 2
jae 0x4e9e47
cmp word [ebp + 4], 1
jne 0x4e9e47
mov eax, esi
call fcn.004c649c
jmp 0x4e9e47
mov eax, dword [edi + 0x44]
mov edx, dword [0x43c854]
call fcn.00403a68
test al, al
je 0x4e9e47
xor edx, edx
mov eax, edi
call fcn.004e862c
test al, al
je 0x4e9e47
mov eax, dword [edi + 0x44]
mov si, 0xffb8
call fcn.00403ad8
test al, al
je 0x4e9e47
mov eax, dword [edi + 0x44]
cmp byte [eax + 0x1a4], 0
je 0x4e9e47
mov eax, edi
call fcn.004e7b5c
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 0x40], 0x64
jne 0x4e94bb
mov eax, edi
call fcn.004e7b5c
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 0x78], 0x64
je 0x4e9e47
mov byte [edi + 0x80], 1
mov byte [edi + 0x54], 1
mov eax, dword [edi + 0x50]
cmp eax, 0xff
ja 0x4e94d7
bt dword [0x516128], eax
jae 0x4e9e47
mov eax, edi
call fcn.004e7b5c
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 8], 1
jle 0x4e9e47
mov byte [edi + 0x80], 1
mov byte [esp], 0
mov eax, edi
call fcn.004e7b5c
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 0x4e9548
cmp byte [edi + 0xd], 0
jne 0x4e9548
mov eax, edi
call fcn.004e7b5c
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.00440a94
mov byte [esp], 1
mov eax, edi
call fcn.004e7b5c
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 0x4e9592
cmp byte [edi + 0xc], 0
jne 0x4e9592
mov eax, edi
call fcn.004e7b5c
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.00423b84
mov byte [esp], 1
cmp byte [esp], 0
je 0x4e95aa
push 0xffffffffffffffff
push 0
mov eax, dword [edi + 0x44]
call fcn.00447114
push eax
call fcn.004075c0
push 0
push 0
push 0x85
mov eax, dword [edi + 0x44]
call fcn.00447114
push eax
call fcn.004076f8
jmp 0x4e9e47
cmp dword [edi + 0x44], 0
je 0x4e9e47
xor edx, edx
mov eax, edi
call fcn.004e862c
test al, al
je 0x4e9e47
mov eax, dword [edi + 0x44]
mov edx, dword [0x43c854]
call fcn.00403a68
test al, al
je 0x4e9e47
mov eax, dword [edi + 0x44]
mov si, 0xffb8
call fcn.00403ad8
test al, al
je 0x4e9e47
mov eax, edi
call fcn.004e7b5c
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 0x40], 0x64
jne 0x4e963f
mov eax, edi
call fcn.004e7b5c
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 0x78], 0x64
je 0x4e9e47
mov byte [edi + 0x80], 1
mov byte [edi + 0x54], 0
mov byte [esp], 0
mov eax, dword [edi + 0x50]
cmp eax, 0xff
ja 0x4e965f
bt dword [0x516128], eax
jae 0x4e9702
mov eax, edi
call fcn.004e77ec
test al, al
jne 0x4e9702
mov eax, edi
call fcn.004e7b5c
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 0x4e96b8
cmp byte [edi + 0xd], 0
jne 0x4e96b8
mov eax, edi
call fcn.004e7b5c
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.00440a94
mov byte [esp], 1
mov eax, edi
call fcn.004e7b5c
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 0x4e9702
cmp byte [edi + 0xc], 0
jne 0x4e9702
mov eax, edi
call fcn.004e7b5c
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.00423b84
mov byte [esp], 1
mov eax, dword [edi + 0x44]
cmp byte [eax + 0x57], 0
je 0x4e9e47
mov eax, dword [edi + 0x50]
cmp eax, 0xff
ja 0x4e9720
bt dword [0x516128], eax
jae 0x4e9e47
mov byte [edi + 0x80], 1
cmp byte [esp], 0
je 0x4e9745
push 0xffffffffffffffff
push 0
mov eax, dword [edi + 0x44]
call fcn.00447114
push eax
call fcn.004075c0
push 0
push 0
push 0x85
mov eax, dword [edi + 0x44]
call fcn.00447114
push eax
call fcn.004076f8
jmp 0x4e9e47
mov byte [edi + 0x55], 0
mov byte [edi + 0x54], 0
mov esi, dword [edi + 0x44]
test esi, esi
je 0x4e9e47
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
jne 0x4e9e47
cmp dword [edi + 0x24], 0xffffffff
je 0x4e9e47
lea eax, [edi + 0x24]
call fcn.00493a44
mov dword [edi + 0x24], 0xffffffff
jmp 0x4e9e47
mov eax, dword [edi + 0x44]
test byte [eax + 0x1c], 0x10
jne 0x4e9e47
xor edx, edx
mov eax, edi
call fcn.004e862c
test al, al
je 0x4e9e47
mov eax, edi
call fcn.004e7b5c
mov eax, dword [eax + 0xc4]
mov edx, 1
call fcn.004e4ffc
test al, al
jne 0x4e9e47
mov eax, edi
call fcn.004e7b5c
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 0x40], 0x64
jne 0x4e9812
mov eax, edi
call fcn.004e7b5c
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 0x78], 0x64
je 0x4e9e47
mov esi, dword [edi + 0x44]
test esi, esi
je 0x4e9a12
mov eax, esi
mov edx, dword [0x43c854]
call fcn.00403a68
test al, al
je 0x4e9a12
cmp dword [0x52bf30], 0
je 0x4e9a12
mov eax, esi
call fcn.00443e44
dec eax
test eax, eax
jl 0x4e98be
inc eax
mov dword [esp + 4], eax
xor esi, esi
mov edx, esi
mov eax, dword [edi + 0x44]
call fcn.00443e08
mov edx, dword [0x5150a0]
call fcn.00403a68
test al, al
je 0x4e98b7
mov edx, esi
mov eax, dword [edi + 0x44]
call fcn.00443e08
cmp eax, dword [edi + 0x44]
je 0x4e98b7
mov edx, esi
mov eax, dword [edi + 0x44]
call fcn.00443e08
cmp eax, dword [ebp + 8]
je 0x4e98b7
mov edx, esi
mov eax, dword [edi + 0x44]
call fcn.00443e08
mov eax, dword [eax + 0x198]
cmp byte [eax + 0x55], 0
je 0x4e98b7
push 0
mov edx, esi
mov eax, dword [edi + 0x44]
call fcn.00443e08
xor ecx, ecx
mov edx, 0xb014
call fcn.00441acc
inc esi
dec dword [esp + 4]
jne 0x4e9852
mov eax, dword [edi + 0x50]
cmp eax, 0xff
ja 0x4e98cf
bt dword [0x5160e8], eax
jb 0x4e98d5
mov byte [edi + 0x55], 1
mov eax, dword [edi + 0x44]
call fcn.00447114
mov edx, eax
mov eax, dword [0x52bf30]
call fcn.004e3880
mov eax, dword [edi + 0x50]
mov edx, eax
cmp edx, 0xff
ja 0x4e98fd
bt dword [0x516108], edx
jb 0x4e9912
add eax, 0xffffffa4
sub eax, 3
jb 0x4e9912
xor ecx, ecx
xor edx, edx
mov eax, edi
call fcn.004e69f0
mov eax, dword [edi + 0x50]
cmp eax, 0xff
ja 0x4e9923
bt dword [0x516128], eax
jae 0x4e9e47
mov eax, edi
call fcn.004e7b5c
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 8], 1
jle 0x4e9e47
mov byte [edi + 0x80], 1
mov byte [esp], 0
mov eax, edi
call fcn.004e7b5c
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 0x4e9994
cmp byte [edi + 0xd], 0
jne 0x4e9994
mov eax, edi
call fcn.004e7b5c
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.00440a94
mov byte [esp], 1
mov eax, edi
call fcn.004e7b5c
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 0x4e99de
cmp byte [edi + 0xc], 0
jne 0x4e99de
mov eax, edi
call fcn.004e7b5c
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.00423b84
mov byte [esp], 1
cmp byte [esp], 0
je 0x4e99f6
push 0xffffffffffffffff
push 0
mov eax, dword [edi + 0x44]
call fcn.00447114
push eax
call fcn.004075c0
push 0
push 0
push 0x85
mov eax, dword [edi + 0x44]
call fcn.00447114
push eax
call fcn.004076f8
jmp 0x4e9e47
mov eax, dword [edi + 0x50]
cmp eax, 0xff
ja 0x4e9a23
bt dword [0x5160e8], eax
jb 0x4e9e47
mov byte [edi + 0x55], 1
jmp 0x4e9e47
mov eax, dword [edi + 0x44]
test byte [eax + 0x1c], 0x10
jne 0x4e9e47
xor edx, edx
mov eax, edi
call fcn.004e862c
test al, al
je 0x4e9e47
mov eax, edi
call fcn.004e7b5c
mov eax, dword [eax + 0xc4]
mov edx, 1
call fcn.004e4ffc
test al, al
jne 0x4e9e47
mov eax, dword [edi + 0x50]
cmp eax, 0xff
ja 0x4e9a80
bt dword [0x5160e8], eax
jb 0x4e9a86
mov byte [edi + 0x55], 0
mov eax, dword [edi + 0x50]
mov edx, eax
cmp edx, 0xff
ja 0x4e9a9a
bt dword [0x516108], edx
jb 0x4e9ab9
add eax, 0xffffffa4
sub eax, 3
jb 0x4e9ab9
cmp dword [edi + 0x24], 0xffffffff
je 0x4e9ab9
lea eax, [edi + 0x24]
call fcn.00493a44
mov dword [edi + 0x24], 0xffffffff
mov byte [esp], 0
mov eax, dword [edi + 0x50]
cmp eax, 0xff
ja 0x4e9ace
bt dword [0x516128], eax
jae 0x4e9ba5
mov eax, edi
call fcn.004e77ec
test al, al
jne 0x4e9ba5
mov eax, edi
call fcn.004e7b5c
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 0x40], 0x64
jne 0x4e9b17
mov eax, edi
call fcn.004e7b5c
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 0x78], 0x64
je 0x4e9ba5
mov eax, edi
call fcn.004e7b5c
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 0x4e9b5b
cmp byte [edi + 0xd], 0
jne 0x4e9b5b
mov eax, edi
call fcn.004e7b5c
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.00440a94
mov byte [esp], 1
mov eax, edi
call fcn.004e7b5c
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 0x4e9ba5
cmp byte [edi + 0xc], 0
jne 0x4e9ba5
mov eax, edi
call fcn.004e7b5c
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.00423b84
mov byte [esp], 1
mov eax, dword [edi + 0x44]
cmp byte [eax + 0x57], 0
je 0x4e9e47
mov eax, dword [edi + 0x50]
cmp eax, 0xff
ja 0x4e9bc3
bt dword [0x516128], eax
jae 0x4e9e47
mov byte [edi + 0x80], 1
cmp byte [esp], 0
je 0x4e9be8
push 0xffffffffffffffff
push 0
mov eax, dword [edi + 0x44]
call fcn.00447114
push eax
call fcn.004075c0
push 0
push 0
push 0x85
mov eax, dword [edi + 0x44]
call fcn.00447114
push eax
call fcn.004076f8
jmp 0x4e9e47
xor edx, edx
mov eax, edi
call fcn.004e862c
test al, al
je 0x4e9e47
mov byte [edi + 0x80], 1
mov eax, dword [edi + 0x14]
mov al, byte [eax + 8]
sub al, 1
jne 0x4e9c2d
mov eax, edi
call fcn.004e7034
mov esi, dword [edi + 0x44]
mov eax, esi
mov edx, dword [0x5150a0]
call fcn.00403a68
test al, al
je 0x4e9d16
xor edx, edx
mov eax, edi
call fcn.004e862c
test al, al
je 0x4e9dc7
mov eax, edi
call fcn.004e7b5c
mov eax, dword [eax + 0x7894]
call fcn.004059a0
cmp eax, dword [edi + 0x34]
jle 0x4e9dc7
mov eax, edi
call fcn.004e7b5c
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 0x24], 0
jle 0x4e9dc7
mov eax, dword [edi + 0x44]
call fcn.004b6e64
test eax, eax
je 0x4e9dc7
mov eax, dword [edi + 0x44]
call fcn.004b6e64
call fcn.00443e44
dec eax
test eax, eax
jl 0x4e9dc7
inc eax
mov dword [esp + 4], eax
xor esi, esi
mov eax, dword [edi + 0x44]
call fcn.004b6e64
call fcn.00443e44
cmp esi, eax
jge 0x4e9d0a
mov eax, dword [edi + 0x44]
call fcn.004b6e64
mov edx, esi
call fcn.00443e08
test byte [eax + 0x1c], 8
jne 0x4e9d0a
push 0
mov dx, 0x14
mov ax, 1
call fcn.0040790c
push eax
mov eax, dword [edi + 0x44]
call fcn.004b6e64
mov edx, esi
call fcn.00443e08
mov edx, 0xa100
pop ecx
call fcn.00441acc
inc esi
dec dword [esp + 4]
jne 0x4e9cba
jmp 0x4e9dc7
mov eax, esi
mov edx, dword [0x43c854]
call fcn.00403a68
test al, al
je 0x4e9dc7
xor edx, edx
mov eax, edi
call fcn.004e862c
test al, al
je 0x4e9dc7
mov eax, edi
call fcn.004e7b5c
mov eax, dword [eax + 0x7894]
call fcn.004059a0
cmp eax, dword [edi + 0x34]
jle 0x4e9dc7
mov eax, edi
call fcn.004e7b5c
mov eax, dword [eax + 0x7894]
imul edx, dword [edi + 0x34], 0x4b
cmp dword [eax + edx*4 + 0x24], 0
jle 0x4e9dc7
mov eax, dword [edi + 0x44]
call fcn.00443e44
dec eax
test eax, eax
jl 0x4e9dc7
inc eax
mov dword [esp + 4], eax
xor esi, esi
mov eax, dword [edi + 0x44]
call fcn.00443e44
cmp esi, eax
jge 0x4e9dc0
mov edx, esi
mov eax, dword [edi + 0x44]
call fcn.00443e08
test byte [eax + 0x1c], 8
jne 0x4e9dc0
push 0
mov dx, 0x14
mov ax, 1
call fcn.0040790c
push eax
mov edx, esi
mov eax, dword [edi + 0x44]
call fcn.00443e08
mov edx, 0xa100
pop ecx
call fcn.00441acc
inc esi
dec dword [esp + 4]
jne 0x4e9d7f
cmp dword [edi + 0x24], 0xffffffff
je 0x4e9e47
lea eax, [edi + 0x24]
call fcn.00493a44
mov dword [edi + 0x24], 0xffffffff
jmp 0x4e9e47
xor edx, edx
mov eax, edi
call fcn.004e862c
test al, al
je 0x4e9e47
mov eax, dword [edi + 0x14]
mov al, byte [eax + 8]
sub al, 1
jne 0x4e9dfc
mov eax, edi
call fcn.004e7034
mov eax, edi
call fcn.004e8244
test al, al
je 0x4e9e32
mov byte [edi + 0x80], 1
mov esi, dword [edi + 0x44]
test esi, esi
je 0x4e9e32
push 0
mov dx, 0x14
mov ax, 1
call fcn.0040790c
mov ecx, eax
mov edx, 0xa100
mov eax, esi
call fcn.00441acc
cmp dword [edi + 0x24], 0xffffffff
je 0x4e9e47
lea eax, [edi + 0x24]
call fcn.00493a44
mov dword [edi + 0x24], 0xffffffff
mov eax, ebx
pop ecx
pop edx
pop ebp
pop edi
pop esi
pop ebx
ret