Function at 0x41c1a0
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, 0x1970
call fcn.004a4e20
mov esi, esp
mov eax, dword [0x4bd080]
xor eax, ebp
mov dword [esi + 0x1968], eax
mov dword [esi + 0x608], 0x21b3ab6b
mov eax, dword [esi + 0x608]
mov dword [esi + 0x604], eax
sub eax, 0x80517265
je 0x41ffb8
jmp 0x41c1e8
mov eax, dword [esi + 0x604]
sub eax, 0x82e24063
je 0x41e80c
jmp 0x41c1fe
mov eax, dword [esi + 0x604]
sub eax, 0x833cdf3a
je 0x41e38d
jmp 0x41c214
mov eax, dword [esi + 0x604]
sub eax, 0x86b67d85
je 0x41f489
jmp 0x41c22a
mov eax, dword [esi + 0x604]
sub eax, 0x876c8736
je 0x45bdcc
jmp 0x41c240
mov eax, dword [esi + 0x604]
sub eax, 0x87d254e9
je 0x43f3b4
jmp 0x41c256
mov eax, dword [esi + 0x604]
sub eax, 0x8abe314d
je 0x43ee66
jmp 0x41c26c
mov eax, dword [esi + 0x604]
sub eax, 0x8b0ebd29
je 0x4209ed
jmp 0x41c282
mov eax, dword [esi + 0x604]
sub eax, 0x8b7952c2
je 0x41f3d8
jmp 0x41c298
mov eax, dword [esi + 0x604]
sub eax, 0x8b86beb5
je 0x420178
jmp 0x41c2ae
mov eax, dword [esi + 0x604]
sub eax, 0x8ce1f628
je 0x45bd15
jmp 0x41c2c4
mov eax, dword [esi + 0x604]
sub eax, 0x8cf76550
je 0x41e39c
jmp 0x41c2da
mov eax, dword [esi + 0x604]
sub eax, 0x8d0c697e
je 0x4208d2
jmp 0x41c2f0
mov eax, dword [esi + 0x604]
sub eax, 0x8d31e556
je 0x41f277
jmp 0x41c306
mov eax, dword [esi + 0x604]
sub eax, 0x8e346fde
je 0x43f269
jmp 0x41c31c
mov eax, dword [esi + 0x604]
sub eax, 0x9088dfe4
je 0x42085c
jmp 0x41c332
mov eax, dword [esi + 0x604]
sub eax, 0x90d9b281
je 0x43eafa
jmp 0x41c348
mov eax, dword [esi + 0x604]
sub eax, 0x91d6b874
je 0x43e9d8
jmp 0x41c35e
mov eax, dword [esi + 0x604]
sub eax, 0x92ddfc57
je 0x45b95a
jmp 0x41c374
mov eax, dword [esi + 0x604]
sub eax, 0x93505bd2
je 0x45bc1f
jmp 0x41c38a
mov eax, dword [esi + 0x604]
sub eax, 0x9478039a
je 0x45b978
jmp 0x41c3a0
mov eax, dword [esi + 0x604]
sub eax, 0x9486b4ca
je 0x43f2b7
jmp 0x41c3b6
mov eax, dword [esi + 0x604]
sub eax, 0x951051d8
je 0x43ec60
jmp 0x41c3cc
mov eax, dword [esi + 0x604]
sub eax, 0x9578d10e
je 0x43ed90
jmp 0x41c3e2
mov eax, dword [esi + 0x604]
sub eax, 0x961239ac
je 0x41e787
jmp 0x41c3f8
mov eax, dword [esi + 0x604]
sub eax, 0x96fb0e8a
je 0x41f97d
jmp 0x41c40e
mov eax, dword [esi + 0x604]
sub eax, 0x9835dc05
je 0x41f201
jmp 0x41c424
mov eax, dword [esi + 0x604]
sub eax, 0x984f4b37
je 0x420fa2
jmp 0x41c43a
mov eax, dword [esi + 0x604]
sub eax, 0x984fb102
je 0x42075b
jmp 0x41c450
mov eax, dword [esi + 0x604]
sub eax, 0x98625ac6
je 0x43e96a
jmp 0x41c466
mov eax, dword [esi + 0x604]
sub eax, 0x99a18cfa
je 0x4202d9
jmp 0x41c47c
mov eax, dword [esi + 0x604]
sub eax, 0x9a0237d8
je 0x42064e
jmp 0x41c492
mov eax, dword [esi + 0x604]
sub eax, 0x9ba36cde
je 0x41faa9
jmp 0x41c4a8
mov eax, dword [esi + 0x604]
sub eax, 0x9c02c0cb
je 0x45baf2
jmp 0x41c4be
mov eax, dword [esi + 0x604]
sub eax, 0x9c04a7b9
je 0x41e03d
jmp 0x41c4d4
mov eax, dword [esi + 0x604]
sub eax, 0x9d332f69
je 0x45bb01
jmp 0x41c4ea
mov eax, dword [esi + 0x604]
sub eax, 0x9d6b1786
je 0x42104a
jmp 0x41c500
mov eax, dword [esi + 0x604]
sub eax, 0x9ec9745b
je 0x41e24a
jmp 0x41c516
mov eax, dword [esi + 0x604]
sub eax, 0x9f6ec96e
je 0x43ecb4
jmp 0x41c52c
mov eax, dword [esi + 0x604]
sub eax, 0x9ff9040e
je 0x41f38f
jmp 0x41c542
mov eax, dword [esi + 0x604]
sub eax, 0xa03e37df
je 0x420956
jmp 0x41c558
mov eax, dword [esi + 0x604]
sub eax, 0xa0cd1a51
je 0x43f0a1
jmp 0x41c56e
mov eax, dword [esi + 0x604]
sub eax, 0xa0e1c9a7
je 0x45bb31
jmp 0x41c584
mov eax, dword [esi + 0x604]
sub eax, 0xa37c44fb
je 0x41ebe1
jmp 0x41c59a
mov eax, dword [esi + 0x604]
sub eax, 0xa3ab6f5f
je 0x43f166
jmp 0x41c5b0
mov eax, dword [esi + 0x604]
sub eax, 0xa41c3269
je 0x420a85
jmp 0x41c5c6
mov eax, dword [esi + 0x604]
sub eax, 0xa4930e55
je 0x45b803
jmp 0x41c5dc
mov eax, dword [esi + 0x604]
sub eax, 0xa52eddcc
je 0x45bca9
jmp 0x41c5f2
mov eax, dword [esi + 0x604]
sub eax, 0xa5a89612
je 0x420565
jmp 0x41c608
mov eax, dword [esi + 0x604]
sub eax, 0xa5f810b2
je 0x41fc70
jmp 0x41c61e
mov eax, dword [esi + 0x604]
sub eax, 0xa714914f
je 0x41ea97
jmp 0x41c634
mov eax, dword [esi + 0x604]
sub eax, 0xa77341c6
je 0x43ec96
jmp 0x41c64a
mov eax, dword [esi + 0x604]
sub eax, 0xa814bd1b
je 0x4218da
jmp 0x41c660
mov eax, dword [esi + 0x604]
sub eax, 0xa8672839
je 0x43e877
jmp 0x41c676
mov eax, dword [esi + 0x604]
sub eax, 0xa877763d
je 0x43e8ed
jmp 0x41c68c
mov eax, dword [esi + 0x604]
sub eax, 0xa96bf5ad
je 0x41febf
jmp 0x41c6a2
mov eax, dword [esi + 0x604]
sub eax, 0xaa1d7f72
je 0x43e570
jmp 0x41c6b8
mov eax, dword [esi + 0x604]
sub eax, 0xaa8663ad
je 0x45b9cd
jmp 0x41c6ce
mov eax, dword [esi + 0x604]
sub eax, 0xab253fd3
je 0x4215f1
jmp 0x41c6e4
mov eax, dword [esi + 0x604]
sub eax, 0xadbcc546
je 0x41f91e
jmp 0x41c6fa
mov eax, dword [esi + 0x604]
sub eax, 0xafa319c7
je 0x41ebcb
jmp 0x41c710
mov eax, dword [esi + 0x604]
sub eax, 0xb0ee402c
je 0x4212c9
jmp 0x41c726
mov eax, dword [esi + 0x604]
sub eax, 0xb25f8518
je 0x45ba45
jmp 0x41c73c
mov eax, dword [esi + 0x604]
sub eax, 0xb266a079
je 0x420624
jmp 0x41c752
mov eax, dword [esi + 0x604]
sub eax, 0xb33b4033
je 0x43ed81
push eax
mov eax, esp
mov dword [esi + 0x62c], eax
mov dword [esi + 0x608], 0xfec58fc
jmp 0x4780e7
mov eax, dword [0x4be6a8]
mov ecx, dword [0x4be6a4]
mov edx, eax
sub edx, 0x1094444e
sub edx, 1
add edx, 0x1094444e
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, 0x92ddfc57
mov ecx, 0x2f1e7f48
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov dword [esi + 0x608], 0x8cf76550
jmp 0x4780e7
mov eax, dword [0x4be6a8]
mov ecx, dword [0x4be6a4]
mov edx, eax
add edx, 0xae790dc4
sub edx, 1
sub edx, 0xae790dc4
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, 0x9478039a
mov ecx, 0x23caa397
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov ecx, dword [0x4be6a8]
mov eax, dword [0x4be6a4]
mov edx, ecx
add edx, 0x4ba51025
sub edx, 1
sub edx, 0x4ba51025
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, 0x51b26876
mov ecx, 0x6ebec739
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov eax, dword [0x4be6a8]
mov ecx, dword [0x4be6a4]
mov edx, eax
sub edx, 0x84dc6e49
sub edx, 1
add edx, 0x84dc6e49
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, 0x9578d10e
mov ecx, 0x7d3e352d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov eax, dword [0x4be6a8]
mov ecx, dword [0x4be6a4]
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, 0xe60abd5c
mov ecx, 0xefba24f7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov byte [esi + 0x60f], 1
mov dword [esi + 0x608], 0xa37c44fb
jmp 0x4780e7
mov ecx, dword [0x4be6a8]
mov eax, dword [0x4be6a4]
mov edx, ecx
sub edx, 0x21af059b
sub edx, 1
add edx, 0x21af059b
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, 0x1c2cd3a3
mov ecx, 0xd5eaea04
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov ecx, dword [0x4be6a8]
mov eax, dword [0x4be6a4]
mov edx, ecx
add edx, 0x2d4234c9
sub edx, 1
sub edx, 0x2d4234c9
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, 0xc3d7f375
mov ecx, 0x8d31e556
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov eax, dword [0x4be6a8]
mov ecx, dword [0x4be6a4]
mov edx, eax
sub edx, 0x64a70061
sub edx, 1
add edx, 0x64a70061
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, 0xc3d7f375
mov ecx, 0x190de2be
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov eax, dword [0x4be6a8]
mov ecx, dword [0x4be6a4]
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, 0xf985ad04
mov ecx, 0x8b7952c2
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov eax, dword [0x4be6a8]
mov ecx, dword [0x4be6a4]
mov edx, eax
sub edx, 0xf6a0c293
sub edx, 1
add edx, 0xf6a0c293
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, 0x79ba5eae
mov ecx, 0x76d4cb41
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov ecx, dword [0x4be6a8]
mov eax, dword [0x4be6a4]
mov edx, ecx
add edx, 0x8b9fabe5
sub edx, 1
sub edx, 0x8b9fabe5
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, 0xe2a45660
mov ecx, 0x7f907685
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov eax, dword [esi + 0x614]
mov ecx, dword [esi + 0x654]
mov dword [eax], ecx
mov eax, dword [0x4be6a8]
mov ecx, dword [0x4be6a4]
mov edx, eax
add edx, 0xa2fe97
sub edx, 1
sub edx, 0xa2fe97
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, 0xf9e17fb4
mov ecx, 0x96fb0e8a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov dword [esi + 0x608], 0x27c61b0e
jmp 0x4780e7
mov eax, dword [esi + 0x618]
mov dword [eax], 0xefb8ec5
mov dword [esi + 0x608], 0xdd40337
jmp 0x4780e7
mov dword [esi + 0x608], 0x4cf89ad3
jmp 0x4780e7
mov eax, dword [esi + 0x618]
mov eax, dword [eax]
mov dword [esi + 0x664], eax
mov ecx, dword [0x4be6a8]
mov eax, dword [0x4be6a4]
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, 0xa0cd1a51
mov ecx, 0x7eb697f3
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov ecx, dword [0x4be6a8]
mov eax, dword [0x4be6a4]
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, 0xcf3f8f7c
mov ecx, 0xc702a106
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov ecx, dword [0x4be6a8]
mov eax, dword [0x4be6a4]
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, 0x3b1c05f3
mov ecx, 0x3115ddf5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov eax, dword [0x4be6a8]
mov ecx, dword [0x4be6a4]
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, 0x4b069bc8
mov ecx, 0xefb0f057
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov ecx, dword [0x4be6a8]
mov eax, dword [0x4be6a4]
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, 0x9c02c0cb
mov ecx, 0x1e0bf58
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov dword [esi + 0x608], 0x4cf89ad3
jmp 0x4780e7
mov edx, dword [esi + 0x61c]
mov eax, 0x984fb102
mov ecx, 0x132d699c
cmp dword [edx], 0xefb8f05
cmovg eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov ecx, dword [0x4be6a8]
mov eax, dword [0x4be6a4]
mov edx, ecx
add edx, 0xa832ac29
sub edx, 1
sub edx, 0xa832ac29
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, 0xd61e44d3
mov ecx, 0x3c0b7d7a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov ecx, dword [0x4be6a8]
mov eax, dword [0x4be6a4]
mov edx, ecx
add edx, 0x28e2b6ad
sub edx, 1
sub edx, 0x28e2b6ad
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, 0x9486b4ca
mov ecx, 0x8d0c697e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov eax, dword [esi + 0x668]
cmp eax, 0xefb8f16
setle al
and al, 1
mov byte [esi + 0x66f], al
mov ecx, dword [0x4be6a8]
mov eax, dword [0x4be6a4]
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, 0x9486b4ca
mov ecx, 0xa03e37df
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov dl, byte [esi + 0x66f]
mov eax, 0xa41c3269
mov ecx, 0xbe6f2d37
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov eax, dword [esi + 0x61c]
mov eax, dword [eax]
add eax, 0x324982f3
add eax, 1
sub eax, 0x324982f3
mov dword [esi + 0x670], eax
mov eax, dword [0x4be6a8]
mov ecx, dword [0x4be6a4]
mov edx, eax
sub edx, 0x37306bf5
sub edx, 1
add edx, 0x37306bf5
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, 0x522dd5c5
mov ecx, 0x2d30ea47
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov eax, dword [esi + 0x61c]
mov dword [eax], 1
mov dword [esi + 0x608], 0x7c42fc2c
jmp 0x4780e7
mov dword [esi + 0x608], 0x17c80cad
jmp 0x4780e7
mov eax, dword [0x4be6a8]
mov ecx, dword [0x4be6a4]
mov edx, eax
sub edx, 0x1255dc4f
sub edx, 1
add edx, 0x1255dc4f
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, 0x7a6a6230
mov ecx, 0xf3310a0b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov ecx, dword [0x4be6a8]
mov eax, dword [0x4be6a4]
mov edx, ecx
sub edx, 0xafe5e0d8
sub edx, 1
add edx, 0xafe5e0d8
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, 0xd2e0ac30
mov ecx, 0x622ce31d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov eax, dword [0x4be6a8]
mov ecx, dword [0x4be6a4]
mov edx, eax
sub edx, 0x20b76aa2
sub edx, 1
add edx, 0x20b76aa2
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, 0xa65c232
mov ecx, 0x3c99a624
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov eax, dword [esi + 0x624]
add eax, 4
mov dword [esi + 0x688], eax
mov ecx, dword [0x4be6a8]
mov eax, dword [0x4be6a4]
mov edx, ecx
add edx, 0x620bc318
sub edx, 1
sub edx, 0x620bc318
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, 0x50a37a5e
mov ecx, 0xfaa9700
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov dl, byte [esi + 0x697]
mov eax, 0x46f81413
mov ecx, 0x44152af4
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov ecx, dword [0x4be6a8]
mov eax, dword [0x4be6a4]
mov edx, ecx
add edx, 0x4a42cf8b
sub edx, 1
sub edx, 0x4a42cf8b
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, 0x713bc7cd
mov ecx, 0xa877763d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov ecx, dword [0x4be6a8]
mov eax, dword [0x4be6a4]
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, 0xddd69154
mov ecx, 0xb80dfcad
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov ecx, dword [0x4be6a8]
mov eax, dword [0x4be6a4]
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, 0x197e98f4
mov ecx, 0x91d6b874
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov ecx, dword [0x4be6a8]
mov eax, dword [0x4be6a4]
mov edx, ecx
sub edx, 0x691bf8f9
sub edx, 1
add edx, 0x691bf8f9
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, 0x197e98f4
mov ecx, 0x27483c49
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov eax, dword [0x4be6a8]
mov ecx, dword [0x4be6a4]
mov edx, eax
sub edx, 0xd614c0bb
sub edx, 1
add edx, 0xd614c0bb
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, 0xa52eddcc
mov ecx, 0xba15c98f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov dword [esi + 0x608], 0x72862c3d
jmp 0x4780e7
mov dword [esi + 0x608], 0x190e44a9
jmp 0x4780e7
mov ecx, dword [0x4be6a8]
mov eax, dword [0x4be6a4]
mov edx, ecx
add edx, 0x219a1d07
sub edx, 1
sub edx, 0x219a1d07
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, 0xea22c7c8
mov ecx, 0xb54c0c5e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov eax, dword [0x4be6a8]
mov ecx, dword [0x4be6a4]
mov edx, eax
add edx, 0xf5fef347
sub edx, 1
sub edx, 0xf5fef347
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, 0x35ebb260
mov ecx, 0xbb60094c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov byte [esi + 0x60f], 0
mov dword [esi + 0x608], 0x72a4a6f2
jmp 0x4780e7
mov ecx, dword [0x4be6a8]
mov eax, dword [0x4be6a4]
mov edx, ecx
sub edx, 0x52bbdbf1
sub edx, 1
add edx, 0x52bbdbf1
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, 0x8ce1f628
mov ecx, 0x4c13362d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov dword [esi + 0x608], 0xa96bf5ad
jmp 0x4780e7
mov dword [esi + 0x608], 0xbd6c4dba
jmp 0x4780e7
mov eax, dword [0x4be6a8]
mov ecx, dword [0x4be6a4]
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, 0x876c8736
mov ecx, 0x9118b55
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x608], eax
jmp 0x4780e7
mov eax, dword [esi + 0x684]
sub esp, 4
mov dword [esp], eax
call fcn.004a4e54
add esp, 4
mov dword [esi + 0x608], 0xd1e5f582
jmp 0x4780e7
mov eax, dword [esi + 0x638]
mov ecx, dword [eax]
lea eax, str.WindowsHandle
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00418e50
add esp, 8
mov dword [esi + 0x608], 0x63179b6f
jmp 0x4780e7
mov dword [esi + 0x608], 0x9ec9745b
jmp 0x4780e7
mov dword [esi + 0x610], 0
mov dword [esi + 0x608], 0x23caa397
jmp 0x4780e7
mov dword [esi + 0x608], 0xf81c9667
jmp 0x4780e7
mov eax, dword [esi + 0x618]
mov dword [esi + 0x608], 0xd1e1d824
jmp 0x4780e7
mov dword [esi + 0x608], 0x1e0bf58
jmp 0x4780e7
mov eax, dword [esi + 0x61c]
mov dword [eax], 0xefb8ee3
mov dword [esi + 0x608], 0x339b8e60
jmp 0x4780e7
mov dword [esi + 0x608], 0x66862459
jmp 0x4780e7
mov eax, dword [esi + 0x640]
mov ecx, dword [eax]
mov eax, dword [esi + 0x644]
mov dword [eax], ecx
mov eax, dword [esi + 0x644]
mov dword [esi + 0x608], 0xd15452bc
jmp 0x4780e7
mov dword [esi + 0x608], 0xba15c98f
jmp 0x4780e7
mov eax, dword [esi + 0x618]
mov dword [esi + 0x608], 0x4c13362d
jmp 0x4780e7
mov eax, dword [esi + 0x668]
mov dword [esi + 0x608], 0x9118b55
jmp 0x4780e7
jmp 0x41c1cc