Function at 0x4dd290
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x57fc68
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x5e95e0]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
push 0x25
lea eax, [esp + 0x24]
push eax
call fcn.004dd1f0
mov edi, dword [ebp + 8]
xor esi, esi
mov dword [esp + 0x38], esi
mov eax, dword [eax]
push eax
push 0x59b53c
push edi
call fcn.0041cd10
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 0x4dd307
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [0x5ec1c8], esi
jle 0x4dd3c3
jmp 0x4dd320
movzx ecx, byte [esi*2 + 0x5bb270]
and ecx, 0xffffff7f
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.004dd1f0
mov ebx, eax
mov dword [esp + 0x38], 1
mov cx, word [esi*2 + 0x5bb270]
push 1
lea edx, [esp + 0x24]
call fcn.004b5bd0
mov byte [esp + 0x38], 2
mov ebx, dword [ebx]
mov eax, dword [eax]
push ebx
push eax
push edi
call fcn.0041cd10
mov byte [esp + 0x38], 1
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 0x4dd38c
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 + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4dd3b4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add esi, 1
cmp esi, dword [0x5ec1c8]
jl 0x4dd320
xor esi, esi
cmp dword [0x5ec1c4], esi
jle 0x4dd474
movzx ecx, byte [esi*2 + str._______]
and ecx, 0xffffff7f
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.004dd1f0
mov ebx, eax
mov dword [esp + 0x38], 3
mov cx, word [esi*2 + str._______]
push 1
lea edx, [esp + 0x24]
call fcn.004b5bd0
mov byte [esp + 0x38], 4
mov ebx, dword [ebx]
mov eax, dword [eax]
push ebx
push eax
push edi
call fcn.0041cd10
mov byte [esp + 0x38], 3
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 0x4dd43d
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 + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4dd465
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add esi, 1
cmp esi, dword [0x5ec1c4]
jl 0x4dd3d1
mov byte [esp + 0x20], 0
lea esp, [esp]
mov esi, dword [esp + 0x20]
push esi
lea ecx, [esp + 0x18]
push ecx
call fcn.004dd1f0
mov ebx, eax
push esi
lea edx, [esp + 0x20]
push edx
mov dword [esp + 0x40], 5
call fcn.004ddc60
mov byte [esp + 0x38], 6
mov ebx, dword [ebx]
mov eax, dword [eax]
push ebx
push eax
push edi
call fcn.0041cd10
mov byte [esp + 0x38], 5
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4dd4da
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 0x4dd502
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 0x4dd480
push 0x7f
lea ecx, [esp + 0x20]
push ecx
call fcn.004dd1f0
mov esi, eax
push 0x7f
lea edx, [esp + 0x24]
mov ebx, 7
push edx
mov dword [esp + 0x40], ebx
call fcn.004ddc60
mov byte [esp + 0x38], 8
mov esi, dword [esi]
mov eax, dword [eax]
push esi
push eax
push edi
call fcn.0041cd10
mov byte [esp + 0x38], bl
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 0x4dd56c
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 + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4dd594
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00530e1f
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4dd5ae
push 0x80004005
call fcn.00401f70
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x1c], eax
push 0x5bb270
lea ecx, [esp + 0x1c]
mov dword [esp + 0x3c], 9
call fcn.00402390
push 1
push 0x59b53c
lea ecx, [esp + 0x20]
mov byte [esp + 0x40], 0xa
call fcn.004121c0
mov eax, dword [edi]
mov ecx, dword [eax - 0xc]
mov edx, dword [esp + 0x18]
xor esi, esi
test ecx, ecx
mov dword [esp + 0x20], esi
jle 0x4dd805
test esi, esi
jl 0x4dd863
cmp esi, ecx
jg 0x4dd863
movzx ebx, word [eax + esi*2]
cmp bx, 0x61
jb 0x4dd624
cmp bx, 0x7a
jbe 0x4dd7f1
cmp bx, 0x41
jb 0x4dd634
cmp bx, 0x5a
jbe 0x4dd7f1
cmp bx, 0x30
jb 0x4dd644
cmp bx, 0x39
jbe 0x4dd7f1
cmp dword [edx - 0xc], 0
jle 0x4dd666
push ebx
push edx
call fcn.00552f60
add esp, 8
test eax, eax
je 0x4dd666
mov edx, dword [esp + 0x18]
sub eax, edx
sar eax, 1
jns 0x4dd7f1
xor edi, edi
cmp bx, 0x7f
mov dword [esp + 0x14], edi
ja 0x4dd67d
mov byte [esp + 0x14], bl
mov edi, 1
jmp 0x4dd6e0
lea ecx, [ebx - 0x80]
cmp cx, 0x77f
ja 0x4dd6a7
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 edi, 2
jmp 0x4dd6e0
lea ecx, [ebx - 0x800]
cmp cx, 0xf7ff
ja 0x4dd6e0
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 edi, 3
mov ecx, dword [esp + 0x1c]
cmp dword [ecx - 0xc], 0
mov esi, dword [ecx - 0x10]
lea eax, [ecx - 0x10]
je 0x4dd737
cmp dword [eax + 0xc], 0
lea edx, [eax + 0xc]
jge 0x4dd711
cmp dword [ecx - 8], 0
jl 0x4dd863
mov dword [ecx - 0xc], 0
mov word [ecx], 0
jmp 0x4dd737
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4dd727
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
add eax, 0x10
mov dword [esp + 0x1c], eax
movzx edi, di
xor esi, esi
test edi, edi
jle 0x4dd791
movzx ecx, byte [esp + esi + 0x14]
push ecx
lea edx, [esp + 0x28]
push edx
call fcn.004dd1f0
mov byte [esp + 0x38], 0xb
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x24]
call fcn.004121c0
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 0x4dd78a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add esi, 1
cmp esi, edi
jl 0x4dd740
push 1
mov ecx, ebx
lea edx, [esp + 0x2c]
call fcn.004b5bd0
mov edx, dword [ebp + 8]
mov byte [esp + 0x38], 0xc
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax]
push ecx
push eax
push edx
call fcn.0041cd10
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 0x4dd7d9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x20]
lea edx, [edi + ecx]
lea eax, [edx + edi*2 - 1]
mov edx, dword [esp + 0x18]
mov edi, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov esi, eax
mov eax, dword [edi]
mov ecx, dword [eax - 0xc]
add esi, 1
cmp esi, ecx
mov dword [esp + 0x20], esi
jl 0x4dd600
lea eax, [edx - 0x10]
mov byte [esp + 0x38], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4dd826
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 + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4dd84e
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.00401f70
int3