Function at 0x429360
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e040e
mov eax, dword fs:[0]
push eax
sub esp, 0x2e8
mov eax, dword [0x663000]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x118
lea eax, [ebp - 0x180]
push 0
push eax
call fcn.005b3720
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 0x42a195
cmp dword [ebp - 0x180], 6
jb 0x42941d
lea eax, [ebp - 0x188]
push eax
lea edx, [ebp - 0x194]
lea ecx, [ebp - 0x190]
call fcn.00428150
mov ecx, dword [ebp - 0x190]
add esp, 4
mov eax, dword [ebp - 0x194]
cmp dword [ebp - 0x180], ecx
jne 0x429405
cmp dword [ebp - 0x17c], eax
je 0x42941d
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.00415de0
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.00415f80
mov dl, 0x2e
mov ecx, eax
call fcn.00426130
mov ecx, eax
call fcn.00415f80
mov dl, 0x2e
mov ecx, eax
call fcn.00426130
mov ecx, eax
call fcn.00415f80
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00416850
mov byte [ebp - 4], 1
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
call fcn.0040cfd9
mov ecx, eax
test ecx, ecx
je 0x42a2a1
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.0040d9f0
push 0
push 0x1168d
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 2
call fcn.0041de30
push 0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 3
push ecx
push eax
call fcn.00444dc0
lea ecx, [ebp - 0x50]
call fcn.0041e070
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 0x429519
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 0x429561
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x429557
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a2ab
push ecx
push edx
call fcn.005af9e7
add esp, 8
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00416850
mov byte [ebp - 4], 4
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
call fcn.0040cfd9
mov ecx, eax
test ecx, ecx
je 0x42a2b0
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.0040d9f0
push 0
push 0x115a0
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 5
call fcn.0041de30
push 0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 6
push ecx
push eax
call fcn.00444dc0
lea ecx, [ebp - 0x50]
call fcn.0041e070
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 0x42960b
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 0x429653
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x429649
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a2ba
push ecx
push edx
call fcn.005af9e7
add esp, 8
push 0x62de00
lea ecx, [ebp - 0x28]
call fcn.00407953
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 7
call fcn.00417750
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.0041d5c0
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 8
jb 0x4296cd
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4296c3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a2bf
push ecx
push edx
call fcn.005af9e7
add esp, 8
push dword [ebp - 0x180]
lea ecx, [ebp - 0x234]
call fcn.00415f80
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00416850
mov byte [ebp - 4], 8
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
call fcn.0040cfd9
mov ecx, eax
test ecx, ecx
je 0x42a2c4
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.0040d9f0
push 0
push 0x116c7
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 9
call fcn.0041de30
push 0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0xa
push ecx
push eax
call fcn.00444dc0
lea ecx, [ebp - 0x50]
call fcn.0041e070
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 0x429788
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 0x4297d0
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4297c6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a2ce
push ecx
push edx
call fcn.005af9e7
add esp, 8
push 0x62de00
lea ecx, [ebp - 0x28]
call fcn.00407953
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0xb
call fcn.00417750
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.0041d5c0
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 8
jb 0x42984a
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x429840
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a2d3
push ecx
push edx
call fcn.005af9e7
add esp, 8
push dword [ebp - 0x17c]
lea ecx, [ebp - 0x234]
call fcn.00415f80
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00416850
mov byte [ebp - 4], 0xc
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
call fcn.0040cfd9
mov ecx, eax
test ecx, ecx
je 0x42a2d8
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.0040d9f0
push 0
push 0x116c8
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0xd
call fcn.0041de30
push 0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0xe
push ecx
push eax
call fcn.00444dc0
lea ecx, [ebp - 0x50]
call fcn.0041e070
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 0x429905
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 0x42994d
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x429943
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a2e2
push ecx
push edx
call fcn.005af9e7
add esp, 8
push 0x62de00
lea ecx, [ebp - 0x28]
call fcn.00407953
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0xf
call fcn.00417750
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.0041d5c0
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 8
jb 0x4299c7
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4299bd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a2e7
push ecx
push edx
call fcn.005af9e7
add esp, 8
movzx eax, word [ebp - 0x178]
lea ecx, [ebp - 0x234]
push eax
call fcn.00415f80
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00416850
mov byte [ebp - 4], 0x10
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
call fcn.0040cfd9
mov ecx, eax
test ecx, ecx
je 0x42a2ec
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.0040d9f0
push 0
push 0x116c6
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x11
call fcn.0041de30
push 0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x12
push ecx
push eax
call fcn.00444dc0
lea ecx, [ebp - 0x50]
call fcn.0041e070
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 0x429a84
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 0x429acc
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x429ac2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a2f6
push ecx
push edx
call fcn.005af9e7
add esp, 8
push 0x62de00
lea ecx, [ebp - 0x28]
call fcn.00407953
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0x13
call fcn.00417750
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.0041d5c0
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 8
jb 0x429b46
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x429b3c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a2fb
push ecx
push edx
call fcn.005af9e7
add esp, 8
push dword [ebp - 0x70]
lea ecx, [ebp - 0x234]
call fcn.0042c3b0
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00416850
mov byte [ebp - 4], 0x14
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
call fcn.0040cfd9
mov ecx, eax
test ecx, ecx
je 0x42a300
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.0040d9f0
push 0
push 0x116c4
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x15
call fcn.0041de30
push 0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x16
push ecx
push eax
call fcn.00444dc0
lea ecx, [ebp - 0x50]
call fcn.0041e070
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 0x429bfe
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 0x429c46
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x429c3c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a30a
push ecx
push edx
call fcn.005af9e7
add esp, 8
push 0x62de00
lea ecx, [ebp - 0x28]
call fcn.00407953
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0x17
call fcn.00417750
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.0041d5c0
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 8
jb 0x429cc0
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x429cb6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a30f
push ecx
push edx
call fcn.005af9e7
add esp, 8
push dword [ebp - 0x6e]
lea ecx, [ebp - 0x234]
call fcn.0042c3b0
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00416850
mov byte [ebp - 4], 0x18
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
call fcn.0040cfd9
mov ecx, eax
test ecx, ecx
je 0x42a314
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.0040d9f0
push 0
push 0x116c5
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x19
call fcn.0041de30
push 0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x1a
push ecx
push eax
call fcn.00444dc0
lea ecx, [ebp - 0x50]
call fcn.0041e070
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 0x429d78
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 0x429dc0
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x429db6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a31e
push ecx
push edx
call fcn.005af9e7
add esp, 8
push 0x62de00
lea ecx, [ebp - 0x28]
call fcn.00407953
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0x1b
call fcn.00417750
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.0041d5c0
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 8
jb 0x429e3a
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x429e30
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a323
push ecx
push edx
call fcn.005af9e7
add esp, 8
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x234]
call fcn.0042c3b0
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00416850
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x18c]
call fcn.00440010
mov esi, eax
push 0
push 0x116c3
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x1d
call fcn.0041de30
push 0
push esi
push eax
mov byte [ebp - 4], 0x1e
call fcn.00444dc0
lea ecx, [ebp - 0x50]
call fcn.0041e070
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 0x429ebb
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 0x429f03
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x429ef9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a328
push ecx
push edx
call fcn.005af9e7
add esp, 8
push 0x62de00
lea ecx, [ebp - 0x28]
call fcn.00407953
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0x1f
call fcn.00417750
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.0041d5c0
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 8
jb 0x429f7d
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x429f73
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a32d
push ecx
push edx
call fcn.005af9e7
add esp, 8
movzx eax, byte [ebp - 0x6a]
lea ecx, [ebp - 0x234]
push eax
call fcn.00410290
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00416850
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x18c]
call fcn.00440010
mov esi, eax
push 0
push 0x116c2
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x21
call fcn.0041de30
push 0
push esi
push eax
mov byte [ebp - 4], 0x22
call fcn.00444dc0
lea ecx, [ebp - 0x50]
call fcn.0041e070
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 0x42a000
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 0x42a048
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x42a03e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a332
push ecx
push edx
call fcn.005af9e7
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
push ecx
lea ecx, [ebp - 0x2f4]
mov esi, eax
call fcn.00415de0
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.005b1d60
add esp, 0xc
lea ecx, [ebp - 0x2e4]
mov edx, eax
call fcn.0041d750
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.00415f80
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x2dc]
call fcn.00416850
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x18c]
call fcn.00440010
mov esi, eax
push 0
push 0x116dc
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x25
call fcn.0041de30
push 0
push esi
push eax
mov byte [ebp - 4], 0x26
call fcn.00444dc0
lea ecx, [ebp - 0x50]
call fcn.0041e070
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 0x42a130
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 0x42a178
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x42a16e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a337
push ecx
push edx
call fcn.005af9e7
add esp, 8
lea ecx, [ebp - 0x2f4]
call fcn.00415cc0
lea ecx, [ebp - 0x244]
mov dword [ebp - 4], 0xffffffff
call fcn.00415cc0
mov eax, dword [0x66d6f4]
test eax, eax
jne 0x42a1d3
push 0x80
call fcn.00465805
add esp, 4
mov dword [ebp - 0x188], eax
mov dword [ebp - 4], 0x27
test eax, eax
je 0x42a1c5
mov ecx, eax
call fcn.0040dc20
jmp 0x42a1c7
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x66d6f4], eax
push dword [eax + 0xc]
lea ecx, [ebp - 0x68]
call fcn.00407953
lea eax, [ebp - 0x68]
mov dword [ebp - 4], 0x28
push eax
lea ecx, [ebp - 0x18]
call fcn.00440010
mov esi, eax
push 0
push 0x11627
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x29
call fcn.0041de30
push 0
push esi
push eax
mov byte [ebp - 4], 0x2a
call fcn.00444dc0
lea ecx, [ebp - 0x50]
call fcn.0041e070
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 0x42a23e
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 0x42a286
mov edx, dword [ebp - 0x68]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x42a27c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a33c
push ecx
push edx
call fcn.005af9e7
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.005af765
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.0040238e
call fcn.005b681f
push 0x80004005
call fcn.0040238e
call fcn.005b681f
call fcn.005b681f
push 0x80004005
call fcn.0040238e
call fcn.005b681f
call fcn.005b681f
push 0x80004005
call fcn.0040238e
call fcn.005b681f
call fcn.005b681f
push 0x80004005
call fcn.0040238e
call fcn.005b681f
call fcn.005b681f
push 0x80004005
call fcn.0040238e
call fcn.005b681f
call fcn.005b681f
push 0x80004005
call fcn.0040238e
call fcn.005b681f
call fcn.005b681f
call fcn.005b681f
call fcn.005b681f
call fcn.005b681f
call fcn.005b681f
call fcn.005b681f
int3