Function at 0x401000
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x238
mov eax, dword [esp + 0x24c]
mov dword [esp + 0xc], eax
mov eax, dword [0x5cc180]
xor eax, esp
mov dword [esp + 0x234], eax
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x1c], eax
mov ecx, 0x7a0c103c
jmp 0x401080
mov eax, dword [0x5ccd8c]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x925f3920
mov esi, 0x6f887930
cmove ecx, esi
cmp dword [0x5ccd90], 0xa
mov edx, 0x925f3920
cmovge ecx, edx
setl dl
xor dl, al
cmovne ecx, esi
nop word cs:[eax + eax]
cmp ecx, 0xff00e5ff
jg 0x401130
cmp ecx, 0xc79529c8
jle 0x4011a0
cmp ecx, 0xdd8c0365
jle 0x4012a9
cmp ecx, 0xe7e232fe
jle 0x40141a
cmp ecx, 0xfbf0fb8a
jle 0x401644
cmp ecx, 0xfbf0fb8b
je 0x401a03
cmp ecx, 0xfd070209
je 0x401a12
cmp ecx, 0xfd9c0fdc
jne 0x401080
mov edx, dword [0x5ccd8c]
mov eax, dword [0x5ccd90]
lea ecx, [edx - 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xe64fe8af
mov esi, 0xcd240077
cmovne edx, esi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, esi
cmp eax, 0xa
mov dword [esp + 0x18], edi
cmovge ecx, edx
jmp 0x401080
cmp ecx, 0x3686886a
jle 0x401240
cmp ecx, 0x5d1315f1
jle 0x4012f2
cmp ecx, 0x70fe80e8
jle 0x40148c
cmp ecx, 0x7a0c103b
jle 0x40166b
cmp ecx, 0x7d9e53db
je 0x401a20
cmp ecx, 0x7b4ed16f
je 0x401a32
cmp ecx, 0x7a0c103c
jne 0x401080
cmp dword [esp + 0x24c], 0
mov ecx, 0x6682b9d3
mov eax, 0x893324b1
cmove ecx, eax
jmp 0x401080
cmp ecx, 0x9dfcfbca
jle 0x40136d
cmp ecx, 0xb0b44032
jg 0x4014e7
cmp ecx, 0xa231a384
jg 0x401699
cmp ecx, 0xa00942ab
je 0x401a3c
cmp ecx, 0xa10e21c5
jne 0x401ded
mov edx, dword [0x5ccd8c]
mov eax, dword [0x5ccd90]
lea ecx, [edx - 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x14b30093
mov ebx, 0x83da2f3b
cmovne edx, ebx
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edx
mov eax, dword [esp]
mov edx, dword [esp + 0x10]
cmp eax, dword [esp + edx*4 + 0x228]
setne byte [esp + 4]
jmp 0x401080
cmp ecx, 0x1c7dbb20
jg 0x4013b7
cmp ecx, 0x8f4803a
jg 0x40154f
cmp ecx, 0x3c8f1ea
jg 0x4016ca
cmp ecx, 0xff00e600
je 0x401a52
cmp ecx, 0x25b40c5
jne 0x401080
push 0x100
lea esi, [esp + 0x2c]
push esi
push dword [esp + 0x1c]
call fcn.00402440
add esp, 0xc
push dword [esp + 0xc]
push esi
call fcn.0059e938
add esp, 8
mov ecx, 0x482804dc
jmp 0x401080
cmp ecx, 0xcd240076
jg 0x40157d
cmp ecx, 0xcc87ebef
jg 0x4016ee
cmp ecx, 0xc79529c9
je 0x401a6c
cmp ecx, 0xc9fe304e
jne 0x401080
mov eax, dword [esp + 0x18]
cmp eax, 7
mov ecx, 0xa7536a5c
mov eax, 0x9448f7d1
cmovl ecx, eax
jmp 0x401080
cmp ecx, 0x4f172305
jg 0x4015ab
cmp ecx, 0x41018245
jg 0x401710
cmp ecx, 0x3686886b
je 0x401a83
cmp ecx, 0x40d8b059
jne 0x401080
push dword [esp + 0xc]
push dword [esp + 0x18]
call fcn.0059e938
add esp, 8
test eax, eax
sete byte [esp + 6]
mov eax, dword [0x5ccd8c]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xff00e600
mov esi, 0xe5580a5a
cmove ecx, esi
cmp dword [0x5ccd90], 0xa
mov edx, 0xff00e600
jmp 0x401066
cmp ecx, 0x9448f7d0
jg 0x4015e8
cmp ecx, 0x90eac76f
jg 0x401786
cmp ecx, 0x83da2f3b
je 0x401a99
cmp ecx, 0x893324b1
jne 0x401080
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 8]
mov dword [esp + 8], eax
mov ecx, 0x9dfcfbcb
mov edi, 1
jmp 0x401080
cmp ecx, 0x270d05d3
jg 0x401616
cmp ecx, 0x1e9655a1
jg 0x4017a8
cmp ecx, 0x1c7dbb21
je 0x401ab0
cmp ecx, 0x1d81e301
jne 0x401080
mov eax, dword [0x5ccd8c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0xee765d24
mov esi, 0xb5d23c18
cmove ecx, esi
cmp dword [0x5ccd90], 0xa
mov edx, 0xee765d24
jmp 0x401066
cmp ecx, 0xe5580a59
jg 0x4017f3
cmp ecx, 0xdd8c0366
je 0x401af9
cmp ecx, 0xe43bf4db
jne 0x401080
mov ecx, dword [0x5ccd8c]
mov eax, dword [0x5ccd90]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0x75c5e906
mov esi, 0xcff25f9e
cmovne edi, esi
test ecx, edx
mov ecx, edi
cmove ecx, esi
cmp eax, 0xa
mov eax, dword [ebp + 0x18]
mov dword [esp + 8], eax
cmovge ecx, edi
mov edi, 1
jmp 0x401080
cmp ecx, 0x6ed6781c
jg 0x401815
cmp ecx, 0x5d1315f2
je 0x401b03
cmp ecx, 0x6682b9d3
jne 0x401080
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xc]
lea ecx, [eax + 0xc]
mov dword [esp + 0x228], ecx
lea ecx, [eax + 0x14]
mov dword [esp + 0x22c], ecx
add eax, 0x1c
mov dword [esp + 0x230], eax
mov ecx, 0xa231a385
mov dword [esp + 0x10], 0
jmp 0x401080
cmp ecx, 0xb9d0ae3d
jg 0x401873
cmp ecx, 0xb0b44033
je 0x401b12
cmp ecx, 0xb5d23c18
jne 0x401080
mov eax, dword [0x5ccd8c]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xee765d24
mov esi, 0xb0ff61a
cmove ecx, esi
cmp dword [0x5ccd90], 0xa
setl dl
mov edi, 0xee765d24
cmovge ecx, edi
xor dl, al
cmovne ecx, esi
mov edi, 2
jmp 0x401080
cmp ecx, 0x13ffc6e4
jg 0x4018be
cmp ecx, 0x8f4803b
je 0x401b7d
cmp ecx, 0xb0ff61a
jne 0x401080
mov ecx, 0x6ed6781d
jmp 0x401080
cmp ecx, 0xd56237ba
jg 0x4018e0
cmp ecx, 0xcd240077
je 0x401ba6
cmp ecx, 0xcff25f9e
jne 0x401080
mov ecx, 0x7b4ed16f
jmp 0x401080
cmp ecx, 0x52d65578
jg 0x40193a
cmp ecx, 0x4f172306
je 0x401bb0
cmp ecx, 0x51b48e0a
jne 0x401080
mov eax, dword [esp + 0x24]
cmp eax, 2
mov ecx, 0x354070bd
mov eax, 0x1e9655a2
cmove ecx, eax
jmp 0x401080
cmp ecx, 0x97626c86
jg 0x401985
cmp ecx, 0x9448f7d1
je 0x401bba
cmp ecx, 0x948dcc40
jne 0x401080
mov ecx, 0x52d65579
jmp 0x401080
cmp ecx, 0x354070bc
jg 0x4019b7
cmp ecx, 0x270d05d4
je 0x401bd1
cmp ecx, 0x276d176d
jne 0x401080
mov ecx, 0xfd070209
jmp 0x401080
cmp ecx, 0xe7e232ff
je 0x401c04
cmp ecx, 0xee765d24
jne 0x401080
mov ecx, 0xb5d23c18
mov edi, 2
jmp 0x401080
cmp ecx, 0x70fe80e9
je 0x401c27
cmp ecx, 0x75c5e906
jne 0x401080
mov eax, dword [ebp + 0x18]
mov dword [esp + 8], eax
mov ecx, 0xe43bf4db
mov edi, 1
jmp 0x401080
cmp ecx, 0xa231a385
je 0x401c5a
cmp ecx, 0xa7536a5c
jne 0x401080
mov eax, dword [esp + 0x18]
cmp eax, 7
mov ecx, 0xfd070209
mov eax, 0x3636cfac
cmove ecx, eax
jmp 0x401080
cmp ecx, 0x3c8f1eb
je 0x401c71
cmp ecx, 0x68a5185
jne 0x401080
mov ecx, 0x7b4ed16f
xor edi, edi
jmp 0x401080
cmp ecx, 0xcc87ebf0
je 0x401c7f
cmp ecx, 0xccc926db
jne 0x401080
mov ecx, 0x3c8f1eb
jmp 0x401080
cmp ecx, 0x41018246
je 0x401c96
cmp ecx, 0x482804dc
jne 0x401080
push 0x100
lea esi, [esp + 0x2c]
push esi
push dword [esp + 0x1c]
call fcn.00402440
add esp, 0xc
push dword [esp + 0xc]
push esi
call fcn.0059e938
add esp, 8
test eax, eax
sete byte [esp + 7]
mov eax, dword [0x5ccd8c]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x25b40c5
mov esi, 0xcc87ebf0
cmove ecx, esi
cmp dword [0x5ccd90], 0xa
mov edx, 0x25b40c5
jmp 0x401066
cmp ecx, 0x90eac770
je 0x401caf
cmp ecx, 0x925f3920
jne 0x401080
mov ecx, 0x6f887930
jmp 0x401080
cmp ecx, 0x1e9655a2
je 0x401cb9
cmp ecx, 0x20efc0ab
jne 0x401080
mov edx, dword [0x5ccd8c]
mov eax, dword [0x5ccd90]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x97626c87
mov esi, 0xccc926db
jmp 0x401d8f
cmp ecx, 0xe5580a5a
je 0x401cd0
cmp ecx, 0xe64fe8af
jne 0x401080
mov ecx, 0xfd9c0fdc
jmp 0x401080
cmp ecx, 0x6ed6781d
je 0x401037
cmp ecx, 0x6f887930
jne 0x401080
mov ecx, dword [0x5ccd8c]
mov eax, dword [0x5ccd90]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0x925f3920
mov esi, 0xdd8c0366
cmovne ebx, esi
test ecx, edx
mov ecx, ebx
cmove ecx, esi
cmp eax, 0xa
mov dword [esp + 0x24], edi
cmovge ecx, ebx
jmp 0x401080
cmp ecx, 0xb9d0ae3e
je 0x401ce7
cmp ecx, 0xbfa287a3
jne 0x401080
mov edx, dword [0x5ccd8c]
mov eax, dword [0x5ccd90]
lea ecx, [edx - 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x25b40c5
mov esi, 0x482804dc
jmp 0x401d8f
cmp ecx, 0x13ffc6e5
je 0x401d17
cmp ecx, 0x14b30093
jne 0x401080
mov ecx, 0xa10e21c5
jmp 0x401080
cmp ecx, 0xd56237bb
je 0x401d61
cmp ecx, 0xdaaa0e1f
jne 0x401080
mov ecx, dword [0x5ccd8c]
mov eax, dword [0x5ccd90]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0x14b30093
mov esi, 0xa10e21c5
cmovne ebx, esi
test ecx, edx
mov ecx, ebx
cmove ecx, esi
cmp eax, 0xa
cmovge ecx, ebx
jmp 0x401080
cmp ecx, 0x52d65579
je 0x401da5
cmp ecx, 0x5b2a97ee
jne 0x401080
mov edx, dword [0x5ccd8c]
mov eax, dword [0x5ccd90]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xff00e600
mov esi, 0x40d8b059
jmp 0x401d8f
cmp ecx, 0x97626c87
je 0x401dd9
cmp ecx, 0x9d44d8a3
jne 0x401080
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x228]
mov eax, dword [eax]
mov dword [esp], eax
mov ecx, 0xdaaa0e1f
jmp 0x401080
cmp ecx, 0x354070bd
je 0x401de3
cmp ecx, 0x3636cfac
jne 0x401080
mov eax, dword [0x5ccd8c]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x7d9e53db
mov esi, 0x13ffc6e5
cmove ecx, esi
cmp dword [0x5ccd90], 0xa
mov edx, 0x7d9e53db
jmp 0x401066
mov ecx, 0x1c7dbb21
mov edi, 5
jmp 0x401080
mov dword [esp + 0x20], edi
mov ecx, 0x41018246
jmp 0x401080
mov eax, dword [esp]
mov eax, dword [eax]
mov dword [esp], eax
mov ecx, 0x13ffc6e5
jmp 0x401080
mov ecx, 0x948dcc40
jmp 0x401080
mov eax, dword [ebp + 0x18]
mov dword [esp + 8], eax
mov ecx, 0x948dcc40
mov edi, 1
jmp 0x401080
push dword [esp + 0xc]
push dword [esp + 0x18]
call fcn.0059e938
add esp, 8
mov ecx, 0x40d8b059
jmp 0x401080
cmp byte [esp + 5], 0
mov ecx, 0xe7e232ff
mov eax, 0x3686886b
cmovne ecx, eax
jmp 0x401080
mov eax, dword [ebp + 0x18]
mov dword [esp + 8], eax
mov ecx, 0x52d65579
mov edi, 1
jmp 0x401080
cmp byte [esp + 4], 0
mov ecx, 0xb9d0ae3e
mov eax, 0xd56237bb
cmovne ecx, eax
jmp 0x401080
mov edx, dword [0x5ccd8c]
mov eax, dword [0x5ccd90]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xfbf0fb8b
mov esi, 0x276d176d
cmovne edx, esi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, esi
cmp eax, 0xa
cmovge ecx, edx
mov edi, 5
jmp 0x401080
mov ecx, 0x51b48e0a
jmp 0x401080
mov ecx, 0x948dcc40
mov edi, 7
jmp 0x401080
mov eax, dword [esp + 0x10]
lea eax, [eax*8]
mov ebp, dword [esp]
sub ebp, eax
push dword [esp + 0xc]
push dword [ebp + 0x30]
call fcn.0059e938
add esp, 8
mov ebx, dword [0x5ccd8c]
mov edx, dword [0x5ccd90]
lea ecx, [ebx + 1]
imul ecx, ebx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x8f4803b
mov esi, 0xc79529c9
cmovne ebx, esi
cmp ecx, 0xffffffff
mov ecx, ebx
cmove ecx, esi
cmp edx, 0xa
cmovge ecx, ebx
test eax, eax
sete byte [esp + 5]
jmp 0x401080
mov eax, dword [esp + 0x10]
lea eax, [eax*8]
mov ebp, dword [esp]
sub ebp, eax
push dword [esp + 0xc]
push dword [ebp + 0x30]
call fcn.0059e938
add esp, 8
mov ecx, 0xb0b44033
jmp 0x401080
mov ecx, 0xc9fe304e
jmp 0x401080
mov ecx, 0x3636cfac
jmp 0x401080
cmp dword [esp + 0x18], 0
mov ecx, 0xfd070209
mov eax, 0x4f172306
cmove ecx, eax
jmp 0x401080
mov eax, dword [0x5ccd8c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x97626c87
mov esi, 0x20efc0ab
cmove ecx, esi
cmp dword [0x5ccd90], 0xa
mov edx, 0x97626c87
jmp 0x401066
push dword [ebp + 0x28]
call fcn.00401e20
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov ecx, 0x5b2a97ee
mov eax, 0x5d1315f2
cmove ecx, eax
jmp 0x401080
mov eax, dword [0x5ccd8c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x75c5e906
mov esi, 0xe43bf4db
cmove ecx, esi
cmp dword [0x5ccd90], 0xa
mov edx, 0x75c5e906
jmp 0x401066
cmp dword [esp + 0x10], 3
mov ecx, 0x1d81e301
mov eax, 0x9d44d8a3
cmovl ecx, eax
jmp 0x401080
inc dword [esp + 0x10]
mov ecx, 0xa231a385
jmp 0x401080
cmp byte [esp + 7], 0
mov ecx, 0x68a5185
mov eax, 0x70fe80e9
cmovne ecx, eax
jmp 0x401080
mov eax, dword [esp + 0x20]
cmp eax, 5
mov ecx, 0x6ed6781d
mov eax, 0x270d05d4
cmove ecx, eax
jmp 0x401080
mov ecx, 0xdaaa0e1f
jmp 0x401080
mov ecx, 0x354070bd
mov dword [esp + 8], 0
mov edi, 1
jmp 0x401080
cmp byte [esp + 6], 0
mov ecx, 0xbfa287a3
mov eax, 0xa00942ab
cmovne ecx, eax
jmp 0x401080
mov edx, dword [0x5ccd8c]
mov eax, dword [0x5ccd90]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xfbf0fb8b
mov esi, 0x1c7dbb21
jmp 0x401d8f
mov ecx, dword [0x5ccd8c]
mov eax, dword [0x5ccd90]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0x7d9e53db
mov esi, 0x90eac770
cmovne ebx, esi
test ecx, edx
mov ecx, ebx
cmove ecx, esi
cmp eax, 0xa
mov eax, dword [esp]
mov eax, dword [eax]
mov dword [esp], eax
cmovge ecx, ebx
jmp 0x401080
mov edx, dword [0x5ccd8c]
mov eax, dword [0x5ccd90]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x8f4803b
mov esi, 0xb0b44033
cmovne edx, esi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, esi
cmp eax, 0xa
cmovge ecx, edx
jmp 0x401080
mov eax, dword [0x5ccd8c]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xe64fe8af
mov esi, 0xfd9c0fdc
cmove ecx, esi
cmp dword [0x5ccd90], 0xa
mov edx, 0xe64fe8af
jmp 0x401066
mov ecx, 0x20efc0ab
jmp 0x401080
mov ecx, 0x9dfcfbcb
jmp 0x401080
cmp ecx, 0x9dfcfbcb
jne 0x401080
mov ecx, dword [esp + 0x234]
xor ecx, esp
call fcn.00594995
mov eax, dword [esp + 8]
add esp, 0x238
pop esi
pop edi
pop ebx
pop ebp
ret 4