Function at 0x10037e40
Capabilities:
Access peb ldr_data
Check os version

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x29c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28c], eax
mov ecx, eax
mov dword [ebp - 0x288], ecx
mov ecx, dword fs:[0x30]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0xa4]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0xa8]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x10]
movzx ecx, word [ecx + 0xac]
mov dword [eax + 8], ecx
xor eax, eax
lea eax, [ebp - 0x14]
mov dword [esp], 6
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
call fcn.10038eb0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x284], 0x8e396c62
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x290], eax
nop word [eax + eax]
sub eax, 0x861d8ff8
je 0x10038af1
jmp 0x10037ef0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x8dd025c9
je 0x10038bd2
jmp 0x10037f10
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x8e396c62
je 0x10038455
jmp 0x10037f30
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x95285407
je 0x100389d7
jmp 0x10037f50
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x95e4597e
je 0x100386a5
jmp 0x10037f70
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xa0fb387d
je 0x10038665
jmp 0x10037f90
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xa22cc161
je 0x10038c48
jmp 0x10037fb0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xa6a05e60
je 0x10038ce0
jmp 0x10037fd0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xa8a1c2e3
je 0x10038905
jmp 0x10037ff0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xab89dcad
je 0x100384cd
jmp 0x10038010
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xb0191bd4
je 0x100388bd
jmp 0x10038030
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xb42ab8d2
je 0x10038685
jmp 0x10038050
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xb6778605
je 0x10038aab
jmp 0x10038070
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xba0d38de
je 0x100384eb
jmp 0x10038090
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xc40d3838
je 0x10038545
jmp 0x100380b0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xc4507f48
je 0x10038b7d
jmp 0x100380d0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xd0980538
je 0x10038585
jmp 0x100380f0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xd76ecfac
je 0x10038a65
jmp 0x10038110
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xe1f830c2
je 0x10038991
jmp 0x10038130
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xe37252c9
je 0x100384af
jmp 0x10038150
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xf862b749
je 0x100385a5
jmp 0x10038170
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xf9015fed
je 0x100387a5
jmp 0x10038190
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x119c24f
je 0x100387eb
jmp 0x100381b0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x678d694
je 0x100386e5
jmp 0x100381d0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xf601685
je 0x10038b8c
jmp 0x100381f0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x139c7485
je 0x10038565
jmp 0x10038210
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x27091a05
je 0x10038645
jmp 0x10038230
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x271f4dcb
je 0x10038527
jmp 0x10038250
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x31b8412e
je 0x10038831
jmp 0x10038270
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x3917e761
je 0x1003894b
jmp 0x10038290
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x3e9ad9cc
je 0x10038877
jmp 0x100382b0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x43d513fd
je 0x10038491
jmp 0x100382d0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x5156a293
je 0x10038725
jmp 0x100382f0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x5241a477
je 0x100385c5
jmp 0x10038310
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x53a8687f
je 0x10038b37
jmp 0x10038330
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x54e8f198
je 0x10038625
jmp 0x10038350
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x56082ba3
je 0x10038605
jmp 0x10038370
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x5bc9b528
je 0x10038473
jmp 0x10038390
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x6c1ec1d1
je 0x10038509
jmp 0x100383b0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x6ca6416c
je 0x100385e5
jmp 0x100383d0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x6eca2f93
je 0x100386c5
jmp 0x100383f0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x7226530b
je 0x10038a1d
jmp 0x10038410
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x72bceb23
je 0x10038765
jmp 0x10038430
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x79981f4b
je 0x10038cd0
jmp 0x10038450
jmp 0x10038d04
mov edx, dword [ebp - 0xc]
mov eax, 0x5bc9b528
mov ecx, 0x5241a477
cmp edx, 0xa
cmovl eax, ecx
mov dword [ebp - 0x284], eax
jmp 0x10038d04
mov edx, dword [ebp - 0xc]
mov eax, 0x43d513fd
mov ecx, 0x139c7485
cmp edx, 0xe
cmovl eax, ecx
mov dword [ebp - 0x284], eax
jmp 0x10038d04
mov edx, dword [ebp - 0xc]
mov eax, 0xe37252c9
mov ecx, 0x271f4dcb
cmp edx, 0x11
cmovl eax, ecx
mov dword [ebp - 0x284], eax
jmp 0x10038d04
mov edx, dword [ebp - 0xc]
mov eax, 0xab89dcad
mov ecx, 0x53a8687f
cmp edx, 0x12
cmovl eax, ecx
mov dword [ebp - 0x284], eax
jmp 0x10038d04
mov edx, dword [ebp - 0xc]
mov eax, 0xba0d38de
mov ecx, 0x6c1ec1d1
cmp edx, 0x19
cmovl eax, ecx
mov dword [ebp - 0x284], eax
jmp 0x10038d04
mov edx, dword [ebp - 0xc]
mov eax, 0xc4507f48
mov ecx, 0xd76ecfac
cmp edx, 0x19
cmove eax, ecx
mov dword [ebp - 0x284], eax
jmp 0x10038d04
mov edx, dword [ebp - 0xc]
mov eax, 0xc4507f48
mov ecx, 0x3e9ad9cc
cmp edx, 0x12
cmove eax, ecx
mov dword [ebp - 0x284], eax
jmp 0x10038d04
mov edx, dword [ebp - 0xc]
mov eax, 0xc40d3838
mov ecx, 0xe1f830c2
cmp edx, 0xf
cmovl eax, ecx
mov dword [ebp - 0x284], eax
jmp 0x10038d04
mov edx, dword [ebp - 0xc]
mov eax, 0xc4507f48
mov ecx, 0x95285407
cmp edx, 0xf
cmove eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x10038d04
mov edx, dword [ebp - 0xc]
mov eax, 0xd0980538
mov ecx, 0xf862b749
cmp edx, 0xc
cmovl eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x10038d04
mov edx, dword [ebp - 0xc]
mov eax, 0x861d8ff8
mov ecx, 0xa8a1c2e3
cmp edx, 0xd
cmovl eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x10038d04
mov edx, dword [ebp - 0xc]
mov eax, 0x31b8412e
mov ecx, 0x3917e761
cmp edx, 0xb
cmovl eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x10038d04
mov edx, dword [ebp - 0xc]
mov eax, 0x6ca6416c
mov ecx, 0x27091a05
cmp edx, 6
cmovl eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x10038d04
mov edx, dword [ebp - 0xc]
mov eax, 0x56082ba3
mov ecx, 0x54e8f198
cmp edx, 8
cmovl eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x10038d04
mov edx, dword [ebp - 0xc]
mov eax, 0x7226530b
mov ecx, 0xb0191bd4
cmp edx, 9
cmovl eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x10038d04
mov edx, dword [ebp - 0xc]
mov eax, 0xb6778605
mov ecx, 0x119c24f
cmp edx, 7
cmovl eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x10038d04
mov edx, dword [ebp - 0xc]
mov eax, 0xa0fb387d
mov ecx, 0x95e4597e
cmp edx, 3
cmovl eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x10038d04
mov edx, dword [ebp - 0xc]
mov eax, 0xb42ab8d2
mov ecx, 0x5156a293
cmp edx, 4
cmovl eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x10038d04
mov edx, dword [ebp - 0xc]
mov eax, 0xc4507f48
mov ecx, 0xf9015fed
cmp edx, 4
cmove eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x10038d04
mov edx, dword [ebp - 0xc]
mov eax, 0x72bceb23
mov ecx, 0x6eca2f93
cmp edx, 2
cmovl eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x10038d04
mov edx, dword [ebp - 0xc]
mov eax, 0xc4507f48
mov ecx, 0x678d694
cmp edx, 1
cmove eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x10038d04
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x2c]
mov dword [esp], eax
call fcn.10038f20
sub esp, 4
lea ecx, [ebp - 0x2c]
call fcn.10019b60
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037c30
mov dword [ebp - 0x284], 0x8dd025c9
nop dword [eax]
jmp 0x10038d04
lea ecx, [ebp - 0x50]
lea eax, [ebp - 0x4c]
mov dword [esp], eax
call fcn.10038f60
sub esp, 4
lea ecx, [ebp - 0x4c]
call fcn.1000f6a0
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037c30
mov dword [ebp - 0x284], 0x8dd025c9
nop dword [eax]
jmp 0x10038d04
lea ecx, [ebp - 0x6c]
lea eax, [ebp - 0x68]
mov dword [esp], eax
call fcn.10038fa0
sub esp, 4
lea ecx, [ebp - 0x68]
call fcn.10018020
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037c30
mov dword [ebp - 0x284], 0x8dd025c9
nop dword [eax]
jmp 0x10038d04
lea ecx, [ebp - 0x88]
lea eax, [ebp - 0x84]
mov dword [esp], eax
call fcn.10038fe0
sub esp, 4
lea ecx, [ebp - 0x84]
call fcn.10018020
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037c30
mov dword [ebp - 0x284], 0x8dd025c9
jmp 0x10038d04
lea ecx, [ebp - 0x9c]
lea eax, [ebp - 0x98]
mov dword [esp], eax
call fcn.10039020
sub esp, 4
lea ecx, [ebp - 0x98]
call fcn.1000f0c0
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037c30
mov dword [ebp - 0x284], 0x8dd025c9
jmp 0x10038d04
lea ecx, [ebp - 0xb4]
lea eax, [ebp - 0xb0]
mov dword [esp], eax
call fcn.10039060
sub esp, 4
lea ecx, [ebp - 0xb0]
call fcn.10017120
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037c30
mov dword [ebp - 0x284], 0x8dd025c9
jmp 0x10038d04
lea ecx, [ebp - 0xd4]
lea eax, [ebp - 0xd0]
mov dword [esp], eax
call fcn.100390a0
sub esp, 4
lea ecx, [ebp - 0xd0]
call fcn.10017920
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037c30
mov dword [ebp - 0x284], 0x8dd025c9
jmp 0x10038d04
lea ecx, [ebp - 0xf0]
lea eax, [ebp - 0xec]
mov dword [esp], eax
call fcn.100390e0
sub esp, 4
lea ecx, [ebp - 0xec]
call fcn.10018020
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037c30
mov dword [ebp - 0x284], 0x8dd025c9
nop
jmp 0x10038d04
lea ecx, [ebp - 0x120]
lea eax, [ebp - 0x11c]
mov dword [esp], eax
call fcn.10039120
sub esp, 4
lea ecx, [ebp - 0x11c]
call fcn.10039160
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037c30
mov dword [ebp - 0x284], 0x8dd025c9
jmp 0x10038d04
lea ecx, [ebp - 0x13c]
lea eax, [ebp - 0x138]
mov dword [esp], eax
call fcn.10039280
sub esp, 4
lea ecx, [ebp - 0x138]
call fcn.10018020
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037c30
mov dword [ebp - 0x284], 0x8dd025c9
jmp 0x10038d04
lea ecx, [ebp - 0x16c]
lea eax, [ebp - 0x168]
mov dword [esp], eax
call fcn.100392c0
sub esp, 4
lea ecx, [ebp - 0x168]
call fcn.10039160
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037c30
mov dword [ebp - 0x284], 0x8dd025c9
jmp 0x10038d04
lea ecx, [ebp - 0x1a4]
lea eax, [ebp - 0x1a0]
mov dword [esp], eax
call fcn.10039300
sub esp, 4
lea ecx, [ebp - 0x1a0]
call fcn.10039340
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037c30
mov dword [ebp - 0x284], 0x8dd025c9
jmp 0x10038d04
lea ecx, [ebp - 0x1c4]
lea eax, [ebp - 0x1c0]
mov dword [esp], eax
call fcn.10039450
sub esp, 4
lea ecx, [ebp - 0x1c0]
call fcn.10019f80
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037c30
mov dword [ebp - 0x284], 0x8dd025c9
nop
jmp 0x10038d04
lea ecx, [ebp - 0x1f4]
lea eax, [ebp - 0x1f0]
mov dword [esp], eax
call fcn.10039490
sub esp, 4
lea ecx, [ebp - 0x1f0]
call fcn.100394e0
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037c30
mov dword [ebp - 0x284], 0x8dd025c9
jmp 0x10038d04
lea ecx, [ebp - 0x210]
lea eax, [ebp - 0x20c]
mov dword [esp], eax
call fcn.10039620
sub esp, 4
lea ecx, [ebp - 0x20c]
call fcn.10019b60
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037c30
mov dword [ebp - 0x284], 0x8dd025c9
jmp 0x10038d04
lea ecx, [ebp - 0x240]
lea eax, [ebp - 0x23c]
mov dword [esp], eax
call fcn.10039660
sub esp, 4
lea ecx, [ebp - 0x23c]
call fcn.10018700
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037c30
mov dword [ebp - 0x284], 0x8dd025c9
jmp 0x10038d04
lea ecx, [ebp - 0x25c]
lea eax, [ebp - 0x258]
mov dword [esp], eax
call fcn.100396a0
sub esp, 4
lea ecx, [ebp - 0x258]
call fcn.10018020
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037c30
mov dword [ebp - 0x284], 0x8dd025c9
jmp 0x10038d04
mov dword [ebp - 0x284], 0xf601685
jmp 0x10038d04
lea ecx, [ebp - 0x280]
lea eax, [ebp - 0x27c]
mov dword [esp], eax
call fcn.100396e0
sub esp, 4
lea ecx, [ebp - 0x27c]
call fcn.10018a40
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037c30
mov dword [ebp - 0x284], 0x8dd025c9
jmp 0x10038d04
mov ecx, dword [0x10065bb8]
mov eax, dword [0x10065bbc]
mov edx, ecx
add edx, 0x1dedb301
sub edx, 1
sub edx, 0x1dedb301
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xa6a05e60
mov ecx, 0xa22cc161
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x284], eax
jmp 0x10038d04
mov eax, dword [ebp - 0x28c]
add eax, 0xc
mov ecx, 0xffffffff
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10039720
mov ecx, dword [0x10065bb8]
mov eax, dword [0x10065bbc]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xa6a05e60
mov ecx, 0x79981f4b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x284], eax
jmp 0x10038d04
mov eax, dword [ebp - 0x288]
add esp, 0x29c
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x28c]
add eax, 0xc
mov ecx, 0xffffffff
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10039720
mov dword [ebp - 0x284], 0xa22cc161
jmp 0x10037ece