Function at 0x40e160
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa0
mov esi, esp
mov dword [esi + 0x50], ecx
mov al, byte [ebp + 0x18]
mov byte [esi + 0x57], al
vmovsd xmm0, qword [ebp + 0x10]
vmovsd qword [esi + 0x58], xmm0
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x60], eax
mov al, byte [ebp + 8]
mov byte [esi + 0x67], al
mov eax, dword [0x502070]
xor eax, ebp
mov dword [esi + 0x98], eax
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
mov edx, ecx
add edx, 0x51656113
sub edx, 1
sub edx, 0x51656113
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [esi + 0x6e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x6f], al
mov dword [esi + 0x68], 0x4c75d3ad
mov eax, dword [esi + 0x68]
mov dword [esi + 0x4c], eax
sub eax, 0x81e414b0
je 0x41249a
jmp 0x40e1f3
mov eax, dword [esi + 0x4c]
sub eax, 0x836d8c38
je 0x4121e9
jmp 0x40e206
mov eax, dword [esi + 0x4c]
sub eax, 0x84bd256b
je 0x410128
jmp 0x40e219
mov eax, dword [esi + 0x4c]
sub eax, 0x84e7c4ed
je 0x411418
jmp 0x40e22c
mov eax, dword [esi + 0x4c]
sub eax, 0x88a5f330
je 0x41246a
jmp 0x40e23f
mov eax, dword [esi + 0x4c]
sub eax, 0x8cd1359a
je 0x40fdbe
jmp 0x40e252
mov eax, dword [esi + 0x4c]
sub eax, 0x8e4d1af3
je 0x410f7c
jmp 0x40e265
mov eax, dword [esi + 0x4c]
sub eax, 0x8f866636
je 0x41187e
jmp 0x40e278
mov eax, dword [esi + 0x4c]
sub eax, 0x8fef8c53
je 0x4124a6
jmp 0x40e28b
mov eax, dword [esi + 0x4c]
sub eax, 0x900add98
je 0x411fe1
jmp 0x40e29e
mov eax, dword [esi + 0x4c]
sub eax, 0x92fa9785
je 0x412272
jmp 0x40e2b1
mov eax, dword [esi + 0x4c]
sub eax, 0x9733a889
je 0x411a16
jmp 0x40e2c4
mov eax, dword [esi + 0x4c]
sub eax, 0x9813e25b
je 0x41102d
jmp 0x40e2d7
mov eax, dword [esi + 0x4c]
sub eax, 0x9817df60
je 0x4126e6
jmp 0x40e2ea
mov eax, dword [esi + 0x4c]
sub eax, 0x99300a41
je 0x4124b2
jmp 0x40e2fd
mov eax, dword [esi + 0x4c]
sub eax, 0x995ff3fc
je 0x4113a5
jmp 0x40e310
mov eax, dword [esi + 0x4c]
sub eax, 0x9974d9ef
je 0x4105ed
jmp 0x40e323
mov eax, dword [esi + 0x4c]
sub eax, 0x9bf15ff0
je 0x410df6
jmp 0x40e336
mov eax, dword [esi + 0x4c]
sub eax, 0x9ee767c6
je 0x4121fb
jmp 0x40e349
mov eax, dword [esi + 0x4c]
sub eax, 0x9fba3dc5
je 0x40f6f5
jmp 0x40e35c
mov eax, dword [esi + 0x4c]
sub eax, 0xa71ffd38
je 0x4126da
jmp 0x40e36f
mov eax, dword [esi + 0x4c]
sub eax, 0xa743c86e
je 0x40f12b
jmp 0x40e382
mov eax, dword [esi + 0x4c]
sub eax, 0xa748f8f8
je 0x410b08
jmp 0x40e395
mov eax, dword [esi + 0x4c]
sub eax, 0xa885c556
je 0x410887
jmp 0x40e3a8
mov eax, dword [esi + 0x4c]
sub eax, 0xa95e4e85
je 0x40fe87
jmp 0x40e3bb
mov eax, dword [esi + 0x4c]
sub eax, 0xad03a423
je 0x4124be
jmp 0x40e3ce
mov eax, dword [esi + 0x4c]
sub eax, 0xad15b225
je 0x411872
jmp 0x40e3e1
mov eax, dword [esi + 0x4c]
sub eax, 0xae148c80
je 0x41245e
jmp 0x40e3f4
mov eax, dword [esi + 0x4c]
sub eax, 0xae6dd16c
je 0x411782
jmp 0x40e407
mov eax, dword [esi + 0x4c]
sub eax, 0xaf3d2d99
je 0x411266
jmp 0x40e41a
mov eax, dword [esi + 0x4c]
sub eax, 0xaf9eb63e
je 0x410a9d
jmp 0x40e42d
mov eax, dword [esi + 0x4c]
sub eax, 0xb00700ba
je 0x41233d
jmp 0x40e440
mov eax, dword [esi + 0x4c]
sub eax, 0xb09bc809
je 0x412301
jmp 0x40e453
mov eax, dword [esi + 0x4c]
sub eax, 0xb260840f
je 0x4122dd
jmp 0x40e466
mov eax, dword [esi + 0x4c]
sub eax, 0xb2928988
je 0x410679
jmp 0x40e479
mov eax, dword [esi + 0x4c]
sub eax, 0xb2ad8097
je 0x411c0c
jmp 0x40e48c
mov eax, dword [esi + 0x4c]
sub eax, 0xb5581c9b
je 0x40f097
jmp 0x40e49f
mov eax, dword [esi + 0x4c]
sub eax, 0xb5cc53cb
je 0x412482
jmp 0x40e4b2
mov eax, dword [esi + 0x4c]
sub eax, 0xb676c599
je 0x40f68a
jmp 0x40e4c5
mov eax, dword [esi + 0x4c]
sub eax, 0xb68de076
je 0x41050f
jmp 0x40e4d8
mov eax, dword [esi + 0x4c]
sub eax, 0xb998feba
je 0x411dc8
jmp 0x40e4eb
mov eax, dword [esi + 0x4c]
sub eax, 0xbb17ac45
je 0x40f768
jmp 0x40e4fe
mov eax, dword [esi + 0x4c]
sub eax, 0xbbafb378
je 0x40fd5a
jmp 0x40e511
mov eax, dword [esi + 0x4c]
sub eax, 0xbe177710
je 0x412476
jmp 0x40e524
mov eax, dword [esi + 0x4c]
sub eax, 0xbf0316ae
je 0x40f9c0
jmp 0x40e537
mov eax, dword [esi + 0x4c]
sub eax, 0xbf13387d
je 0x410fe7
jmp 0x40e54a
mov eax, dword [esi + 0x4c]
sub eax, 0xbf602688
je 0x41081c
jmp 0x40e55d
mov eax, dword [esi + 0x4c]
sub eax, 0xbf879625
je 0x4112b4
jmp 0x40e570
mov eax, dword [esi + 0x4c]
sub eax, 0xc1599836
je 0x410005
jmp 0x40e583
mov eax, dword [esi + 0x4c]
sub eax, 0xc2b7e748
je 0x4107a5
jmp 0x40e596
mov eax, dword [esi + 0x4c]
sub eax, 0xc429fade
je 0x40f5c9
jmp 0x40e5a9
mov eax, dword [esi + 0x4c]
sub eax, 0xc544fff2
je 0x412060
jmp 0x40e5bc
mov eax, dword [esi + 0x4c]
sub eax, 0xc94321e2
je 0x410352
jmp 0x40e5cf
mov eax, dword [esi + 0x4c]
sub eax, 0xc9bb3324
je 0x4101c4
jmp 0x40e5e2
mov eax, dword [esi + 0x4c]
sub eax, 0xc9c5a258
je 0x40f2ed
jmp 0x40e5f5
mov eax, dword [esi + 0x4c]
sub eax, 0xca3bed58
je 0x4126b6
jmp 0x40e608
mov eax, dword [esi + 0x4c]
sub eax, 0xca84578c
je 0x40f4ca
jmp 0x40e61b
mov eax, dword [esi + 0x4c]
sub eax, 0xccdd5cc5
je 0x411e33
jmp 0x40e62e
mov eax, dword [esi + 0x4c]
sub eax, 0xcce17eea
je 0x411399
jmp 0x40e641
mov eax, dword [esi + 0x4c]
sub eax, 0xcd47b7b4
je 0x4126c2
jmp 0x40e654
mov eax, dword [esi + 0x4c]
sub eax, 0xd07759c8
je 0x40f27a
jmp 0x40e667
mov eax, dword [esi + 0x4c]
sub eax, 0xd0f8c003
je 0x4117d0
jmp 0x40e67a
mov eax, dword [esi + 0x4c]
sub eax, 0xd17235bc
je 0x411e3f
jmp 0x40e68d
mov eax, dword [esi + 0x4c]
sub eax, 0xd3abe70d
je 0x4124ca
jmp 0x40e6a0
mov eax, dword [esi + 0x4c]
sub eax, 0xd4165c80
je 0x4126fe
mov eax, dword [0x503654]
mov ecx, dword [0x503650]
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, 0xd17235bc
mov ecx, 0x7b15db60
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov eax, dword [0x503654]
mov ecx, dword [0x503650]
mov edx, eax
add edx, 0x5afdc4ca
sub edx, 1
sub edx, 0x5afdc4ca
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, 0xfdf01088
mov ecx, 0x789c29cf
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
mov edx, ecx
sub edx, 0x955571b
sub edx, 1
add edx, 0x955571b
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, 0x22eb025a
mov ecx, 0xc9c5a258
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov eax, dword [0x503654]
mov ecx, dword [0x503650]
mov edx, eax
add edx, 0xc966624
sub edx, 1
sub edx, 0xc966624
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, 0xb09bc809
mov ecx, 0x2e4b96d2
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
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, 0x33b712bd
mov ecx, 0x4f19f4e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov eax, dword [0x503654]
mov ecx, dword [0x503650]
mov edx, eax
add edx, 0xb74f6501
sub edx, 1
sub edx, 0xb74f6501
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, 0xe68677a5
mov ecx, 0x4cf1485b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
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, 0xad15b225
mov ecx, 0x9fba3dc5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
mov edx, ecx
add edx, 0x2cebdf53
sub edx, 1
sub edx, 0x2cebdf53
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, 0x995ff3fc
mov ecx, 0xbb17ac45
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
mov edx, ecx
add edx, 0xa4a21db8
sub edx, 1
sub edx, 0xa4a21db8
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, 0x1bd458a6
mov ecx, 0x3cede066
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov eax, dword [0x503654]
mov ecx, dword [0x503650]
mov edx, eax
add edx, 0xf2b1a3a3
sub edx, 1
sub edx, 0xf2b1a3a3
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, 0x8f866636
mov ecx, 0x3175a7bc
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov dl, byte [esi + 0x96]
mov eax, 0x3dd66af1
mov ecx, 0x5dbe0819
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov eax, dword [esi + 0x90]
mov dword [eax], 0x3c
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
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, 0x1d42ae8
mov ecx, 0x1ff1120e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
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, 0x900add98
mov ecx, 0x4fe20d51
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov eax, dword [0x503654]
mov ecx, dword [0x503650]
mov edx, eax
sub edx, 0xa60b22a
sub edx, 1
add edx, 0xa60b22a
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, 0x1be9609c
mov ecx, 0x5c2237a9
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov eax, dword [0x503654]
mov ecx, dword [0x503650]
mov edx, eax
add edx, 0x87930a30
sub edx, 1
sub edx, 0x87930a30
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, 0xae148c80
mov ecx, 0x5529d649
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov dword [esi + 0x68], 0x718f2761
jmp 0x412705
mov dl, byte [esi + 0x97]
mov eax, 0xdf66af3a
mov ecx, 0x6627a2b6
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
mov edx, ecx
add edx, 0x8ffbcb0f
sub edx, 1
sub edx, 0x8ffbcb0f
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, 0xd55d7328
mov ecx, 0xeec70952
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov eax, dword [0x503654]
mov ecx, dword [0x503650]
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, 0x9733a889
mov ecx, 0x690a7027
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
mov edx, ecx
add edx, 0xc32d1a95
sub edx, 1
sub edx, 0xc32d1a95
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, 0xb5cc53cb
mov ecx, 0x800063a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
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, 0x60277efa
mov ecx, 0x5351891f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
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, 0xf206718
mov ecx, 0xa885c556
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
mov edx, ecx
add edx, 0x2f4cfa5d
sub edx, 1
sub edx, 0x2f4cfa5d
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, 0xf206718
mov ecx, 0x2c81e98
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
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, 0x3f394b76
mov ecx, 0xa748f8f8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov eax, dword [esi + 0x90]
mov ecx, dword [eax]
add ecx, 0x48fcaae
add ecx, 0xffffffff
sub ecx, 0x48fcaae
mov eax, dword [esi + 0x90]
mov dword [eax], ecx
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
mov edx, ecx
sub edx, 0x416c8e20
sub edx, 1
add edx, 0x416c8e20
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, 0x3f394b76
mov ecx, 0x63ae9b98
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
mov edx, ecx
add edx, 0x913ffb80
sub edx, 1
sub edx, 0x913ffb80
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, 0x43ee3a62
mov ecx, 0x262b6a38
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
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, 0xd3abe70d
mov ecx, 0xbf13387d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov eax, dword [0x503654]
mov ecx, dword [0x503650]
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, 0xd3abe70d
mov ecx, 0x9813e25b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov dword [esi + 0x68], 0x7f0d605a
jmp 0x412705
mov eax, dword [0x503654]
mov ecx, dword [0x503650]
mov edx, eax
add edx, 0x6ce419bf
sub edx, 1
sub edx, 0x6ce419bf
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, 0xb2ad8097
mov ecx, 0xbf879625
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
mov edx, ecx
add edx, 0x3c866685
sub edx, 1
sub edx, 0x3c866685
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, 0x20d637e9
mov ecx, 0x7ec3b18a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov dword [esi + 0x68], 0xa743c86e
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
mov edx, ecx
sub edx, 0x62515a83
sub edx, 1
add edx, 0x62515a83
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, 0xf528093d
mov ecx, 0x84e7c4ed
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov ecx, dword [esi + 0x50]
mov dl, byte [esi + 0x67]
mov edi, dword [esi + 0x60]
vmovsd xmm0, qword [esi + 0x58]
mov dh, byte [esi + 0x57]
push eax
mov eax, esp
mov dword [esi + 0x30], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x38], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x34], eax
and dh, 1
mov eax, dword [esi + 0x70]
mov byte [eax], dh
mov eax, dword [esi + 0x74]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x78]
mov dword [eax], edi
and dl, 1
mov eax, dword [esi + 0x7c]
mov byte [eax], dl
mov eax, dword [esi + 0x80]
mov dword [eax], ecx
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x84]
lea eax, str.sksfqfsolqkwlulnejmdadopuqdgrispdequzhxaxollvv
sub esp, 4
mov dword [esp], eax
call fcn.0048be00
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x30]
mov edx, dword [esi + 0x88]
mov byte [edx], 0
mov edx, dword [esi + 0x8c]
mov dword [edx], 0x2e6
mov byte [eax], 0
lea eax, str.sksfqfsolqkwlulnejmdadopuqdgrispdequzhxaxollvv
sub esp, 4
mov dword [esp], eax
call fcn.0048be00
mov ecx, dword [esi + 0x34]
lea eax, str.sksfqfsolqkwlulnejmdadopuqdgrispdequzhxaxollvv
sub esp, 4
mov dword [esp], eax
call fcn.0048be00
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x38]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0048dba0
mov ecx, dword [esi + 0x34]
add esp, 8
call fcn.0048bc30
mov ecx, dword [esi + 0x38]
call fcn.0048bc30
mov eax, dword [0x503654]
mov ecx, dword [0x503650]
mov edx, eax
sub edx, 0xfbbcbbd0
sub edx, 1
add edx, 0xfbbcbbd0
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, 0xf528093d
mov ecx, 0x571ea137
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov eax, dword [0x503654]
mov ecx, dword [0x503650]
mov edx, eax
add edx, 0xd683d75b
sub edx, 1
sub edx, 0xd683d75b
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, 0x9ee767c6
mov ecx, 0xd0f8c003
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
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, 0x5329bdd7
mov ecx, 0x521f8183
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov dword [esi + 0x68], 0xf1850dae
jmp 0x412705
mov eax, dword [0x503654]
mov ecx, dword [0x503650]
mov edx, eax
add edx, 0xa7aa4745
sub edx, 1
sub edx, 0xa7aa4745
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, 0x73bb8ebf
mov ecx, 0x53683b6a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov eax, dword [0x503654]
mov ecx, dword [0x503650]
mov edx, eax
add edx, 0xcac0e225
sub edx, 1
sub edx, 0xcac0e225
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, 0x1ae52c62
mov ecx, 0x6f2fcdfb
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
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, 0x20a8ae5f
mov ecx, 0xe5cb17d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
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, 0x375fc5b1
mov ecx, 0xccdd5cc5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov dword [esi + 0x68], 0xd7725b5b
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
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, 0x69b4f445
mov ecx, 0xe3de0442
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov dword [esi + 0x68], 0xa95e4e85
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
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, 0x9817df60
mov ecx, 0x1a17792f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov eax, dword [esi + 0x90]
mov dword [esi + 0x68], 0xe54ad81f
jmp 0x412705
mov dword [esi + 0x68], 0xae6dd16c
jmp 0x412705
mov ecx, dword [0x503654]
mov eax, dword [0x503650]
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, 0xd4165c80
mov ecx, 0xb260840f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x68], eax
jmp 0x412705
mov dword [esi + 0x68], 0xe5cb17d
jmp 0x412705
mov dword [esi + 0x68], 0x2e4b96d2
jmp 0x412705
mov ecx, dword [esi + 0x50]
mov dl, byte [esi + 0x67]
mov edi, dword [esi + 0x60]
vmovsd xmm0, qword [esi + 0x58]
mov dh, byte [esi + 0x57]
push eax
mov eax, esp
mov dword [esi + 0x18], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x20], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x1c], eax
and dh, 1
mov eax, dword [esi + 0x70]
mov byte [eax], dh
mov eax, dword [esi + 0x74]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x78]
mov dword [eax], edi
and dl, 1
mov eax, dword [esi + 0x7c]
mov byte [eax], dl
mov eax, dword [esi + 0x80]
mov dword [eax], ecx
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x84]
lea eax, str.sksfqfsolqkwlulnejmdadopuqdgrispdequzhxaxollvv
sub esp, 4
mov dword [esp], eax
call fcn.0048be00
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x88]
mov byte [edx], 0
mov edx, dword [esi + 0x8c]
mov dword [edx], 0x2e6
mov byte [eax], 0
lea eax, str.sksfqfsolqkwlulnejmdadopuqdgrispdequzhxaxollvv
sub esp, 4
mov dword [esp], eax
call fcn.0048be00
mov ecx, dword [esi + 0x1c]
lea eax, str.sksfqfsolqkwlulnejmdadopuqdgrispdequzhxaxollvv
sub esp, 4
mov dword [esp], eax
call fcn.0048be00
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x20]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0048dba0
mov ecx, dword [esi + 0x1c]
add esp, 8
call fcn.0048bc30
mov ecx, dword [esi + 0x20]
call fcn.0048bc30
mov dword [esi + 0x68], 0xeab4d817
jmp 0x412705
mov dword [esi + 0x68], 0x5529d649
jmp 0x412705
mov dword [esi + 0x68], 0x49c16b8a
jmp 0x412705
mov dword [esi + 0x68], 0x54bdd21b
jmp 0x412705
mov dword [esi + 0x68], 0x800063a
jmp 0x412705
mov dword [esi + 0x68], 0x64fba746
jmp 0x412705
mov dword [esi + 0x68], 0x5083714d
jmp 0x412705
mov dword [esi + 0x68], 0x54470eb4
jmp 0x412705
mov dword [esi + 0x68], 0xf6c94a3
jmp 0x412705
mov dword [esi + 0x68], 0xbf13387d
jmp 0x412705
mov dword [esi + 0x68], 0x6b8b9e91
jmp 0x412705
mov dword [esi + 0x68], 0x7e46d3f5
jmp 0x412705
mov dword [esi + 0x68], 0x1bb7c329
jmp 0x412705
mov dword [esi + 0x68], 0xc544fff2
jmp 0x412705
jmp 0x40e1dd