Function at 0x4e2700
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5a7e38
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x6336a0]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
push 0x25
lea eax, [esp + 0x24]
push eax
call fcn.004e2660
mov ebx, dword [ebp + 8]
xor esi, esi
mov dword [esp + 0x38], esi
mov eax, dword [eax]
push eax
push 0x5fcf40
push ebx
call fcn.00414390
mov dword [esp + 0x38], 0xffffffff
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4e2777
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [0x6367a0], esi
jle 0x4e283d
jmp 0x4e2790
movzx ecx, byte [esi*2 + str.__._:________]
and ecx, 0xffffff7f
push ecx
lea edx, [esp + 0x18]
push edx
call fcn.004e2660
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], 1
mov di, word [esi*2 + str.__._:________]
lea ebx, [esp + 0x18]
call fcn.0048cb00
mov edx, dword [ebp + 8]
mov byte [esp + 0x38], 2
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx]
mov eax, dword [eax]
push ecx
push eax
push edx
call fcn.00414390
mov byte [esp + 0x38], 1
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4e2803
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x38], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4e282b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add esi, 1
cmp esi, dword [0x6367a0]
jl 0x4e2790
mov ebx, dword [ebp + 8]
xor esi, esi
cmp dword [0x63679c], esi
jle 0x4e28fd
jmp 0x4e2850
movzx ecx, byte [esi*2 + str._______]
and ecx, 0xffffff7f
push ecx
lea edx, [esp + 0x18]
push edx
call fcn.004e2660
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], 3
mov di, word [esi*2 + str._______]
lea ebx, [esp + 0x18]
call fcn.0048cb00
mov edx, dword [ebp + 8]
mov byte [esp + 0x38], 4
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx]
mov eax, dword [eax]
push ecx
push eax
push edx
call fcn.00414390
mov byte [esp + 0x38], 3
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4e28c3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x38], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4e28eb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add esi, 1
cmp esi, dword [0x63679c]
jl 0x4e2850
mov ebx, dword [ebp + 8]
mov byte [esp + 0x20], 0
mov esi, dword [esp + 0x20]
push esi
lea ecx, [esp + 0x18]
push ecx
call fcn.004e2660
mov edi, eax
push esi
lea edx, [esp + 0x1c]
push edx
mov dword [esp + 0x40], 5
call fcn.004e35b0
mov byte [esp + 0x38], 6
mov edi, dword [edi]
mov eax, dword [eax]
push edi
push eax
push ebx
call fcn.00414390
mov byte [esp + 0x38], 5
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4e295c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x38], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4e2984
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov al, byte [esp + 0x20]
add al, 1
cmp al, 0x1f
mov byte [esp + 0x20], al
jle 0x4e2902
push 0x7f
lea ecx, [esp + 0x1c]
push ecx
call fcn.004e2660
mov esi, eax
push 0x7f
lea edx, [esp + 0x24]
push edx
mov dword [esp + 0x40], 7
call fcn.004e35b0
mov byte [esp + 0x38], 8
mov esi, dword [esi]
mov eax, dword [eax]
push esi
push eax
push ebx
call fcn.00414390
mov byte [esp + 0x38], 7
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4e29ee
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x38], 0xffffffff
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4e2a16
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00555692
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4e2a30
push 0x80004005
call fcn.00401f90
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [esp + 0x18], edi
push str.__._:________
lea ecx, [esp + 0x20]
mov dword [esp + 0x3c], 9
call fcn.004023b0
push 1
push 0x5fcf40
lea ecx, [esp + 0x24]
mov byte [esp + 0x40], 0xa
call fcn.004044f0
mov eax, dword [ebx]
mov ecx, dword [eax - 0xc]
mov edx, dword [esp + 0x1c]
xor esi, esi
test ecx, ecx
mov dword [esp + 0x20], esi
jle 0x4e2c88
test esi, esi
jl 0x4e2ce2
cmp esi, ecx
jg 0x4e2ce2
movzx ebx, word [eax + esi*2]
cmp bx, 0x61
jb 0x4e2aa6
cmp bx, 0x7a
jbe 0x4e2c71
cmp bx, 0x41
jb 0x4e2ab6
cmp bx, 0x5a
jbe 0x4e2c71
cmp bx, 0x30
jb 0x4e2ac6
cmp bx, 0x39
jbe 0x4e2c71
cmp dword [edx - 0xc], 0
jle 0x4e2ae8
push ebx
push edx
call fcn.0057787c
add esp, 8
test eax, eax
je 0x4e2ae8
mov edx, dword [esp + 0x1c]
sub eax, edx
sar eax, 1
jns 0x4e2c71
xor esi, esi
cmp bx, 0x7f
mov dword [esp + 0x14], esi
ja 0x4e2aff
mov byte [esp + 0x14], bl
mov esi, 1
jmp 0x4e2b62
lea ecx, [ebx - 0x80]
cmp cx, 0x77f
ja 0x4e2b29
mov eax, ebx
mov dl, bl
shr eax, 6
and dl, 0x3f
or dl, 0x80
and al, 0x1f
or al, 0xc0
mov byte [esp + 0x15], dl
mov byte [esp + 0x14], al
mov esi, 2
jmp 0x4e2b62
lea ecx, [ebx - 0x800]
cmp cx, 0xf7ff
ja 0x4e2b62
mov eax, ebx
shr eax, 6
mov dl, bl
and dl, 0x3f
and al, 0x3f
mov cx, bx
or dl, 0x80
or al, 0x80
shr cx, 0xc
or cl, 0xe0
mov byte [esp + 0x16], dl
mov byte [esp + 0x15], al
mov byte [esp + 0x14], cl
mov esi, 3
cmp dword [edi - 0xc], 0
lea eax, [edi - 0x10]
mov edi, dword [eax]
je 0x4e2bb8
cmp dword [eax + 0xc], 0
lea ecx, [eax + 0xc]
jge 0x4e2b92
mov eax, dword [esp + 0x18]
cmp dword [eax - 8], 0
jl 0x4e2ce2
mov dword [eax - 0xc], 0
mov word [eax], 0
jmp 0x4e2bb8
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4e2ba8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
movzx esi, si
xor edi, edi
test esi, esi
jle 0x4e2c12
movzx ecx, byte [esp + edi + 0x14]
push ecx
lea edx, [esp + 0x28]
push edx
call fcn.004e2660
mov byte [esp + 0x38], 0xb
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x20]
call fcn.004044f0
mov byte [esp + 0x38], 0xa
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4e2c0b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add edi, 1
cmp edi, esi
jl 0x4e2bc1
mov edi, ebx
lea ebx, [esp + 0x28]
call fcn.0048cb00
mov edx, dword [ebp + 8]
mov byte [esp + 0x38], 0xc
mov ecx, dword [esp + 0x18]
mov eax, dword [eax]
push ecx
push eax
push edx
call fcn.00414390
mov byte [esp + 0x38], 0xa
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4e2c58
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
lea edx, [esi + ecx]
lea eax, [edx + esi*2 - 1]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov esi, eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov ecx, dword [eax - 0xc]
add esi, 1
cmp esi, ecx
mov dword [esp + 0x20], esi
jl 0x4e2a82
lea eax, [edx - 0x10]
mov byte [esp + 0x38], 9
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4e2ca9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov dword [esp + 0x38], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4e2ccd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x80070057
call fcn.00401f90
int3