Function at 0x428980
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e1b9e
mov eax, dword fs:[0]
push eax
sub esp, 0x2e8
mov eax, dword [0x660ff8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push pe_nt_image_headers32
lea eax, [ebp - 0x180]
push 0
push eax
call fcn.005b4d50
add esp, 0xc
mov dword [ebp - 0x184], 0x11c
lea eax, [ebp - 0x184]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
or edi, 0xffffffff
test eax, eax
je 0x4297b5
cmp dword [ebp - 0x180], 6
jb 0x428a3d
lea eax, [ebp - 0x188]
push eax
lea edx, [ebp - 0x194]
lea ecx, [ebp - 0x190]
call fcn.00427770
mov ecx, dword [ebp - 0x190]
add esp, 4
mov eax, dword [ebp - 0x194]
cmp dword [ebp - 0x180], ecx
jne 0x428a25
cmp dword [ebp - 0x17c], eax
je 0x428a3d
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x180], ecx
mov dword [ebp - 0x178], eax
push ecx
lea ecx, [ebp - 0x244]
call fcn.004156b0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x234]
movzx eax, word [ebp - 0x178]
push eax
push dword [ebp - 0x17c]
push dword [ebp - 0x180]
call fcn.00415850
mov dl, 0x2e
mov ecx, eax
call fcn.00425760
mov ecx, eax
call fcn.00415850
mov dl, 0x2e
mov ecx, eax
call fcn.00425760
mov ecx, eax
call fcn.00415850
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00416140
mov byte [ebp - 4], 1
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
call fcn.0040cf77
mov ecx, eax
test ecx, ecx
je 0x4298c1
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x188]
cmp dword [ebp - 0x14], 8
mov dword [ebp - 0x188], eax
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0040d8d0
push 0
push 0x1168d
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 2
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 3
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x50]
call fcn.0041de20
mov byte [ebp - 4], 1
mov eax, edi
mov edx, dword [ebp - 0x188]
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x428b39
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
cmp ecx, 8
jb 0x428b81
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x428b77
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4298cb
push ecx
push edx
call fcn.005b0fc9
add esp, 8
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00416140
mov byte [ebp - 4], 4
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
call fcn.0040cf77
mov ecx, eax
test ecx, ecx
je 0x4298d0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x188]
cmp dword [ebp - 0x14], 8
mov dword [ebp - 0x188], eax
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0040d8d0
push 0
push 0x115a0
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 5
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 6
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x50]
call fcn.0041de20
mov byte [ebp - 4], 4
mov eax, edi
mov edx, dword [ebp - 0x188]
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x428c2b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
cmp ecx, 8
jb 0x428c73
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x428c69
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4298da
push ecx
push edx
call fcn.005b0fc9
add esp, 8
push 0x62bf34
lea ecx, [ebp - 0x28]
call fcn.004078f2
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 7
call fcn.00417110
push dword [ebp - 0x1f0]
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x22c]
push eax
call fcn.0041d320
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 8
jb 0x428ced
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x428ce3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42992f
push ecx
push edx
call fcn.005b0fc9
add esp, 8
push dword [ebp - 0x180]
lea ecx, [ebp - 0x234]
call fcn.00415850
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00416140
mov byte [ebp - 4], 8
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
call fcn.0040cf77
mov ecx, eax
test ecx, ecx
je 0x4298df
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x188]
cmp dword [ebp - 0x14], 8
mov dword [ebp - 0x188], eax
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0040d8d0
push 0
push 0x116c7
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 9
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0xa
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x50]
call fcn.0041de20
mov byte [ebp - 4], 8
mov eax, edi
mov edx, dword [ebp - 0x188]
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x428da8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
cmp ecx, 8
jb 0x428df0
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x428de6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4298e9
push ecx
push edx
call fcn.005b0fc9
add esp, 8
push 0x62bf34
lea ecx, [ebp - 0x28]
call fcn.004078f2
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0xb
call fcn.00417110
push dword [ebp - 0x1f0]
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x22c]
push eax
call fcn.0041d320
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 8
jb 0x428e6a
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x428e60
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42992f
push ecx
push edx
call fcn.005b0fc9
add esp, 8
push dword [ebp - 0x17c]
lea ecx, [ebp - 0x234]
call fcn.00415850
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00416140
mov byte [ebp - 4], 0xc
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
call fcn.0040cf77
mov ecx, eax
test ecx, ecx
je 0x4298ee
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x188]
cmp dword [ebp - 0x14], 8
mov dword [ebp - 0x188], eax
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0040d8d0
push 0
push 0x116c8
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0xd
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0xe
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x50]
call fcn.0041de20
mov byte [ebp - 4], 0xc
mov eax, edi
mov edx, dword [ebp - 0x188]
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x428f25
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
cmp ecx, 8
jb 0x428f6d
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x428f63
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4298f8
push ecx
push edx
call fcn.005b0fc9
add esp, 8
push 0x62bf34
lea ecx, [ebp - 0x28]
call fcn.004078f2
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0xf
call fcn.00417110
push dword [ebp - 0x1f0]
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x22c]
push eax
call fcn.0041d320
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 8
jb 0x428fe7
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x428fdd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42992f
push ecx
push edx
call fcn.005b0fc9
add esp, 8
movzx eax, word [ebp - 0x178]
lea ecx, [ebp - 0x234]
push eax
call fcn.00415850
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00416140
mov byte [ebp - 4], 0x10
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
call fcn.0040cf77
mov ecx, eax
test ecx, ecx
je 0x4298fd
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x188]
cmp dword [ebp - 0x14], 8
mov dword [ebp - 0x188], eax
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0040d8d0
push 0
push 0x116c6
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x11
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x12
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x50]
call fcn.0041de20
mov byte [ebp - 4], 0x10
mov eax, edi
mov edx, dword [ebp - 0x188]
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4290a4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
cmp ecx, 8
jb 0x4290ec
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4290e2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429907
push ecx
push edx
call fcn.005b0fc9
add esp, 8
push 0x62bf34
lea ecx, [ebp - 0x28]
call fcn.004078f2
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0x13
call fcn.00417110
push dword [ebp - 0x1f0]
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x22c]
push eax
call fcn.0041d320
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 8
jb 0x429166
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x42915c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42992f
push ecx
push edx
call fcn.005b0fc9
add esp, 8
push dword [ebp - 0x70]
lea ecx, [ebp - 0x234]
call fcn.0042b9d0
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00416140
mov byte [ebp - 4], 0x14
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
call fcn.0040cf77
mov ecx, eax
test ecx, ecx
je 0x42990c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x188]
cmp dword [ebp - 0x14], 8
mov dword [ebp - 0x188], eax
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0040d8d0
push 0
push 0x116c4
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x15
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x16
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x50]
call fcn.0041de20
mov byte [ebp - 4], 0x14
mov eax, edi
mov edx, dword [ebp - 0x188]
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42921e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
cmp ecx, 8
jb 0x429266
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x42925c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429916
push ecx
push edx
call fcn.005b0fc9
add esp, 8
push 0x62bf34
lea ecx, [ebp - 0x28]
call fcn.004078f2
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0x17
call fcn.00417110
push dword [ebp - 0x1f0]
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x22c]
push eax
call fcn.0041d320
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 8
jb 0x4292e0
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4292d6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42992f
push ecx
push edx
call fcn.005b0fc9
add esp, 8
push dword [ebp - 0x6e]
lea ecx, [ebp - 0x234]
call fcn.0042b9d0
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00416140
mov byte [ebp - 4], 0x18
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
call fcn.0040cf77
mov ecx, eax
test ecx, ecx
je 0x42991b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x188]
cmp dword [ebp - 0x14], 8
mov dword [ebp - 0x188], eax
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0040d8d0
push 0
push 0x116c5
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x19
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x1a
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x50]
call fcn.0041de20
mov byte [ebp - 4], 0x18
mov eax, edi
mov edx, dword [ebp - 0x188]
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x429398
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
cmp ecx, 8
jb 0x4293e0
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4293d6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429925
push ecx
push edx
call fcn.005b0fc9
add esp, 8
push 0x62bf34
lea ecx, [ebp - 0x28]
call fcn.004078f2
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0x1b
call fcn.00417110
push dword [ebp - 0x1f0]
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x22c]
push eax
call fcn.0041d320
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 8
jb 0x42945a
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x429450
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42992f
push ecx
push edx
call fcn.005b0fc9
add esp, 8
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x234]
call fcn.0042b9d0
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00416140
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x18c]
call fcn.0043fc90
mov esi, eax
push 0
push 0x116c3
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x1d
call fcn.0041dbf0
push 0
push esi
push eax
mov byte [ebp - 4], 0x1e
call fcn.004448b0
lea ecx, [ebp - 0x50]
call fcn.0041de20
mov byte [ebp - 4], 0x1c
mov eax, edi
mov edx, dword [ebp - 0x188]
mov dword [ebp - method.srl::Name.virtual_0], vtable.srl::Name.0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4294db
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
cmp ecx, 8
jb 0x429523
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x429519
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42992a
push ecx
push edx
call fcn.005b0fc9
add esp, 8
push 0x62bf34
lea ecx, [ebp - 0x28]
call fcn.004078f2
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0x1f
call fcn.00417110
push dword [ebp - 0x1f0]
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x22c]
push eax
call fcn.0041d320
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 8
jb 0x42959d
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x429593
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42992f
push ecx
push edx
call fcn.005b0fc9
add esp, 8
movzx eax, byte [ebp - 0x6a]
lea ecx, [ebp - 0x234]
push eax
call fcn.0040fc40
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00416140
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x18c]
call fcn.0043fc90
mov esi, eax
push 0
push 0x116c2
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x21
call fcn.0041dbf0
push 0
push esi
push eax
mov byte [ebp - 4], 0x22
call fcn.004448b0
lea ecx, [ebp - 0x50]
call fcn.0041de20
mov byte [ebp - 4], 0x20
mov eax, edi
mov edx, dword [ebp - 0x188]
mov dword [ebp - method.srl::Name.virtual_0], vtable.srl::Name.0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x429620
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
cmp ecx, 8
jb 0x429668
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x42965e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429934
push ecx
push edx
call fcn.005b0fc9
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
push ecx
lea ecx, [ebp - 0x2f4]
mov esi, eax
call fcn.004156b0
mov byte [ebp - 4], 0x23
lea edx, [ebp - 0x2d0]
mov ecx, dword [ebp - 0x2e4]
lea eax, [ebp - 0x20]
push 0
push 4
push eax
add edx, dword [ecx + 4]
mov ecx, dword [edx]
and ecx, 0xfffff9ff
or ecx, 0x800
mov dword [edx], ecx
call fcn.005b33c0
add esp, 0xc
lea ecx, [ebp - 0x2e4]
mov edx, eax
call fcn.0041d510
mov edx, 0x30
push esi
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
mov word [ecx + eax + 0x40], dx
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
or dword [ecx + eax + 0x14], 4
mov ecx, eax
call fcn.00415850
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x2dc]
call fcn.00416140
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x18c]
call fcn.0043fc90
mov esi, eax
push 0
push 0x116dc
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x25
call fcn.0041dbf0
push 0
push esi
push eax
mov byte [ebp - 4], 0x26
call fcn.004448b0
lea ecx, [ebp - 0x50]
call fcn.0041de20
mov byte [ebp - 4], 0x24
mov eax, edi
mov edx, dword [ebp - 0x188]
mov dword [ebp - method.srl::Name.virtual_0], vtable.srl::Name.0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x429750
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x14]
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
cmp ecx, 8
jb 0x429798
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x42978e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429939
push ecx
push edx
call fcn.005b0fc9
add esp, 8
lea ecx, [ebp - 0x2f4]
call fcn.00415590
lea ecx, [ebp - 0x244]
mov dword [ebp - 4], 0xffffffff
call fcn.00415590
mov eax, dword [0x66b6e4]
test eax, eax
jne 0x4297f3
push 0x80
call fcn.004677d2
add esp, 4
mov dword [ebp - 0x188], eax
mov dword [ebp - 4], 0x27
test eax, eax
je 0x4297e5
mov ecx, eax
call fcn.0040db00
jmp 0x4297e7
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x66b6e4], eax
push dword [eax + 0xc]
lea ecx, [ebp - 0x68]
call fcn.004078f2
lea eax, [ebp - 0x68]
mov dword [ebp - 4], 0x28
push eax
lea ecx, [ebp - 0x18]
call fcn.0043fc90
mov esi, eax
push 0
push 0x11627
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x29
call fcn.0041dbf0
push 0
push esi
push eax
mov byte [ebp - 4], 0x2a
call fcn.004448b0
lea ecx, [ebp - 0x50]
call fcn.0041de20
mov byte [ebp - 4], 0x28
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x18], vtable.srl::Name.0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x42985e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x18], vtable.srl::Value.0
cmp ecx, 8
jb 0x4298a6
mov edx, dword [ebp - 0x68]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x42989c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42993e
push ecx
push edx
call fcn.005b0fc9
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005b0d47
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00402449
call fcn.005b7faf
push 0x80004005
call fcn.00402449
call fcn.005b7faf
push 0x80004005
call fcn.00402449
call fcn.005b7faf
push 0x80004005
call fcn.00402449
call fcn.005b7faf
push 0x80004005
call fcn.00402449
call fcn.005b7faf
push 0x80004005
call fcn.00402449
call fcn.005b7faf
push 0x80004005
call fcn.00402449
call fcn.005b7faf
call fcn.005b7faf
call fcn.005b7faf
call fcn.005b7faf
call fcn.005b7faf
call fcn.005b7faf
int3