Function at 0x497b00
Capabilities:
Access peb ldr_data
Check os version
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xc0
mov esi, esp
mov dword [esi + 0xa8], ebp
mov edx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
lea eax, [esi + 0xb0]
mov dword [eax - 4], esp
mov dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x498760
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov dword fs:[0], eax
mov byte [edx], 1
lea eax, [edx + 4]
mov dword [esi + 0x18], eax
xor eax, eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
lea ebx, [esi + 0x30]
test edi, edi
je 0x497dc4
mov dword [esi + 0x24], edi
mov edi, dword [edi]
xorps xmm0, xmm0
movsd qword [esi + 0x40], xmm0
xorps xmm0, xmm0
movaps xmmword [esi + 0x30], xmm0
push edi
call fcn.007149b0
add esp, 4
mov dword [esi + 0xb8], 0
mov ecx, ebx
push eax
push edi
call fcn.0041015e
mov dword [esi + 0xb8], 1
push 9
lea eax, [esi + 0x30]
push eax
lea eax, [esi + 0xc]
push eax
call fcn.00497e9c
add esp, 0xc
mov eax, dword [esi + 0x44]
cmp eax, 0x10
jb 0x497bc3
inc eax
push eax
push dword [esi + 0x30]
call fcn.00404bbf
add esp, 8
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
sub eax, ecx
sar eax, 3
imul eax, eax, 0xaaaaaaab
mov dword [esi + 0xb8], 2
cmp eax, 6
ja 0x497bf2
lea ecx, [esi + 0xc]
push 0x79abcb
call fcn.00498f2c
jmp 0x497bc3
mov dword [esi + 8], ecx
call fcn.0070acc3
mov edi, eax
mov ebx, dword [esi + 8]
cmp dword [ebx + 0x74], 0x10
jb 0x497c0a
mov ebx, dword [ebx + 0x60]
jmp 0x497c0d
add ebx, 0x60
lea eax, [esi + 0x30]
mov dword [edi], 0
push 0xa
push eax
push ebx
call fcn.00715801
add esp, 0xc
cmp ebx, dword [esi + 0x30]
je 0x497ddb
cmp dword [edi], 0x22
je 0x497de8
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 0x10]
sub edi, edx
mov ecx, edi
sar ecx, 3
imul ecx, ecx, 0xaaaaaaab
cmp ecx, 5
jbe 0x497e04
mov dword [esi + 8], eax
cmp edi, 0x90
je 0x497df5
mov dword [esi + 0x20], edx
lea eax, [edx + 0x18]
push eax
call fcn.00497fd4
add esp, 4
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
sub edx, edi
mov ecx, edx
sar ecx, 3
imul ecx, ecx, 0xaaaaaaab
cmp ecx, 2
jbe 0x497dff
mov byte [esi + 7], al
cmp edx, 0x48
je 0x497dfa
lea eax, [edi + 0x48]
push eax
mov dword [esi + 0x1c], edi
call fcn.00497fd4
add esp, 4
mov bl, byte [esi + 7]
mov ecx, eax
mov eax, dword [esi + 8]
mov edx, 0x989680
mul edx
mov dword [esi + 0x2c], edx
mov edi, dword [esi + 0x20]
lea edx, [edi + 0x78]
mov dword [esi + 8], edx
mov dword [esi + 0x28], eax
lea edx, [edi + 0x90]
mov eax, dword [esi + 0x1c]
add eax, 0x30
sub esp, 0x20
movsd xmm0, qword [esi + 0x28]
movsd qword [esp + 0x18], xmm0
movzx ecx, cl
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
movzx ecx, bl
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov eax, dword [esi + 8]
mov dword [esp], eax
lea ecx, [esi + 0x30]
call fcn.004987aa
mov dword [esi + 0xb8], 3
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x30]
push eax
call fcn.004a2664
mov eax, dword [esi + 0x90]
cmp eax, 0x10
mov edi, dword [esi + 0x24]
jb 0x497d36
inc eax
push eax
push dword [esi + 0x7c]
call fcn.00404bbf
add esp, 8
mov dword [esi + 0x8c], 0
mov dword [esi + 0x90], 0xf
mov byte [esi + 0x7c], 0
mov eax, dword [esi + 0x74]
cmp eax, 0x10
lea ebx, [esi + 0x30]
jb 0x497d66
inc eax
push eax
push dword [esi + 0x60]
call fcn.00404bbf
add esp, 8
mov dword [esi + 0x70], 0
mov dword [esi + 0x74], 0xf
mov byte [esi + 0x60], 0
mov eax, dword [esi + 0x5c]
cmp eax, 0x10
jb 0x497d8d
inc eax
push eax
push dword [esi + 0x48]
call fcn.00404bbf
add esp, 8
mov dword [esi + 0x58], 0
mov dword [esi + 0x5c], 0xf
mov byte [esi + 0x48], 0
mov eax, dword [esi + 0x44]
cmp eax, 0x10
jb 0x497db4
inc eax
push eax
push dword [esi + 0x30]
call fcn.00404bbf
add esp, 8
lea ecx, [esi + 0xc]
call fcn.004538b0
mov edi, dword [edi + 4]
jmp 0x497b5a
mov eax, dword [esi + 0xb0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push str.invalid_stoul_argument
call fcn.0053f3ed
add esp, 4
push str.stoul_argument_out_of_range
call fcn.0053f42d
add esp, 4
call fcn.004991ac
call fcn.004991ac
call fcn.004991ac
call fcn.004991ac
push ebp
sub esp, 0x20
lea esi, [ebp - 0xbc]
mov ebp, dword [esi + 0xa8]
mov eax, dword [esi + 0x44]
cmp eax, 0x10
jb 0x497e2e
inc eax
push eax
push dword [esi + 0x30]
call fcn.00404bbf
add esp, 8
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0xf
mov byte [esi + 0x30], 0
add esp, 0x20
pop ebp
ret