Function at 0x402f8a
Capabilities:
Access peb ldr_data
Check os version
Get kernel32 base address
Get number of processors
Parse pe header

Disassembly:
push ebx
push esi
push edi
rol edx, 0xa3
or si, 0x116
shl edi, 7
xor cx, 0x3b4
mul bx
shr ax, 0x6b
and eax, edx
rcr bx, 0xd7
imul bx
xor bx, cx
shr dx, 0x45
inc esi
or ebx, ecx
movsx ecx, dl
rol ecx, 2
mul bx
rol edx, 0x95
inc si
shl cx, 0x62
mul cx
rol dx, 0xee
sub eax, 0x144
add esi, 0x1d4
shl eax, 0x17
rcl bx, 0xe5
dec edi
inc bx
add cx, dx
movzx esi, bx
mul si
shl edx, 0xe3
add eax, edi
rcl si, 0xd6
ror eax, 0x22
imul ebx
dec esi
dec ecx
imul di
rcr si, 0x25
movsx eax, dh
inc si
add esi, eax
sub bx, 0x130
shr eax, 0x8a
rcl si, 0x2c
mul ebx
dec edx
add esi, 0x23b
rcr edi, 0x1a
je 0x403045
dec ebx
shr ecx, 0xcc
movzx esi, dx
shr ax, 0x4a
and ax, 0x234
or ax, di
shl di, 0x56
rcl eax, 0x47
shl cx, 0xc0
jmp 0x4030c0
imul esi
rol edx, 0x55
rol ecx, 0x61
dec ax
imul si
mov cx, bx
shl bx, 0x6f
imul dx
inc ax
inc dx
imul cx
or esi, 0x203
inc eax
rcr si, 0xde
dec ebx
rcl ax, 0x7b
rcr ebx, 0x83
sub esi, 0x181
ror dx, 0x63
shr esi, 0xb4
shl esi, 0x31
mov cx, 0x1fd
rcr bx, 0x8b
mov ecx, edi
inc ebx
shl edx, 0x21
mul ecx
rol di, 0x57
dec ebx
and ecx, edx
inc edx
or dx, 0x1c2
shl ebx, 0x64
xor ecx, 0x29a
dec esi
imul ax
imul si
rol edi, 0x7c
shl esi, 0x97
movzx eax, si
rcr di, 0xd
inc ecx
shl bx, 0x5a
mov bx, 0xda
xor edi, ebx
inc eax
sub ebx, 0x1f6
imul dx
dec di
rcr ebx, 0xda
shr ecx, 0xa0
or ax, 0x3dd
rcl ecx, 0xde
ror edx, 0xbd
shr ecx, 0x3a
or si, cx
rol edi, 0x80
rcl di, 0xd2
ror ax, 0x35
shl eax, 0xce
movsx ecx, bl
mul edi
or ecx, 0x2d9
ror ax, 0x7f
imul bx
rol bx, 0x5a
imul cx
add di, dx
rcl esi, 0x34
shl ecx, 0xa1
add eax, 0x33e
je 0x40313e
xor ecx, esi
sub edx, 0xb8
inc ax
or di, di
inc dx
inc edx
ror ax, 0x80
shr bx, 0x54
jmp 0x4031b4
mul edi
and edi, ecx
shl dx, 0x6a
shl eax, 0x6a
imul bx
sub ax, 0x244
rol dx, 0xff
sub eax, eax
add esi, 0x3b4
imul eax
add eax, ecx
rol ecx, 0x43
and esi, eax
rcl ax, 0xd9
inc ax
movzx ebx, cx
shr di, 0xe4
dec eax
rol esi, 0xfd
mul ecx
ror ebx, 9
inc esi
shl cx, 0x25
dec bx
xor bx, dx
mov dx, ax
inc ax
dec eax
and cx, dx
add cx, 0x3d6
rcl si, 0xde
mul eax
dec edx
mov dx, 0x377
movzx edx, bl
rcr esi, 0xdd
sub ax, 0x1ec
mul si
shr ebx, 0xa1
mul cx
movsx ecx, al
shl edi, 0x56
rol dx, 0xe3
mul ax
rcl di, 0x6b
add ecx, 0x321
mul cx
xor di, 0x331
and ecx, 0x37
add edi, eax
movsx esi, cl
add edi, 0x123
imul edi
rol dx, 0x30
add si, 0x63
rcl bx, 0x72
ror edi, 0x2a
shl ax, 0x29
mov esi, 0x249
and edi, edi
shr si, 0xf4
inc esi
xor edx, 0x28c
add ecx, 0x1a8
and bx, cx
ror dx, 0x53
or ax, 0x25c
inc eax
sub di, 0x343
xor bx, ax
rcr esi, 0xd6
inc ecx
movsx edi, bh
inc cx
rcr ebx, 0x27
rcr edx, 0x51
rcr cx, 0x1a
inc ecx
dec si
rol ebx, 0x14
mul bx
rol ebx, 0x37
and ecx, edi
mov si, bx
inc ebx
shl si, 0x94
je 0x403259
xor ebx, 0x138
rcl eax, 0x72
shl cx, 0xe4
jmp 0x403279
ror di, 0xff
add cx, 0x1b8
inc ecx
mul cx
ror eax, 0x5f
ror ecx, 0xb4
imul dx
add bx, cx
ror ebx, 0x2d
dec dx
inc ax
mul ebx
xor edi, edi
mul esi
ror cx, 0x91
imul edx
rol edi, 0x6d
sub bx, si
imul eax
add cx, 0x29d
inc edi
movzx edi, bh
dec dx
rol di, 0xb1
mul ax
dec esi
xor di, 0x18
mov ecx, edx
inc ecx
dec eax
shl edx, 0xfc
rcr ebx, 0xd3
xor ecx, 0xa7
mul edi
mov edx, edi
je 0x4032e1
mul cx
dec dx
add dx, 0x2a7
rcl ax, 0x43
mov di, 0x316
add bx, 0xa4
ror dx, 0x7b
imul dx
sub ax, ax
shl bx, 0xf4
jmp 0x40331c
movsx eax, bh
rcl bx, 0x3a
mov si, bx
and di, ax
rcl bx, 0x86
rol ax, 0x2d
shl di, 0xd1
mov edx, ecx
mul esi
rcl edi, 0xc7
shl dx, 0x75
imul dx
rol ax, 0xb
xor edi, 0xea
dec edx
mul edi
rcl si, 0x96
xor dx, bx
shr ecx, 0x8b
rcl cx, 0x7b
sub esi, edi
inc ax
rcr eax, 0xa
rcr bx, 0xd9
xor ax, 0xa4
rol ebx, 0x44
rcr esi, 0xa1
dec bx
mul edx
mul cx
dec cx
rol edx, 0xe6
inc dx
inc si
mul dx
imul ecx
mov esi, ecx
rol si, 0x74
je 0x40336b
cmp esi, 5
je 0x4033d4
and edi, 0x3e0
rcl di, 0xf4
xor si, dx
and esi, ecx
jmp 0x403383
sub dx, si
mul edi
rol si, 0x10
mul esi
dec ebx
add ebx, edx
or bx, ax
and edi, eax
imul ebx
rcl edx, 0x73
rcl edx, 4
inc si
and edx, 0x13b
sub edi, ebx
sub dx, 0x83
imul edi
shr ecx, 0xbd
inc si
rcr cx, 0xbd
mov dx, bx
imul ebx
rcl si, 0xa2
sub esi, 0x3af
ror ecx, 0x6e
inc esi
je 0x4033d4
mul cx
shl ebx, 0xa5
xor ebx, 0x183
mul eax
imul edx
inc bx
rol eax, 0xa0
mul dx
rcr edi, 0xd4
imul eax
jmp 0x403414
imul di
ror ax, 0x74
add edx, 0x3cf
rcr cx, 0x1f
movzx ebx, bx
dec esi
add bx, 0x1c7
add dx, 0x2ed
shl di, 0xb4
inc dx
sub ecx, esi
or esi, edi
mul ebx
rcr esi, 0x24
dec esi
add ecx, 0xd9
and si, 0x337
rol ebx, 0x82
and bx, ax
rcr eax, 0x1e
rcr bx, 0x1d
mul edi
shr si, 5
ror eax, 0x91
or edx, 0x35f
shl dx, 0xd9
dec cx
shl ecx, 0x4a
imul edi
je 0x403461
test ecx, 0x15
je 0x4034d3
rcl di, 0xaf
rcr ebx, 0xf
imul dx
or cx, 0x1dc
sub ecx, 0xe9
inc edi
xor esi, 0x21e
jmp 0x40348a
mov si, 0x2fa
mul ecx
mul bx
dec ecx
dec si
ror ax, 0xa5
rol cx, 0x65
mul eax
rcl cx, 0x34
inc bx
dec ebx
and ax, 0x21c
or cx, 0x31f
rcr edi, 0x1e
rcl cx, 0x3b
inc edx
rol edi, 0xa7
mov edi, edi
rcr edi, 0x4d
rol ecx, 0xf5
ror ebx, 0xa4
rcr ax, 0xb1
rol cx, 0xba
xor ebx, 0xfc
imul edx
imul si
dec si
shr ax, 0xd9
or dx, 0xad
rcr cx, 0x46
je 0x4034d3
rcl cx, 0x6a
xor ax, si
rcl di, 0xa
inc ebx
rcr cx, 0xe9
jmp 0x403547
ror ebx, 0x3b
rol eax, 0xfc
rcl edi, 0x37
shr ax, 0xf1
dec edi
add ecx, 0x273
and di, 0xab
ror si, 0x4a
inc eax
movsx ebx, bl
ror si, 0x58
rol edx, 0xd5
dec eax
ror ebx, 0xe0
or edi, 0x183
shr edi, 0x1c
movzx edx, dx
mul edx
mov esi, edx
sub di, cx
movzx esi, bl
shr si, 0x16
ror bx, 0x51
or eax, edx
imul ebx
shl edi, 0xc
ror bx, 0xa6
dec ebx
add eax, 0x3b9
movzx ebx, al
add cx, 0x301
mul ecx
shr cx, 0xcf
movsx ebx, dh
rol ax, 0x92
ror ax, 2
dec ax
rcl si, 0x1c
shl ax, 0x8a
dec eax
xor edi, 0x27d
inc edi
movzx ebx, al
or edx, ecx
mov edx, 0x1d6
shl di, 0x6c
imul cx
or bx, 0x1cb
ror cx, 0x86
mov di, cx
mul cx
ror ebx, 0xda
imul ax
sub ebx, ebx
shr ebx, 0x55
imul edi
dec esi
rol esi, 0xb1
dec bx
rcr bx, 0xdc
movzx ebx, al
inc eax
inc cx
rcr ebx, 0x5e
or si, 0x4d
dec ebx
inc eax
rcl dx, 0x37
rcl bx, 8
xor si, 0x289
je 0x4035cd
test edx, 0x58
je 0x4036ec
mul esi
rol ecx, 0x96
inc eax
rcr edx, 0x50
xor dx, 0x318
jmp 0x403661
rcr esi, 0xd
movsx edi, bl
xor di, cx
shl edx, 0x20
add ecx, 0x2aa
movsx eax, al
imul ax
inc ax
inc bx
shl ecx, 1
rol ax, 0x15
mul cx
sub bx, 0x39c
mul ebx
dec edi
rol si, 1
sub edx, ecx
shr cx, 0x2a
shl di, 0x6d
mov bx, si
dec edx
shl ecx, 0x2f
ror eax, 0x66
rcl si, 0xf1
inc ecx
movzx ebx, dh
mov ax, 0x209
mul esi
imul edi
shr cx, 0xef
inc si
rcr si, 0xdb
ror bx, 0x52
rol esi, 7
rol bx, 0xa8
rcr si, 0xc6
rol edx, 0xda
rol dx, 0x66
ror esi, 0x2d
mov di, 0x2f2
mul di
mul esi
rcl si, 0xe
dec di
or dx, 0xf4
inc di
imul bx
rcl si, 0xa0
mov si, 0x1ac
mov edx, ebx
rcl ax, 0xc5
mov dx, 0x25a
mov si, si
sub esi, 0x220
imul esi
rcr ebx, 0x21
movzx esi, dh
and edx, 0x1a2
shr eax, 0x2c
shl bx, 0x34
and bx, bx
shr edi, 0x6c
inc cx
rcr di, 0x6c
mov cx, 0x2cc
ror eax, 0xf6
imul bx
inc ax
sub edx, ebx
rcr ebx, 0x3c
mul ecx
xor bx, bx
add eax, 0x231
rol edx, 0xeb
ror ebx, 0x7e
mul si
movsx esi, dx
imul eax
add di, 0x3dd
shl bx, 0xe8
inc cx
or ecx, esi
je 0x4036ec
cmp edi, 0x3c
je 0x4037ad
rcl bx, 0xc5
inc cx
ror bx, 0xc9
rcr eax, 0x65
rol edi, 0xeb
jmp 0x40375e
or ax, bx
rol dx, 0x2f
imul eax
and di, 0x366
shl ebx, 0x8c
imul ax
mov eax, 0xd1
mul si
rcl bx, 0x36
and ecx, ebx
inc ax
add ax, ax
or edi, 0x7b
dec dx
mul edx
rcr cx, 0x5b
imul ebx
rol ebx, 0x66
xor ecx, 0xdc
rcr edx, 0x84
ror ebx, 0x24
mul ecx
movzx edi, bl
imul ebx
imul esi
mul ax
dec esi
mul edi
or esi, ebx
shr dx, 0x33
movzx edx, bl
inc eax
shr bx, 0x85
inc si
rcl esi, 0xb5
mul si
mul ebx
inc edx
and edx, ecx
or dx, 0x1f3
mov edx, ebx
rcr edi, 0xb3
rcl ecx, 0x2d
inc edi
ror bx, 0xc0
inc bx
shl si, 0xe1
mov edi, ecx
dec edi
mov eax, ecx
sub esi, 0x29
movsx eax, dx
dec si
rcl edi, 0x37
sub edx, edi
imul edx
rcl eax, 0x5c
sub eax, ebx
xor esi, 0xc9
or ebx, 0x2e1
mov bx, 0x68
je 0x4037ad
cmp edx, 0x5b
je 0x403890
shl dx, 0x29
imul ecx
jmp 0x40380f
inc ebx
inc cx
mul dx
shr eax, 0xcb
ror ebx, 0xb9
imul cx
inc ebx
or bx, 0x10e
shr ebx, 0x6c
xor ebx, 0xbb
xor esi, 0x1a3
imul edx
rcl eax, 0x96
movzx edi, al
or ecx, 0x127
or cx, si
mul edx
movzx edi, dh
imul di
ror ax, 0xa3
inc edx
imul ebx
rcl si, 0xba
movsx ebx, di
mul esi
movsx ebx, dl
movzx eax, ax
xor edi, 0x2a6
imul ax
inc cx
rcl di, 0x41
inc si
movzx edx, bx
inc si
rol esi, 0x70
xor di, 0x12b
sub ecx, esi
imul edi
imul ecx
rcl eax, 0x3c
inc ax
ror dx, 0xd6
sub ecx, 0xd1
sub ebx, ebx
shl bx, 0xe4
sub di, bx
mul di
sub dx, cx
rcl cx, 0x55
imul edx
inc esi
or esi, edi
add di, dx
movzx esi, ax
shr dx, 0x98
rcl ecx, 0x90
ror dx, 0x5f
ror di, 0x97
and edi, 0x37
ror bx, 0x5a
add cx, cx
rcl ax, 0xb6
rcr ebx, 0xa8
imul bx
xor ax, si
xor dx, ax
dec edx
mov si, 0x76
inc edx
sub si, 0xa0
imul ecx
je 0x403890
rol esi, 0xc0
imul ebx
jmp 0x4038a4
dec bx
shl ebx, 0x7f
mov edi, 0x71
rol bx, 0xd6
inc edi
sub eax, 0x3e5
or cx, di
sub cx, bx
movsx esi, bl
imul dx
or di, 0x17b
rcr di, 0x6c
sub si, 0x22e
add ax, 0x25e
movsx esi, si
rol eax, 0xc0
rcr edi, 0x18
shr esi, 0x92
dec dx
inc edx
add ecx, ecx
inc ax
mul edx
rol ax, 0x92
imul edx
imul eax
dec ax
sub si, cx
mov esi, ebx
movsx ecx, dh
movzx ebx, dl
inc cx
je 0x40390b
cmp edi, 0x23
je 0x4039d3
mul ebx
sub esi, 0x28b
imul cx
mul ebx
jmp 0x403998
shr ecx, 0x51
sub ebx, 0x1cc
rcl bx, 0x85
dec ecx
shl edi, 0xc5
imul si
or eax, 0xd6
imul cx
inc eax
imul dx
imul edi
imul cx
shl di, 4
xor ax, 0xe6
rol ecx, 0x7e
add si, 0x228
imul edi
mul ebx
rcr bx, 0x58
add edx, edi
imul ecx
ror dx, 0x8c
sub eax, esi
or ebx, 0x31f
shl edi, 0xc
add di, 0x39f
and ecx, edi
xor si, si
xor cx, cx
rol esi, 0x17
imul bx
rcl edi, 0x59
sub dx, 0x34b
dec ebx
xor bx, 0x132
rol esi, 0xf1
mul cx
and ebx, eax
sub dx, dx
rol eax, 0x85
movsx esi, ax
shr edx, 0xce
dec edi
xor ebx, 0x1b
ror bx, 0x11
rol ecx, 0x77
add ecx, 0x200
rol di, 0x7d
ror esi, 0xa2
or si, si
je 0x4039d3
cmp esi, 0xa
je 0x403ab0
imul edi
xor ebx, 0x1d
rcr ax, 3
mov dx, 0x3ac
mul esi
mul eax
dec ebx
and esi, ebx
shr bx, 0x23
imul ax
jmp 0x403a04
mul esi
mul edx
rcl dx, 0x4c
mul edi
xor dx, cx
imul edi
ror edx, 0x40
imul edi
rcl eax, 0x78
ror ax, 0x41
dec di
shl si, 0x48
imul eax
dec ebx
inc bx
mov edx, ecx
sub di, ax
shr ax, 0xdb
add edx, ecx
or ecx, 0x2ab
inc eax
rcr ebx, 0x35
movzx eax, bx
ror ax, 0x12
shr ebx, 0x91
inc dx
mul dx
rcr edx, 0xfe
rcl edi, 0x35
rcl eax, 0x91
inc si
shr si, 0x39
rcr cx, 0xea
ror ebx, 0xc0
imul ecx
mul ecx
mul bx
or edx, ecx
imul dx
mul cx
shl cx, 0xfe
shr cx, 0xfc
mul edx
shl si, 0x7e
inc edi
imul si
rol di, 0x3f
rcl ebx, 0x20
add ecx, ecx
mul edi
or si, 0x2ad
inc ax
movzx edi, bl
shr di, 0x36
movzx ecx, bl
dec esi
shl eax, 0x7c
add ax, 0x37d
dec eax
imul eax
add edi, eax
xor si, 0x3e3
mov ecx, edi
sub esi, 0x25
imul edi
movzx edx, cl
xor esi, 0x3b3
rcl dx, 0xdf
add ecx, esi
je 0x403ab0
cmp edx, 0x24
je 0x403b8b
mul eax
shr edi, 0x8c
mul di
sub di, ax
jmp 0x403ac4
rol si, 5
shr bx, 0x8c
mul edx
mul eax
rcr ebx, 0x9e
add esi, edi
mul di
mul esi
rcl cx, 0xad
or eax, edi
movzx ebx, di
inc eax
movsx eax, cx
shr ax, 0x31
add edi, 0x220
shl ax, 0xf0
ror ebx, 0xef
and bx, 0x33a
rcl ax, 0x82
xor si, cx
dec eax
movzx ebx, cx
add di, 0x37b
mov si, cx
and di, 0x1f1
rcr ecx, 0x5f
ror dx, 0x9e
inc ax
ror si, 0xa7
shl edi, 0x31
dec ecx
inc dx
imul ecx
dec edx
ror esi, 0xd0
mul si
imul di
rcr cx, 0x73
rcr ebx, 0x75
xor ebx, 0x276
movzx edx, di
mov cx, 0x10a
rol dx, 0xfa
shr edx, 0x5e
movsx edx, cl
dec bx
rcr bx, 0x85
or si, cx
rcl si, 0x43
mul edi
ror eax, 0xec
xor bx, 0x33b
mul esi
sub ax, 0x2f7
or si, 0x1f1
je 0x403b8b
cmp ebx, 0x64
je 0x403cad
xor dx, 0xc2
xor ecx, 0x18e
and dx, 0x361
rcr ecx, 0x44
movzx eax, dl
imul eax
mul ax
mul cx
jmp 0x403bff
add edx, 0x38f
rol edi, 0x63
shr dx, 0x57
mul edi
rcl ebx, 0xce
dec di
xor ebx, edx
xor edi, 0xd5
imul di
rcl edi, 0x5f
add ax, di
imul ecx
movzx eax, bx
dec esi
dec edx
movsx esi, dh
imul cx
rol edi, 0x1a
xor eax, ebx
xor ax, dx
rcl bx, 0x72
rcr ax, 0x2c
and bx, cx
inc di
add ebx, ebx
shl si, 0x9f
dec si
shr bx, 0x2e
mul eax
mul ax
add si, cx
rcr ax, 0xfe
rol edi, 0x5b
mov di, dx
mov esi, esi
or eax, 0x2f3
and cx, si
and di, 0x30a
rol edx, 0xfe
xor ecx, 0x30
imul cx
rcl esi, 0x23
shl ebx, 0xbe
imul cx
or bx, bx
imul edx
inc di
and edi, ecx
mul ebx
inc dx
inc esi
imul si
rcr ax, 0xec
shl cx, 0x17
imul di
shl di, 0x18
or cx, si
mul si
mov eax, 0x11e
and di, cx
ror edi, 0xba
xor bx, 0x46
rol eax, 0x41
and ecx, ebx
xor cx, 0x1d3
imul bx
shr bx, 0xf2
ror esi, 0xcd
xor esi, 0x2df
ror dx, 0xe0
shr esi, 0xbc
ror bx, 0xa9
and bx, 0x1c1
rcr esi, 8
and ebx, 0x26e
dec bx
rcl cx, 0x93
ror eax, 0x4b
add cx, dx
xor di, 0x384
inc ax
xor eax, 0x104
movsx eax, dh
je 0x403cad
shr bx, 0x20
mul edi
rol edi, 0x1d
mul si
ror bx, 1
sub ebx, 0x236
jmp 0x403d1c
dec si
imul bx
mov ebx, esi
movzx edi, bl
rcl esi, 0xe0
xor si, 0x141
rol eax, 0x52
add bx, 0x76
rcr dx, 0x74
movzx eax, dx
rcr di, 0x4e
dec di
mul edx
rol bx, 0x1b
imul ax
dec bx
sub dx, 0x71
imul bx
rcr edi, 1
and cx, 0xaa
sub di, 0x27f
ror ebx, 0xee
imul bx
sub cx, 0x1b8
imul ax
ror bx, 0xa7
shr ax, 0xcc
and eax, 0x369
imul cx
imul ax
sub ax, dx
ror ebx, 0xec
rcr edx, 0x34
dec eax
imul edx
sub cx, 0x39d
or di, 0x2c3
add edx, 0x2b3
movsx ecx, dl
mov si, 0x2bc
ror edx, 0x97
shr ebx, 0xe
xor eax, edx
movzx ebx, ax
rcl ebx, 0x2a
sub si, 0x3d1
rol si, 0x65
rol esi, 0x86
and edx, 0x25d
or edx, edx
rol di, 0xf3
rcr cx, 0x27
inc ecx
or di, 0x3b9
mov dx, dx
imul ax
add cx, 0x37c
or bx, 0xc1
shr dx, 0xee
inc cx
sub dx, si
dec edx
dec edi
ror ecx, 0x9f
rol edi, 0xe1
rol cx, 0x7c
rcl edx, 0x22
imul ebx
dec di
inc si
dec bx
imul cx
or di, bx
mov eax, 0xed
xor cx, 0x67
je 0x403dca
imul eax
and bx, 0x1fb
imul si
rcr ebx, 0xcc
rcl eax, 0xe5
mul edi
rcl ecx, 0xe9
mul edx
or di, 0xad
shl esi, 0x53
jmp 0x403e51
mov dx, di
rol edx, 0x13
dec cx
or edi, 0x2bf
shr edi, 0xe5
ror dx, 0x6c
rcl dx, 0x69
add di, 0x7f
dec bx
xor ecx, 0x342
xor ax, dx
shr ebx, 0xd0
imul edi
shl dx, 0x88
xor si, cx
movsx edi, di
or ax, 0x127
mul di
rol edi, 0xff
inc edx
rol di, 1
ror ax, 0x6f
mul ecx
add ecx, 0x299
rcl dx, 0xd6
dec esi
mov bx, dx
imul eax
rol ebx, 0x84
and si, 0x91
shl di, 0x51
mul di
dec di
rcl ecx, 0x24
shr bx, 0xff
add esi, 0xdd
rcr ebx, 0xb4
shr dx, 0x8b
rcr bx, 0x3d
xor si, si
shr ecx, 0xc9
inc ecx
mul bx
imul ebx
inc bx
je 0x403e7b
mov si, 0x185
mul cx
rol esi, 0xe
shl dx, 0x42
inc eax
shl di, 0xa7
or cx, 0x4b
inc ebx
jmp 0x403f02
mul edx
add dx, 0x2e7
imul cx
shr dx, 0xbf
mul cx
imul bx
inc dx
sub edi, 0x15d
rol eax, 0xca
imul esi
rcr si, 0x5e
dec di
mov bx, 0xb
or cx, 0x35f
or si, 0x8d
imul si
movzx eax, ax
xor edx, 0x2f3
shl ecx, 0xd0
shr esi, 0x86
mov di, di
imul ecx
mov ebx, 0x91
inc ax
mul edi
mul di
mov ecx, edi
rol edi, 0xc8
inc edx
or di, si
movzx ecx, bx
and dx, di
mul eax
shr edx, 0x1d
shr eax, 0x17
add esi, 0x290
or dx, 0x1ba
inc cx
and ecx, ecx
movzx edi, di
and ecx, 0x2c5
or edx, 0x22d
mul eax
shl bx, 0x34
rol bx, 0x5c
rcr si, 0x4b
dec edi
mul edx
imul ebx
shl ebx, 0xa4
and si, 0x1f2
rol ebx, 0xef
or ecx, edx
mov di, cx
ror eax, 0x63
xor eax, 0x197
shr esi, 0x36
je 0x403f43
imul dx
and ax, 0x3b6
dec dx
jmp 0x403fb6
xor ebx, 0x311
shr cx, 0x2b
inc ax
rcl esi, 0x3f
rol ecx, 0x65
dec ebx
inc bx
or bx, 0x26d
rol ebx, 0x35
sub bx, cx
shl si, 0x8a
and edi, 0x281
ror dx, 0xbe
movzx ebx, al
imul eax
add ebx, 0x3b7
rcr ebx, 0x87
rcr ax, 0x30
rcl edx, 0x4a
dec ecx
imul di
xor bx, 0x211
mul ebx
inc edx
dec edi
mul ecx
and edx, 0x19b
rcl si, 0x80
shl si, 0x4c
rcr di, 0xc8
shr ax, 0xeb
xor ecx, 0x24b
add dx, 0x201
ror dx, 0x47
mov esi, 0x1f1
rcr bx, 0xcd
xor cx, 0x120
rcr cx, 0x49
inc di
rcl edi, 0x84
inc bx
imul bx
or cx, 0x1e
dec esi
mul cx
or edi, 0xd2
dec bx
inc bx
and eax, ecx
dec cx
mul ebx
xor di, 0x206
imul esi
mov bx, bx
rol cx, 0x44
movzx ebx, dx
rol edi, 0x37
inc di
mul esi
rcr ax, 0xb6
inc ax
mul ebx
rcr dx, 0xfa
shl cx, 0xe0
mul edx
shl edx, 0x3c
je 0x40402b
mul eax
and edi, 0x363
shl si, 0x2d
jmp 0x40408f
imul dx
sub esi, esi
mov ecx, 0x32a
shr ecx, 9
mov ax, 0x1eb
rcl ebx, 0x1a
inc ebx
mul dx
shl eax, 0x18
imul ecx
rol si, 0x13
imul di
ror ebx, 0x36
rol edi, 0x62
imul cx
rcl eax, 0xe9
rol si, 0xf2
movzx edi, si
ror di, 0xc1
dec ebx
imul ebx
and bx, 0x384
sub si, 0x76
sub bx, ax
movsx edi, bl
shl edx, 0xff
xor ax, di
add edx, 0x32d
mul ax
mov ax, 0x325
rol ax, 0x33
shl ebx, 0x33
add ax, si
inc si
shr edi, 0xc0
mov cx, 0x32d
imul dx
inc ax
shl cx, 0x11
xor dx, 0x42
and esi, 0xef
mul esi
add dx, 0x2c
inc bx
shr esi, 0xd4
mul ecx
dec edx
inc ebx
ror edx, 0x99
imul di
mov ebx, edi
imul cx
xor dx, 0x3df
rcr di, 0x1e
mul edi
imul edx
ror dx, 0x20
shr edx, 0xf3
inc si
imul edi
ror ax, 0x11
ror bx, 0x7f
shr ax, 0xcc
inc ax
imul si
xor ax, dx
rol edx, 0xef
add cx, 0x389
je 0x40411a
cmp edx, 0x37
je 0x404198
rcl edx, 0x58
add dx, 0x61
movsx edx, bx
shr di, 0xdc
jmp 0x40412a
mov ax, 0x17d
xor cx, 0x3b8
and esi, 0x1a1
dec esi
imul di
shl si, 0x47
sub cx, bx
dec di
mov eax, edx
sub eax, eax
inc ecx
rcr ecx, 0xcc
dec ebx
and esi, eax
mov ebx, 0x309
inc dx
and edx, esi
movsx edx, cl
sub di, cx
mov eax, ebx
shl edi, 0xfe
mul esi
shl edx, 1
shl si, 0x28
ror edi, 0xe
shr dx, 0xa0
add dx, 0x24d
or di, 0x191
shr ecx, 0xb3
ror dx, 2
je 0x404198
rcr cx, 0x25
mov edi, eax
rol esi, 0xbf
shl dx, 0x41
mul eax
rcl eax, 0x94
mov edx, 0x1a6
mul dx
imul edx
jmp 0x404232
xor ax, cx
dec esi
shl edx, 0x5f
ror dx, 0x4d
rcr si, 0x6e
movsx ecx, bl
xor edx, 0x89
imul di
inc ecx
mov di, 0x18c
inc ax
mul eax
movzx edx, bx
mov dx, di
shr bx, 0x83
dec dx
mul edx
rol dx, 0x7f
shl esi, 0x60
or ebx, edi
add di, cx
shr bx, 0x62
mul si
dec cx
rol ax, 0x5e
xor cx, 0xf3
dec ecx
or ax, 0x1d2
shl ax, 3
rcr di, 0x66
ror bx, 0xc7
rcl eax, 0xfd
shl esi, 0x87
inc bx
or ecx, 0x227
or di, 0x383
mov ecx, edx
movzx edx, al
mul edx
xor dx, 0x70
inc bx
imul ax
shl bx, 0xbe
shl edx, 0x31
rcl di, 0xce
dec cx
shr edi, 0x29
rol cx, 0xb
dec cx
add bx, 0x3ca
inc eax
mul edi
mul cx
or dx, 0x3e
or ebx, eax
rol esi, 0xe9
shl dx, 0x8d
imul cx
mul edi
inc ebx
mov edx, ebx
ror edi, 0x85
inc di
inc edi
imul esi
shr esi, 0xd9
dec dx
or si, bx
movzx edx, di
shr ecx, 0x8c
xor cx, 0xb2
ror di, 0xcf
or ecx, 0xc9
rol edx, 0xd
imul di
rcl dx, 0xeb
and edx, 0x3a7
imul edx
mov si, 0x278
movzx ebx, di
inc di
dec edx
sub ax, cx
xor bx, 0x193
shr edi, 0x18
or eax, 0x221
shr ebx, 0x5a
mul edx
inc edi
rcl bx, 0xca
inc bx
mov ax, cx
or ecx, edx
rcr cx, 0xa9
dec ebx
add eax, 0x152
mov eax, 0x3cb
mov edi, dword fs:[0x30]
mov edi, dword [edi + 0xc]
mov esi, dword [edi + 0xc]
mov eax, dword [esi]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov dword [0x438dc8], eax
pop edi
pop esi
pop ebx
ret