Function at 0x4e3bc0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x5e1d38
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3c
push esi
mov esi, ecx
push edi
xor edi, edi
mov ecx, dword [esi + 0x54]
mov eax, 1
cmp ecx, edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x34], 0x7fff
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x38], edi
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
jne 0x4e3c44
lea eax, [esp + 8]
mov ecx, esi
push eax
call fcn.004e2110
test eax, eax
je 0x4e3db6
jmp 0x4e3c4b
mov dword [esp + 8], eax
mov dword [esi + 0x54], edi
cmp dword [esi + 0xa0], edi
je 0x4e3f52
mov ecx, esi
call fcn.004e29e0
test eax, eax
je 0x4e3db6
lea ecx, [esp + 0x30]
lea edx, [esp + 0x14]
push ecx
push edx
mov ecx, esi
call fcn.004e2b20
test eax, eax
je 0x4e3db6
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x1c]
push eax
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x20]
push eax
push ecx
push edx
mov ecx, esi
call fcn.004e2d00
test eax, eax
je 0x4e3db6
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x10]
lea ecx, [esp + 0xc]
push eax
push ecx
push edx
mov ecx, esi
call fcn.004e3310
test eax, eax
je 0x4e3db6
lea eax, [esp + 0x18]
lea ecx, [esp + 0x24]
push eax
lea edx, [esp + 0x38]
push ecx
lea eax, [esp + 0x34]
push edx
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x34]
push eax
push ecx
push edx
mov ecx, esi
call fcn.004e3480
test eax, eax
je 0x4e3db6
mov edx, dword [esp + 0x28]
cmp edx, edi
je 0x4e3d64
cmp dword [esp + 0x10], edi
jne 0x4e3d64
mov eax, dword [esi + 0x98]
cmp eax, edi
jle 0x4e3d64
cmp dword [esi + 0xc], eax
jne 0x4e3d1e
cmp dword [esi + 0x18], edi
je 0x4e3d1e
cmp edx, dword [esi + 8]
je 0x4e3d64
mov ecx, dword [esi + 0x9c]
mov eax, edx
sub eax, ecx
cmp eax, 1
jg 0x4e3d31
cmp eax, edi
jg 0x4e3d64
cmp eax, 0x19
jg 0x4e3d64
lea eax, [esp + 0xc]
inc ecx
push eax
push ecx
push edx
push 0x22
push 9
mov ecx, esi
mov dword [esp + 0x20], 1
call fcn.004e17a0
test eax, eax
je 0x4e3db6
cmp dword [esp + 0xc], 2
jne 0x4e3d64
mov dword [esp + 0x10], 1
mov eax, dword [esp + 8]
cmp eax, edi
mov eax, dword [esp + 0x1c]
je 0x4e3d91
mov ecx, dword [esp + 0x18]
cmp ecx, 0x10
jg 0x4e3d91
mov edx, dword [esi + 0xa0]
sub edx, eax
dec edx
cmp ecx, edx
jl 0x4e3d91
mov dword [esi + 0xc4], edi
jmp 0x4e3e51
lea ecx, [esp + 0x38]
lea edx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x38]
push edx
push ecx
push eax
mov ecx, esi
call fcn.004e39d0
test eax, eax
jne 0x4e3dc9
pop edi
xor eax, eax
pop esi
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
add esp, 0x48
ret
mov edx, dword [esi + 0xa0]
mov ecx, dword [esp + 0x38]
sub edx, ecx
lea eax, [edx - 1]
cmp eax, edi
mov dword [esi + 0xc4], eax
jge 0x4e3e2c
lea eax, [esp + 0x40]
push 0xcf0
push eax
call fcn.00405350
mov eax, dword [eax]
push edi
push edi
push edi
push eax
push str.TXPRE_ERRUNKNOWN
mov dword [esp + 0x68], edi
call fcn.004942c0
add esp, 0x1c
lea ecx, [esp + 0x40]
mov dword [esp + 0x4c], 0xffffffff
call fcn.0059d7fd
pop edi
xor eax, eax
pop esi
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
add esp, 0x48
ret
je 0x4e3e51
mov eax, dword [esp + 8]
inc ecx
cmp eax, edi
mov dword [esi + 0xa0], ecx
je 0x4e3e4c
cmp dword [esi + 0xc4], edi
je 0x4e3e4c
mov eax, 1
jmp 0x4e3e4e
xor eax, eax
mov dword [esi + 0x54], eax
cmp dword [esi + 0x64], edi
je 0x4e3e72
mov ecx, esi
call fcn.004e17e0
test eax, eax
jne 0x4e3e72
pop edi
pop esi
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
add esp, 0x48
ret
cmp dword [esp + 0x10], edi
je 0x4e3e97
mov ecx, esi
call fcn.004e1310
mov ecx, esi
call fcn.004e3bc0
pop edi
pop esi
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
add esp, 0x48
ret
mov eax, dword [esi + 0x98]
cmp eax, edi
jle 0x4e3eaf
mov ecx, dword [esi + 0x6c]
cmp ecx, edi
je 0x4e3eaf
dec eax
push eax
call fcn.004eab20
mov edx, dword [esi + 0x4c]
cmp edx, edi
je 0x4e3ede
mov eax, dword [esi + 0x88]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge 0x4e3ec6
mov eax, ecx
mov ecx, dword [esi + 0xe4]
mov dword [esi + 0x84], eax
cmp ecx, edi
jne 0x4e3ef2
mov dword [esi + 0x88], eax
jmp 0x4e3ef2
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x88], 0x7fff
mov dword [esi + 0x84], ecx
mov eax, dword [esi + 0x90]
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
jge 0x4e3f02
mov eax, ecx
cmp edx, edi
mov dword [esi + 0x8c], eax
jne 0x4e3f16
cmp ecx, edi
je 0x4e3f16
mov dword [esi + 0x90], eax
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x98]
mov dword [esi + 0x94], edx
mov edx, dword [esp + 0x28]
inc eax
mov dword [esi + 0x98], eax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x80], ecx
mov dword [esi + 0x9c], edx
mov dword [esi + 0xb8], eax
mov ecx, dword [esp + 0x44]
pop edi
mov eax, 1
pop esi
mov dword fs:[0], ecx
add esp, 0x48
ret