Function at 0x41a810
Capabilities:
Check os version
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x1758
call fcn.004b22d0
mov esi, esp
mov eax, dword [0x4cb080]
xor eax, ebp
mov dword [esi + 0x1750], eax
mov dword [esi + 0x56c], 0xabcd5fa4
mov eax, dword [esi + 0x56c]
mov dword [esi + 0x564], eax
sub eax, 0x8270f44c
je 0x41f017
jmp 0x41a858
mov eax, dword [esi + 0x564]
sub eax, 0x83f143e9
je 0x4669b7
jmp 0x41a86e
mov eax, dword [esi + 0x564]
sub eax, 0x8730ea2e
je 0x43785f
jmp 0x41a884
mov eax, dword [esi + 0x564]
sub eax, 0x873ae219
je 0x41ccb9
jmp 0x41a89a
mov eax, dword [esi + 0x564]
sub eax, 0x87773206
je 0x41e7c2
jmp 0x41a8b0
mov eax, dword [esi + 0x564]
sub eax, 0x895bffd3
je 0x41d534
jmp 0x41a8c6
mov eax, dword [esi + 0x564]
sub eax, 0x89ee91c7
je 0x437883
jmp 0x41a8dc
mov eax, dword [esi + 0x564]
sub eax, 0x8a83f800
je 0x41f950
jmp 0x41a8f2
mov eax, dword [esi + 0x564]
sub eax, 0x8b0209db
je 0x41d8f3
jmp 0x41a908
mov eax, dword [esi + 0x564]
sub eax, 0x8b4d62f7
je 0x437ef8
jmp 0x41a91e
mov eax, dword [esi + 0x564]
sub eax, 0x8b916246
je 0x44f33a
jmp 0x41a934
mov eax, dword [esi + 0x564]
sub eax, 0x8c2a5af4
je 0x41e104
jmp 0x41a94a
mov eax, dword [esi + 0x564]
sub eax, 0x8d12efbd
je 0x41ed1c
jmp 0x41a960
mov eax, dword [esi + 0x564]
sub eax, 0x8d904dd4
je 0x466848
jmp 0x41a976
mov eax, dword [esi + 0x564]
sub eax, 0x8d9ad244
je 0x436c3f
jmp 0x41a98c
mov eax, dword [esi + 0x564]
sub eax, 0x8dc4ff64
je 0x43741b
jmp 0x41a9a2
mov eax, dword [esi + 0x564]
sub eax, 0x8e121e30
je 0x41ce88
jmp 0x41a9b8
mov eax, dword [esi + 0x564]
sub eax, 0x8ea761a0
je 0x466a09
jmp 0x41a9ce
mov eax, dword [esi + 0x564]
sub eax, 0x8fdc6b35
je 0x436f36
jmp 0x41a9e4
mov eax, dword [esi + 0x564]
sub eax, 0x905a3c19
je 0x41dba1
jmp 0x41a9fa
mov eax, dword [esi + 0x564]
sub eax, 0x90bcb22a
je 0x43722d
jmp 0x41aa10
mov eax, dword [esi + 0x564]
sub eax, 0x92a66da5
je 0x41f505
jmp 0x41aa26
mov eax, dword [esi + 0x564]
sub eax, 0x94666ce6
je 0x41fa3c
jmp 0x41aa3c
mov eax, dword [esi + 0x564]
sub eax, 0x946ff51c
je 0x41f81d
jmp 0x41aa52
mov eax, dword [esi + 0x564]
sub eax, 0x950040cf
je 0x41e08e
jmp 0x41aa68
mov eax, dword [esi + 0x564]
sub eax, 0x96aadf5b
je 0x44f397
jmp 0x41aa7e
mov eax, dword [esi + 0x564]
sub eax, 0x96cf0f63
je 0x41e813
jmp 0x41aa94
mov eax, dword [esi + 0x564]
sub eax, 0x97b4b41e
je 0x47d5da
jmp 0x41aaaa
mov eax, dword [esi + 0x564]
sub eax, 0x97bf8383
je 0x41e574
jmp 0x41aac0
mov eax, dword [esi + 0x564]
sub eax, 0x98f48875
je 0x41d109
jmp 0x41aad6
mov eax, dword [esi + 0x564]
sub eax, 0x99cda504
je 0x44f506
jmp 0x41aaec
mov eax, dword [esi + 0x564]
sub eax, 0x9a05767f
je 0x4375df
jmp 0x41ab02
mov eax, dword [esi + 0x564]
sub eax, 0x9aa01d3a
je 0x41f060
jmp 0x41ab18
mov eax, dword [esi + 0x564]
sub eax, 0x9b7c519e
je 0x44f42d
jmp 0x41ab2e
mov eax, dword [esi + 0x564]
sub eax, 0x9c0a8201
je 0x41e3d7
jmp 0x41ab44
mov eax, dword [esi + 0x564]
sub eax, 0x9c4a3394
je 0x41e67a
jmp 0x41ab5a
mov eax, dword [esi + 0x564]
sub eax, 0x9d1f760f
je 0x41ca20
jmp 0x41ab70
mov eax, dword [esi + 0x564]
sub eax, 0x9e1bc1bf
je 0x41ca05
jmp 0x41ab86
mov eax, dword [esi + 0x564]
sub eax, 0x9ed5baa8
je 0x437096
jmp 0x41ab9c
mov eax, dword [esi + 0x564]
sub eax, 0x9fc257e5
je 0x41dac0
jmp 0x41abb2
mov eax, dword [esi + 0x564]
sub eax, 0xa04b7958
je 0x41f282
jmp 0x41abc8
mov eax, dword [esi + 0x564]
sub eax, 0xa0aa736a
je 0x41f40c
jmp 0x41abde
mov eax, dword [esi + 0x564]
sub eax, 0xa188bfb6
je 0x41c5f9
jmp 0x41abf4
mov eax, dword [esi + 0x564]
sub eax, 0xa5378b0c
je 0x437bdb
jmp 0x41ac0a
mov eax, dword [esi + 0x564]
sub eax, 0xa5470e18
je 0x41e9b4
jmp 0x41ac20
mov eax, dword [esi + 0x564]
sub eax, 0xa5ebf075
je 0x41c824
jmp 0x41ac36
mov eax, dword [esi + 0x564]
sub eax, 0xa5f2dda0
je 0x41df61
jmp 0x41ac4c
mov eax, dword [esi + 0x564]
sub eax, 0xa6e60682
je 0x437f16
jmp 0x41ac62
mov eax, dword [esi + 0x564]
sub eax, 0xa758a25c
je 0x437f8c
jmp 0x41ac78
mov eax, dword [esi + 0x564]
sub eax, 0xa95611ce
je 0x41d9d0
jmp 0x41ac8e
mov eax, dword [esi + 0x564]
sub eax, 0xa988ace5
je 0x41f5d6
jmp 0x41aca4
mov eax, dword [esi + 0x564]
sub eax, 0xab73e515
je 0x41dbb0
jmp 0x41acba
mov eax, dword [esi + 0x564]
sub eax, 0xabcd5fa4
je 0x41c44b
jmp 0x41acd0
mov eax, dword [esi + 0x564]
sub eax, 0xac22a7bf
je 0x41d87d
jmp 0x41ace6
mov eax, dword [esi + 0x564]
sub eax, 0xada667dd
je 0x46682f
jmp 0x41acfc
mov eax, dword [esi + 0x564]
sub eax, 0xae6b7a0c
je 0x41c50b
jmp 0x41ad12
mov eax, dword [esi + 0x564]
sub eax, 0xae9c6565
je 0x41c9ac
jmp 0x41ad28
mov eax, dword [esi + 0x564]
sub eax, 0xb0341288
je 0x41e1bc
jmp 0x41ad3e
mov eax, dword [esi + 0x564]
sub eax, 0xb0c05597
je 0x41c7ae
jmp 0x41ad54
mov eax, dword [esi + 0x564]
sub eax, 0xb27ddd7c
je 0x4667e8
jmp 0x41ad6a
mov eax, dword [esi + 0x564]
sub eax, 0xb3005102
je 0x41c906
jmp 0x41ad80
mov eax, dword [esi + 0x564]
sub eax, 0xb32811f2
je 0x41fa9c
jmp 0x41ad96
mov eax, dword [esi + 0x564]
sub eax, 0xb46f478b
je 0x41c756
jmp 0x41adac
mov eax, dword [esi + 0x564]
sub eax, 0xb54530ec
je 0x41dade
jmp 0x41adc2
mov eax, dword [esi + 0x564]
sub eax, 0xb553c6e2
je 0x41e898
mov ecx, dword [0x4cc6a8]
mov eax, dword [0x4cc6a4]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
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, 0x6ef22b12
mov ecx, 0xeb236b1b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov dword [esi + 0x56c], 0xf90b5df2
jmp 0x47d5ee
mov eax, dword [0x4cc6a8]
mov ecx, dword [0x4cc6a4]
mov edx, eax
add edx, 0x19c10dcd
sub edx, 1
sub edx, 0x19c10dcd
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, 0x8dc4ff64
mov ecx, 0x320c0899
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov eax, dword [0x4cc6a8]
mov ecx, dword [0x4cc6a4]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
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, 0xc3cea3ad
mov ecx, 0x5f9cb8fc
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov ecx, dword [0x4cc6a8]
mov eax, dword [0x4cc6a4]
mov edx, ecx
sub edx, 0x910f5aa2
sub edx, 1
add edx, 0x910f5aa2
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, 0xee2c78d7
mov ecx, 0xa5ebf075
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov ecx, dword [0x4cc6a8]
mov eax, dword [0x4cc6a4]
mov edx, ecx
add edx, 0xe87f0507
sub edx, 1
sub edx, 0xe87f0507
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, 0xd8120366
mov ecx, 0x57a90555
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov ecx, dword [0x4cc6a8]
mov eax, dword [0x4cc6a4]
mov edx, ecx
add edx, 0xecafead9
sub edx, 1
sub edx, 0xecafead9
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, 0xee2c78d7
mov ecx, 0x478bca8a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
push eax
mov eax, esp
mov dword [esi + 0x5a0], eax
mov dword [esi + 0x56c], 0xbefdcecc
jmp 0x47d5ee
mov al, byte [esi + 0x573]
mov byte [esi + 0x5ad], al
mov dword [esi + 0x56c], 0x9d1f760f
jmp 0x47d5ee
mov eax, dword [0x4cc6a8]
mov ecx, dword [0x4cc6a4]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
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, 0xe2854a24
mov ecx, 0x69e52aa3
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov byte [esi + 0x573], 1
mov dword [esi + 0x56c], 0x9ae2bf8
jmp 0x47d5ee
mov ecx, dword [0x4cc6a8]
mov eax, dword [0x4cc6a4]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
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, 0xdc89e41b
mov ecx, 0x55237fe8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov ecx, dword [0x4cc6a8]
mov eax, dword [0x4cc6a4]
mov edx, ecx
sub edx, 0x53b62767
sub edx, 1
add edx, 0x53b62767
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, 0x8b916246
mov ecx, 0xf3ff465e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov eax, dword [esi + 0x578]
mov eax, dword [eax]
mov dword [esi + 0x5b0], eax
mov ecx, dword [0x4cc6a8]
mov eax, dword [0x4cc6a4]
mov edx, ecx
add edx, 0x943403ff
sub edx, 1
sub edx, 0x943403ff
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, 0xcd4a0deb
mov ecx, 0x5b4a74b7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov ecx, dword [0x4cc6a8]
mov eax, dword [0x4cc6a4]
mov edx, ecx
add edx, 0x82b021b1
sub edx, 1
sub edx, 0x82b021b1
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, 0x5d0843fe
mov ecx, 0x8b0209db
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov dword [esi + 0x56c], 0x73ae0811
jmp 0x47d5ee
mov ecx, dword [0x4cc6a8]
mov eax, dword [0x4cc6a4]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
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, 0xd9160d8f
mov ecx, 0x7d43a691
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov dword [esi + 0x56c], 0xcb77e774
jmp 0x47d5ee
mov dword [esi + 0x56c], 0x284fef3
jmp 0x47d5ee
mov dword [esi + 0x56c], 0xab73e515
jmp 0x47d5ee
mov edx, dword [esi + 0x5bc]
mov eax, 0xd43c47f
mov ecx, 0x417ab5a6
cmp edx, 0xefb8eee
cmovg eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov eax, dword [0x4cc6a8]
mov ecx, dword [0x4cc6a4]
mov edx, eax
add edx, 0x8beada5d
sub edx, 1
sub edx, 0x8beada5d
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, 0x40b3ad4e
mov ecx, 0xd6d03439
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov ecx, dword [0x4cc6a8]
mov eax, dword [0x4cc6a4]
mov edx, ecx
sub edx, 0xf9431d61
sub edx, 1
add edx, 0xf9431d61
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, 0x5a82d5fe
mov ecx, 0x8c2a5af4
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov dword [esi + 0x56c], 0xe9bbdc42
jmp 0x47d5ee
mov ecx, dword [0x4cc6a8]
mov eax, dword [0x4cc6a4]
mov edx, ecx
sub edx, 0x983d1fb9
sub edx, 1
add edx, 0x983d1fb9
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, 0xc5a14bf2
mov ecx, 0x26ca37d0
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov dword [esi + 0x56c], 0x5dd0a000
jmp 0x47d5ee
mov eax, dword [esi + 0x580]
cmp dword [eax], 0xefb8f16
setle al
and al, 1
mov byte [esi + 0x5cb], al
mov ecx, dword [0x4cc6a8]
mov eax, dword [0x4cc6a4]
mov edx, ecx
add edx, 0xd4ff8fac
sub edx, 1
sub edx, 0xd4ff8fac
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, 0x76ee63f1
mov ecx, 0x3913926a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov eax, dword [0x4cc6a8]
mov ecx, dword [0x4cc6a4]
mov edx, eax
add edx, 0xfd44d8cb
sub edx, 1
sub edx, 0xfd44d8cb
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, 0x680b5fce
mov ecx, 0xd0bd0a1e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov eax, dword [0x4cc6a8]
mov ecx, dword [0x4cc6a4]
mov edx, eax
sub edx, 0x36e48601
sub edx, 1
add edx, 0x36e48601
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, 0xe5df2e82
mov ecx, 0x96cf0f63
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov dword [esi + 0x56c], 0xcd37c5cd
jmp 0x47d5ee
mov dword [esi + 0x56c], 0x3f254e82
jmp 0x47d5ee
mov dl, byte [esi + 0x5d3]
mov eax, 0xc0491334
mov ecx, 0x10390be4
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov eax, dword [0x4cc6a8]
mov ecx, dword [0x4cc6a4]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
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, 0xc528d0db
mov ecx, 0x9aa01d3a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov eax, dword [0x4cc6a8]
mov ecx, dword [0x4cc6a4]
mov edx, eax
sub edx, 0x487fa6d1
sub edx, 1
add edx, 0x487fa6d1
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, 0xc528d0db
mov ecx, 0x35795e43
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov eax, dword [0x4cc6a8]
mov ecx, dword [0x4cc6a4]
mov edx, eax
add edx, 0xb14d112
sub edx, 1
sub edx, 0xb14d112
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, 0x5e1e070d
mov ecx, 0x35d2768e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov eax, dword [0x4cc6a8]
mov ecx, dword [0x4cc6a4]
mov edx, eax
sub edx, 0xa99bb0c8
sub edx, 1
add edx, 0xa99bb0c8
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, 0x29205c3e
mov ecx, 0x447bf881
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov eax, dword [0x4cc6a8]
mov ecx, dword [0x4cc6a4]
mov edx, eax
sub edx, 0x49647f1c
sub edx, 1
add edx, 0x49647f1c
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, 0x1d8d66ef
mov ecx, 0x76efd0fb
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov dword [esi + 0x56c], 0xfe5bc7a9
jmp 0x47d5ee
mov eax, dword [esi + 0x5ec]
sub esp, 4
mov dword [esp], eax
call fcn.004b2304
add esp, 4
mov eax, dword [0x4cc6a8]
mov ecx, dword [0x4cc6a4]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
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, 0x62ab922f
mov ecx, 0xcc1bb70b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov ecx, dword [0x4cc6a8]
mov eax, dword [0x4cc6a4]
mov edx, ecx
sub edx, 0x8261fe40
sub edx, 1
add edx, 0x8261fe40
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, 0x9d9c495
mov ecx, 0x5c0bb0c8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov dword [esi + 0x56c], 0x712ff54a
jmp 0x47d5ee
mov ecx, dword [0x4cc6a8]
mov eax, dword [0x4cc6a4]
mov edx, ecx
add edx, 0x76e5d573
sub edx, 1
sub edx, 0x76e5d573
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, 0xda4291d0
mov ecx, 0xd891dc09
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov dword [esi + 0x56c], 0xfb09950f
jmp 0x47d5ee
mov eax, dword [esi + 0x5a4]
mov ecx, dword [eax]
mov eax, dword [esi + 0x5a8]
mov dword [eax], ecx
mov eax, dword [esi + 0x5a8]
mov eax, dword [eax]
mov dword [esi + 0x5f4], eax
mov dword [esi + 0x56c], 0x133339d6
jmp 0x47d5ee
mov dword [esi + 0x56c], 0x7d804757
jmp 0x47d5ee
mov dword [esi + 0x56c], 0xdb58bdc5
jmp 0x47d5ee
mov dword [esi + 0x56c], 0x320c0899
jmp 0x47d5ee
mov eax, dword [esi + 0x578]
mov dword [eax], 0
mov ecx, dword [0x4cc6a8]
mov eax, dword [0x4cc6a4]
mov edx, ecx
sub edx, 0xdef5868b
sub edx, 1
add edx, 0xdef5868b
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, 0x24429f87
mov ecx, 0xc0094de5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov dword [esi + 0x56c], 0xf639d84f
jmp 0x47d5ee
mov eax, dword [esi + 0x580]
mov dword [esi + 0x56c], 0x749bc086
jmp 0x47d5ee
mov ecx, dword [0x4cc6a8]
mov eax, dword [0x4cc6a4]
mov edx, ecx
sub edx, 0x856c3450
sub edx, 1
add edx, 0x856c3450
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, 0x83f143e9
mov ecx, 0x34ebb00f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov dword [esi + 0x56c], 0x946ff51c
jmp 0x47d5ee
mov ecx, dword [0x4cc6a8]
mov eax, dword [0x4cc6a4]
mov edx, ecx
add edx, 0xaacc4a55
sub edx, 1
sub edx, 0xaacc4a55
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, 0x7690ed5f
mov ecx, 0xa758a25c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x56c], eax
jmp 0x47d5ee
mov eax, dword [esi + 0x588]
add eax, 4
sub esp, 4
mov dword [esp], eax
call fcn.00415f40
add esp, 4
mov eax, dword [esi + 0x588]
add eax, 4
mov dword [esi + 0x3fc], eax
mov eax, dword [esi + 0x5a0]
mov dword [esi + 0x400], eax
mov eax, esp
mov dword [esi + 0x404], eax
mov ecx, dword [0x4cc6a0]
mov eax, dword [0x4cc69c]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [esi + 0x642], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x643], al
mov dword [esi + 0x63c], 0xe711d7e7
mov eax, dword [esi + 0x63c]
mov dword [esi + 0x3f8], eax
sub eax, 0x81941a91
je 0x44eea9
jmp 0x438023
mov eax, dword [esi + 0x3f8]
sub eax, 0x88c2d01e
je 0x43864b
jmp 0x438039
mov eax, dword [esi + 0x3f8]
sub eax, 0x92ce6ba7
je 0x44f11c
jmp 0x43804f
mov eax, dword [esi + 0x3f8]
sub eax, 0x97944fba
je 0x44efa0
jmp 0x438065
mov eax, dword [esi + 0x3f8]
sub eax, 0xa3b8390e
je 0x44f10d
jmp 0x43807b
mov eax, dword [esi + 0x3f8]
sub eax, 0xa7dafb03
je 0x4387df
jmp 0x438091
mov eax, dword [esi + 0x3f8]
sub eax, 0xb2dd6d41
je 0x44ed78
jmp 0x4380a7
mov eax, dword [esi + 0x3f8]
sub eax, 0xb9e54272
je 0x44f016
jmp 0x4380bd
mov eax, dword [esi + 0x3f8]
sub eax, 0xbabda88e
je 0x44ed0a
jmp 0x4380d3
mov eax, dword [esi + 0x3f8]
sub eax, 0xd520c447
je 0x4383b1
jmp 0x4380e9
mov eax, dword [esi + 0x3f8]
sub eax, 0xe711d7e7
je 0x438382
jmp 0x4380ff
mov eax, dword [esi + 0x3f8]
sub eax, 0xeafb5eca
je 0x4387b3
jmp 0x438115
mov eax, dword [esi + 0x3f8]
sub eax, 0xebe07817
je 0x44f0e3
jmp 0x43812b
mov eax, dword [esi + 0x3f8]
sub eax, 0xfa1dfbc7
je 0x44f093
jmp 0x438141
mov eax, dword [esi + 0x3f8]
sub eax, 0xfa832d8a
je 0x4388a4
jmp 0x438157
mov eax, dword [esi + 0x3f8]
sub eax, 0xfe4c71c5
je 0x44f0b7
jmp 0x43816d
mov al, byte [esi + 0x642]
mov cl, byte [esi + 0x643]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x6c16faec
mov ecx, 0xd520c447
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x63c], eax
jmp 0x44f126
push eax
mov eax, esp
mov dword [esi + 0x644], eax
mov eax, dword [0x4cc6a0]
mov ecx, dword [0x4cc69c]
mov edx, eax
add edx, 0x6dc73e0d
sub edx, 1
sub edx, 0x6dc73e0d
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, 0x6c16faec
mov ecx, 0xa6a5a2e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x63c], eax
jmp 0x44f126
mov ecx, dword [0x4cc6a0]
mov eax, dword [0x4cc69c]
mov edx, ecx
add edx, 0x90ecada2
sub edx, 1
sub edx, 0x90ecada2
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, 0x40ac753a
mov ecx, 0x12aaf035
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x63c], eax
jmp 0x44f126
mov dword [esi + 0x63c], 0x61d863f1
jmp 0x44f126
mov eax, dword [0x4cc6a0]
mov ecx, dword [0x4cc69c]
mov edx, eax
sub edx, 0x5eb2d2a4
sub edx, 1
add edx, 0x5eb2d2a4
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, 0xebe07817
mov ecx, 0x34d9f748
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x63c], eax
jmp 0x44f126
mov dword [esi + 0x63c], 0x27e4eeb1
jmp 0x44f126
mov eax, dword [esi + 0x644]
mov eax, dword [eax]
mov dword [esi + 0x650], eax
mov dword [esi + 0x63c], 0x1d70bcbc
jmp 0x44f126
mov ecx, dword [0x4cc6a0]
mov eax, dword [0x4cc69c]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
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, 0x23f4be06
mov ecx, 0x36e61ddc
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x63c], eax
jmp 0x44f126
mov ecx, dword [0x4cc6a0]
mov eax, dword [0x4cc69c]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
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, 0xa3b8390e
mov ecx, 0xe3a2ecc
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x63c], eax
jmp 0x44f126
mov ecx, dword [0x4cc6a0]
mov eax, dword [0x4cc69c]
mov edx, ecx
add edx, 0x559de6aa
sub edx, 1
sub edx, 0x559de6aa
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, 0x92ce6ba7
mov ecx, 0xb9e54272
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x63c], eax
jmp 0x44f126
mov eax, dword [0x4cc6a0]
mov ecx, dword [0x4cc69c]
mov edx, eax
add edx, 0x96ddad9e
sub edx, 1
sub edx, 0x96ddad9e
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, 0x92ce6ba7
mov ecx, 0x35948f6b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x63c], eax
jmp 0x44f126
mov eax, dword [esi + 0x650]
mov dword [esi + 0x63c], 0xb2dd6d41
jmp 0x44f126
mov dword [esi + 0x63c], 0x703922df
jmp 0x44f126
mov eax, dword [esi + 0x648]
mov dword [esi + 0x63c], 0x34d9f748
jmp 0x44f126
mov dword [esi + 0x63c], 0xe3a2ecc
jmp 0x44f126
mov dword [esi + 0x63c], 0xb9e54272
jmp 0x438007
mov dword [esi + 0x56c], 0xf3ff465e
jmp 0x47d5ee
mov eax, dword [esi + 0x578]
mov dword [esi + 0x56c], 0x11aff606
jmp 0x47d5ee
mov dword [esi + 0x56c], 0x70710928
jmp 0x47d5ee
mov dword [esi + 0x56c], 0xf539b94c
jmp 0x47d5ee
mov eax, dword [esi + 0x5f4]
call eax
mov eax, dword [esi + 0x59c]
mov eax, dword [eax]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esi + 0x59c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [esi + 0x56c], 0x4a8f8746
jmp 0x47d5ee
mov dword [esi + 0x574], 0
mov dword [esi + 0x56c], 0x798b0d6f
jmp 0x47d5ee
mov dword [esi + 0x56c], 0x6d445f95
jmp 0x47d5ee
mov eax, dword [esi + 0x5dc]
sub esp, 4
mov dword [esp], eax
call fcn.004b6f45
add esp, 4
mov eax, dword [esi + 0x598]
mov eax, dword [esi + 0x58c]
mov dword [esi + 0x56c], 0x34ebb00f
jmp 0x47d5ee
mov eax, dword [esi + 0x5ec]
sub esp, 4
mov dword [esp], eax
call fcn.004b2304
add esp, 4
mov dword [esi + 0x56c], 0x3b3f5714
jmp 0x47d5ee
mov dword [esi + 0x574], 0
mov dword [esi + 0x56c], 0x344a46a8
jmp 0x41a83c