Function at 0x10037240
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.10038290
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x284], 0xd697c672
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x290], eax
nop word [eax + eax]
sub eax, 0x8633c735
je 0x10037e1d
jmp 0x100372f0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x8cbf66aa
je 0x10037d4b
jmp 0x10037310
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x90180ba3
je 0x10037e65
jmp 0x10037330
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x95c42195
je 0x10037873
jmp 0x10037350
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x96519ae7
je 0x10037f7d
jmp 0x10037370
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x96fecfbd
je 0x100378af
jmp 0x10037390
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xaf4c4b82
je 0x10037ba5
jmp 0x100373b0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xb56155a7
je 0x10037ac5
jmp 0x100373d0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xc0bc6fd1
je 0x10037eab
jmp 0x100373f0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xcbf3d5a8
je 0x10037ef1
jmp 0x10037410
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xce3c4e40
je 0x10037d91
jmp 0x10037430
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xd0ebef3a
je 0x10037a05
jmp 0x10037450
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xd1123da6
je 0x10037945
jmp 0x10037470
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xd209cf9c
je 0x10037891
jmp 0x10037490
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xd21c2ad9
je 0x100380b0
jmp 0x100374b0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xd697c672
je 0x10037855
jmp 0x100374d0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xd8d6a6b4
je 0x10037b25
jmp 0x100374f0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xeb9a4530
je 0x10037f8c
jmp 0x10037510
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xed676349
je 0x10037c77
jmp 0x10037530
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xef76ebda
je 0x10037b65
jmp 0x10037550
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xf04c1795
je 0x10037d05
jmp 0x10037570
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xf919b647
je 0x10037965
jmp 0x10037590
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xf93ce1bb
je 0x10037a25
jmp 0x100375b0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xfac99c0b
je 0x10037f37
jmp 0x100375d0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0xffe6af86
je 0x100378eb
jmp 0x100375f0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x1a356c8
je 0x10037beb
jmp 0x10037610
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x3d71f87
je 0x10037dd7
jmp 0x10037630
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x85ec455
je 0x10037985
jmp 0x10037650
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x871e9ff
je 0x10037909
jmp 0x10037670
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x1328d19a
je 0x100379e5
jmp 0x10037690
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x1f52d8f4
je 0x10037c31
jmp 0x100376b0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x1fd5bfd6
je 0x100380c0
jmp 0x100376d0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x305bcb63
je 0x10037a65
jmp 0x100376f0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x3c4ccaa6
je 0x100379a5
jmp 0x10037710
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x3e08fb6b
je 0x100379c5
jmp 0x10037730
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x40f70f05
je 0x10037a85
jmp 0x10037750
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x620d4923
je 0x100378cd
jmp 0x10037770
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x68c476be
je 0x10037aa5
jmp 0x10037790
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x6de69b5f
je 0x10037ae5
jmp 0x100377b0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x73085b2f
je 0x10038045
jmp 0x100377d0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x7462e1fe
je 0x10037cbd
jmp 0x100377f0
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x7802a9d3
je 0x10037fd2
jmp 0x10037810
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x7b0a0bbf
je 0x10037a45
jmp 0x10037830
mov eax, dword [ebp - 0x290]
nop word cs:[eax + eax]
sub eax, 0x7ba6c242
je 0x10037927
jmp 0x10037850
jmp 0x100380e4
mov edx, dword [ebp - 0xc]
mov eax, 0x95c42195
mov ecx, 0x3e08fb6b
cmp edx, 0xa
cmovl eax, ecx
mov dword [ebp - 0x284], eax
jmp 0x100380e4
mov edx, dword [ebp - 0xc]
mov eax, 0xd209cf9c
mov ecx, 0xf919b647
cmp edx, 0xe
cmovl eax, ecx
mov dword [ebp - 0x284], eax
jmp 0x100380e4
mov edx, dword [ebp - 0xc]
mov eax, 0x96fecfbd
mov ecx, 0x7ba6c242
cmp edx, 0x11
cmovl eax, ecx
mov dword [ebp - 0x284], eax
jmp 0x100380e4
mov edx, dword [ebp - 0xc]
mov eax, 0x620d4923
mov ecx, 0xfac99c0b
cmp edx, 0x12
cmovl eax, ecx
mov dword [ebp - 0x284], eax
jmp 0x100380e4
mov edx, dword [ebp - 0xc]
mov eax, 0xffe6af86
mov ecx, 0x871e9ff
cmp edx, 0x19
cmovl eax, ecx
mov dword [ebp - 0x284], eax
jmp 0x100380e4
mov edx, dword [ebp - 0xc]
mov eax, 0x96519ae7
mov ecx, 0x90180ba3
cmp edx, 0x19
cmove eax, ecx
mov dword [ebp - 0x284], eax
jmp 0x100380e4
mov edx, dword [ebp - 0xc]
mov eax, 0x96519ae7
mov ecx, 0xed676349
cmp edx, 0x12
cmove eax, ecx
mov dword [ebp - 0x284], eax
jmp 0x100380e4
mov edx, dword [ebp - 0xc]
mov eax, 0xd1123da6
mov ecx, 0xce3c4e40
cmp edx, 0xf
cmovl eax, ecx
mov dword [ebp - 0x284], eax
jmp 0x100380e4
mov edx, dword [ebp - 0xc]
mov eax, 0x96519ae7
mov ecx, 0x3d71f87
cmp edx, 0xf
cmove eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x100380e4
mov edx, dword [ebp - 0xc]
mov eax, 0x85ec455
mov ecx, 0x3c4ccaa6
cmp edx, 0xc
cmovl eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x100380e4
mov edx, dword [ebp - 0xc]
mov eax, 0xcbf3d5a8
mov ecx, 0xf04c1795
cmp edx, 0xd
cmovl eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x100380e4
mov edx, dword [ebp - 0xc]
mov eax, 0x1f52d8f4
mov ecx, 0x8cbf66aa
cmp edx, 0xb
cmovl eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x100380e4
mov edx, dword [ebp - 0xc]
mov eax, 0x1328d19a
mov ecx, 0x7b0a0bbf
cmp edx, 6
cmovl eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x100380e4
mov edx, dword [ebp - 0xc]
mov eax, 0xd0ebef3a
mov ecx, 0xf93ce1bb
cmp edx, 8
cmovl eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x100380e4
mov edx, dword [ebp - 0xc]
mov eax, 0x8633c735
mov ecx, 0x7462e1fe
cmp edx, 9
cmovl eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x100380e4
mov edx, dword [ebp - 0xc]
mov eax, 0xc0bc6fd1
mov ecx, 0x1a356c8
cmp edx, 7
cmovl eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x100380e4
mov edx, dword [ebp - 0xc]
mov eax, 0x305bcb63
mov ecx, 0x68c476be
cmp edx, 3
cmovl eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x100380e4
mov edx, dword [ebp - 0xc]
mov eax, 0x40f70f05
mov ecx, 0xd8d6a6b4
cmp edx, 4
cmovl eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x100380e4
mov edx, dword [ebp - 0xc]
mov eax, 0x96519ae7
mov ecx, 0xaf4c4b82
cmp edx, 4
cmove eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x100380e4
mov edx, dword [ebp - 0xc]
mov eax, 0xef76ebda
mov ecx, 0xb56155a7
cmp edx, 2
cmovl eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x100380e4
mov edx, dword [ebp - 0xc]
mov eax, 0x96519ae7
mov ecx, 0x6de69b5f
cmp edx, 1
cmove eax, ecx
mov dword [ebp - 0x284], eax
nop
jmp 0x100380e4
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x2c]
mov dword [esp], eax
call fcn.10038350
sub esp, 4
lea ecx, [ebp - 0x2c]
call fcn.100197a0
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10038300
mov dword [ebp - 0x284], 0x7802a9d3
nop dword [eax]
jmp 0x100380e4
lea ecx, [ebp - 0x50]
lea eax, [ebp - 0x4c]
mov dword [esp], eax
call fcn.10038390
sub esp, 4
lea ecx, [ebp - 0x4c]
call fcn.1000f6c0
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10038300
mov dword [ebp - 0x284], 0x7802a9d3
nop dword [eax]
jmp 0x100380e4
lea ecx, [ebp - 0x6c]
lea eax, [ebp - 0x68]
mov dword [esp], eax
call fcn.100383d0
sub esp, 4
lea ecx, [ebp - 0x68]
call fcn.100179c0
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10038300
mov dword [ebp - 0x284], 0x7802a9d3
nop dword [eax]
jmp 0x100380e4
lea ecx, [ebp - 0x88]
lea eax, [ebp - 0x84]
mov dword [esp], eax
call fcn.10038410
sub esp, 4
lea ecx, [ebp - 0x84]
call fcn.100179c0
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10038300
mov dword [ebp - 0x284], 0x7802a9d3
jmp 0x100380e4
lea ecx, [ebp - 0x9c]
lea eax, [ebp - 0x98]
mov dword [esp], eax
call fcn.10038450
sub esp, 4
lea ecx, [ebp - 0x98]
call fcn.1000f0e0
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10038300
mov dword [ebp - 0x284], 0x7802a9d3
jmp 0x100380e4
lea ecx, [ebp - 0xb4]
lea eax, [ebp - 0xb0]
mov dword [esp], eax
call fcn.10038490
sub esp, 4
lea ecx, [ebp - 0xb0]
call fcn.10016ce0
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10038300
mov dword [ebp - 0x284], 0x7802a9d3
jmp 0x100380e4
lea ecx, [ebp - 0xd4]
lea eax, [ebp - 0xd0]
mov dword [esp], eax
call fcn.100384d0
sub esp, 4
lea ecx, [ebp - 0xd0]
call fcn.100174c0
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10038300
mov dword [ebp - 0x284], 0x7802a9d3
jmp 0x100380e4
lea ecx, [ebp - 0xf0]
lea eax, [ebp - 0xec]
mov dword [esp], eax
call fcn.10038510
sub esp, 4
lea ecx, [ebp - 0xec]
call fcn.100179c0
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10038300
mov dword [ebp - 0x284], 0x7802a9d3
nop
jmp 0x100380e4
lea ecx, [ebp - 0x120]
lea eax, [ebp - 0x11c]
mov dword [esp], eax
call fcn.10038550
sub esp, 4
lea ecx, [ebp - 0x11c]
call fcn.100385a0
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10038300
mov dword [ebp - 0x284], 0x7802a9d3
jmp 0x100380e4
lea ecx, [ebp - 0x13c]
lea eax, [ebp - 0x138]
mov dword [esp], eax
call fcn.100386e0
sub esp, 4
lea ecx, [ebp - 0x138]
call fcn.100179c0
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10038300
mov dword [ebp - 0x284], 0x7802a9d3
jmp 0x100380e4
lea ecx, [ebp - 0x16c]
lea eax, [ebp - 0x168]
mov dword [esp], eax
call fcn.10038720
sub esp, 4
lea ecx, [ebp - 0x168]
call fcn.100385a0
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10038300
mov dword [ebp - 0x284], 0x7802a9d3
jmp 0x100380e4
lea ecx, [ebp - 0x1a4]
lea eax, [ebp - 0x1a0]
mov dword [esp], eax
call fcn.10038760
sub esp, 4
lea ecx, [ebp - 0x1a0]
call fcn.100387a0
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10038300
mov dword [ebp - 0x284], 0x7802a9d3
jmp 0x100380e4
lea ecx, [ebp - 0x1c4]
lea eax, [ebp - 0x1c0]
mov dword [esp], eax
call fcn.100388d0
sub esp, 4
lea ecx, [ebp - 0x1c0]
call fcn.10019bc0
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10038300
mov dword [ebp - 0x284], 0x7802a9d3
nop
jmp 0x100380e4
lea ecx, [ebp - 0x1f4]
lea eax, [ebp - 0x1f0]
mov dword [esp], eax
call fcn.10038910
sub esp, 4
lea ecx, [ebp - 0x1f0]
call fcn.10038960
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10038300
mov dword [ebp - 0x284], 0x7802a9d3
jmp 0x100380e4
lea ecx, [ebp - 0x210]
lea eax, [ebp - 0x20c]
mov dword [esp], eax
call fcn.10038aa0
sub esp, 4
lea ecx, [ebp - 0x20c]
call fcn.100197a0
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10038300
mov dword [ebp - 0x284], 0x7802a9d3
jmp 0x100380e4
lea ecx, [ebp - 0x240]
lea eax, [ebp - 0x23c]
mov dword [esp], eax
call fcn.10038ae0
sub esp, 4
lea ecx, [ebp - 0x23c]
call fcn.100180c0
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10038300
mov dword [ebp - 0x284], 0x7802a9d3
jmp 0x100380e4
lea ecx, [ebp - 0x25c]
lea eax, [ebp - 0x258]
mov dword [esp], eax
call fcn.10038b20
sub esp, 4
lea ecx, [ebp - 0x258]
call fcn.100179c0
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10038300
mov dword [ebp - 0x284], 0x7802a9d3
jmp 0x100380e4
mov dword [ebp - 0x284], 0xeb9a4530
jmp 0x100380e4
lea ecx, [ebp - 0x280]
lea eax, [ebp - 0x27c]
mov dword [esp], eax
call fcn.10038b60
sub esp, 4
lea ecx, [ebp - 0x27c]
call fcn.10018660
mov ecx, dword [ebp - 0x28c]
add ecx, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10038300
mov dword [ebp - 0x284], 0x7802a9d3
jmp 0x100380e4
mov ecx, dword [0x10064b40]
mov eax, dword [0x10064b44]
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, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x1fd5bfd6
mov ecx, 0x73085b2f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x284], eax
nop dword [eax + eax]
jmp 0x100380e4
mov eax, dword [ebp - 0x28c]
add eax, 0xc
mov ecx, 0xffffffff
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10038ba0
mov eax, dword [0x10064b40]
mov ecx, dword [0x10064b44]
mov edx, eax
sub edx, 0xe2d13a30
sub edx, 1
add edx, 0xe2d13a30
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x1fd5bfd6
mov ecx, 0xd21c2ad9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x284], eax
jmp 0x100380e4
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.10038ba0
mov dword [ebp - 0x284], 0x73085b2f
jmp 0x100372ce