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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb8
mov esi, esp
mov dword [esi + 8], ecx
mov eax, dword [ebp + 8]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x1c]
mov dword [esi + 0x14], eax
vmovsd xmm0, qword [ebp + 0x14]
vmovsd qword [esi + 0x18], xmm0
vmovsd xmm0, qword [ebp + 0xc]
vmovsd qword [esi + 0x20], xmm0
mov eax, dword [0x441080]
xor eax, ebp
mov dword [esi + 0xb0], eax
mov ecx, dword [0x4425e4]
mov eax, dword [0x4425e0]
mov edx, ecx
sub edx, 0x5c81b86f
sub edx, 1
add edx, 0x5c81b86f
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [esi + 0x2e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x2f], al
mov dword [esi + 0x28], 0x3d27e1a1
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
sub eax, 0x814b7ac4
je 0x4063b4
jmp 0x405bda
mov eax, dword [esi + 4]
sub eax, 0x81da5595
je 0x406279
jmp 0x405bed
mov eax, dword [esi + 4]
sub eax, 0x86336f8f
je 0x406ab2
jmp 0x405c00
mov eax, dword [esi + 4]
sub eax, 0x8a10e692
je 0x406be3
jmp 0x405c13
mov eax, dword [esi + 4]
sub eax, 0x8a5df694
je 0x406957
jmp 0x405c26
mov eax, dword [esi + 4]
sub eax, 0x8fca1fb0
je 0x406d06
jmp 0x405c39
mov eax, dword [esi + 4]
sub eax, 0x8fd791b9
je 0x40732b
jmp 0x405c4c
mov eax, dword [esi + 4]
sub eax, 0x91124107
je 0x406cfa
jmp 0x405c5f
mov eax, dword [esi + 4]
sub eax, 0x9a92638a
je 0x407310
jmp 0x405c72
mov eax, dword [esi + 4]
sub eax, 0x9b0fe59c
je 0x406682
jmp 0x405c85
mov eax, dword [esi + 4]
sub eax, 0x9ec4019b
je 0x406d90
jmp 0x405c98
mov eax, dword [esi + 4]
sub eax, 0xa2526dca
je 0x406e35
jmp 0x405cab
mov eax, dword [esi + 4]
sub eax, 0xa41f54c5
je 0x40694b
jmp 0x405cbe
mov eax, dword [esi + 4]
sub eax, 0xa5990e84
je 0x407129
jmp 0x405cd1
mov eax, dword [esi + 4]
sub eax, 0xa64ba48e
je 0x407383
jmp 0x405ce4
mov eax, dword [esi + 4]
sub eax, 0xa8da1a62
je 0x406e41
jmp 0x405cf7
mov eax, dword [esi + 4]
sub eax, 0xaea9a20a
je 0x406580
jmp 0x405d0a
mov eax, dword [esi + 4]
sub eax, 0xb11163ee
je 0x407029
jmp 0x405d1d
mov eax, dword [esi + 4]
sub eax, 0xb3fbbb02
je 0x406a3e
jmp 0x405d30
mov eax, dword [esi + 4]
sub eax, 0xbb67e709
je 0x406e66
jmp 0x405d43
mov eax, dword [esi + 4]
sub eax, 0xbf0d34a6
je 0x407165
jmp 0x405d56
mov eax, dword [esi + 4]
sub eax, 0xc0f9ba12
je 0x406b05
jmp 0x405d69
mov eax, dword [esi + 4]
sub eax, 0xcc387e59
je 0x406fc7
jmp 0x405d7c
mov eax, dword [esi + 4]
sub eax, 0xd0d11b12
je 0x40731c
jmp 0x405d8f
mov eax, dword [esi + 4]
sub eax, 0xd0f1bc26
je 0x4069f0
jmp 0x405da2
mov eax, dword [esi + 4]
sub eax, 0xd1b7ae3a
je 0x40734c
jmp 0x405db5
mov eax, dword [esi + 4]
sub eax, 0xdd62d0c8
je 0x40700b
jmp 0x405dc8
mov eax, dword [esi + 4]
sub eax, 0xde0c2118
je 0x406321
jmp 0x405ddb
mov eax, dword [esi + 4]
sub eax, 0xdf025c31
je 0x406d1d
jmp 0x405dee
mov eax, dword [esi + 4]
sub eax, 0xdf2e6bff
je 0x407371
jmp 0x405e01
mov eax, dword [esi + 4]
sub eax, 0xe0b7e51c
je 0x406315
jmp 0x405e14
mov eax, dword [esi + 4]
sub eax, 0xe310ce3b
je 0x406e17
jmp 0x405e27
mov eax, dword [esi + 4]
sub eax, 0xe5664f1e
je 0x406676
jmp 0x405e3a
mov eax, dword [esi + 4]
sub eax, 0xe6b3bff9
je 0x40672e
jmp 0x405e4d
mov eax, dword [esi + 4]
sub eax, 0xe7ed6391
je 0x4072ef
jmp 0x405e60
mov eax, dword [esi + 4]
sub eax, 0xecca9e64
je 0x4068e3
jmp 0x405e73
mov eax, dword [esi + 4]
sub eax, 0xed04e8fc
je 0x406ce5
jmp 0x405e86
mov eax, dword [esi + 4]
sub eax, 0xed33cbe9
je 0x406cd9
jmp 0x405e99
mov eax, dword [esi + 4]
sub eax, 0xed45c308
je 0x4065b5
jmp 0x405eac
mov eax, dword [esi + 4]
sub eax, 0xedcae624
je 0x407340
jmp 0x405ebf
mov eax, dword [esi + 4]
sub eax, 0xee84f5d7
je 0x406597
jmp 0x405ed2
mov eax, dword [esi + 4]
sub eax, 0xf0c564c8
je 0x407135
jmp 0x405ee5
mov eax, dword [esi + 4]
sub eax, 0xf1c6d564
je 0x406541
jmp 0x405ef8
mov eax, dword [esi + 4]
sub eax, 0xf21e2c10
je 0x4072fb
jmp 0x405f0b
mov eax, dword [esi + 4]
sub eax, 0xf250a5bc
je 0x407095
jmp 0x405f1e
mov eax, dword [esi + 4]
sub eax, 0xf3217d7c
je 0x406eac
jmp 0x405f31
mov eax, dword [esi + 4]
sub eax, 0xf653dbed
je 0x406e72
jmp 0x405f44
mov eax, dword [esi + 4]
sub eax, 0xf6fc20fc
je 0x406bef
jmp 0x405f57
mov eax, dword [esi + 4]
sub eax, 0xf82e1308
je 0x40679d
jmp 0x405f6a
mov eax, dword [esi + 4]
sub eax, 0xf9001f20
je 0x4066b7
jmp 0x405f7d
mov eax, dword [esi + 4]
sub eax, 0xfd21bb4d
je 0x40689d
jmp 0x405f90
mov eax, dword [esi + 4]
sub eax, 0x22f3f98
je 0x406fdf
jmp 0x405fa3
mov eax, dword [esi + 4]
sub eax, 0x2a0bc77
je 0x407035
jmp 0x405fb6
mov eax, dword [esi + 4]
sub eax, 0xa757eaf
je 0x406aca
jmp 0x405fc9
mov eax, dword [esi + 4]
sub eax, 0xbc0fa2f
je 0x406c3d
jmp 0x405fdc
mov eax, dword [esi + 4]
sub eax, 0xc10c44e
je 0x406873
jmp 0x405fef
mov eax, dword [esi + 4]
sub eax, 0x146af38e
je 0x40655f
jmp 0x406002
mov eax, dword [esi + 4]
sub eax, 0x15d6f008
je 0x406574
jmp 0x406015
mov eax, dword [esi + 4]
sub eax, 0x1b426cc2
je 0x406402
jmp 0x406028
mov eax, dword [esi + 4]
sub eax, 0x1c4d2292
je 0x406feb
jmp 0x40603b
mov eax, dword [esi + 4]
sub eax, 0x22e8f76d
je 0x4071f9
jmp 0x40604e
mov eax, dword [esi + 4]
sub eax, 0x23c01f0d
je 0x406fa9
jmp 0x406061
mov eax, dword [esi + 4]
sub eax, 0x2a4960e2
je 0x40704f
jmp 0x406074
mov eax, dword [esi + 4]
sub eax, 0x2add5147
je 0x406808
jmp 0x406087
mov eax, dword [esi + 4]
sub eax, 0x2ba384fb
je 0x406abe
push eax
mov eax, esp
mov dword [esi + 0x30], eax
push eax
mov eax, esp
mov dword [esi + 0x34], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x38], eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x3c], eax
push eax
mov eax, esp
mov dword [esi + 0x40], eax
push eax
mov eax, esp
mov dword [esi + 0x44], eax
mov ecx, dword [0x4425e4]
mov eax, dword [0x4425e0]
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, 0x5dfb4593
mov ecx, 0xe0b7e51c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov dword [esi + 0x28], 0xde0c2118
jmp 0x407405
mov ecx, dword [esi + 0xc]
push eax
mov eax, esp
mov dword [esi + 0x48], eax
push eax
mov eax, esp
mov dword [esi + 0x4c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x50], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x54], eax
push eax
mov eax, esp
mov dword [esi + 0x58], eax
push eax
mov eax, esp
mov dword [esi + 0x5c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x60], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x64], eax
push eax
mov eax, esp
mov dword [esi + 0x68], eax
push eax
mov eax, esp
mov dword [esi + 0x6c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x70], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x74], eax
push eax
mov eax, esp
mov dword [esi + 0x78], eax
push eax
mov eax, esp
mov dword [esi + 0x7c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x80], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x84], eax
push eax
mov eax, esp
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x30]
mov dword [eax], ecx
mov dword [esi + 0x28], 0x814b7ac4
jmp 0x407405
mov eax, dword [0x4425e4]
mov ecx, dword [0x4425e0]
mov edx, eax
add edx, 0x382636c
sub edx, 1
sub edx, 0x382636c
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, 0x5a53613c
mov ecx, 0x1b426cc2
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov ecx, dword [esi + 8]
vmovsd xmm0, qword [esi + 0x20]
vmovsd xmm1, qword [esi + 0x18]
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x34]
mov dword [eax], edx
mov eax, dword [esi + 0x38]
vmovsd qword [eax], xmm1
mov eax, dword [esi + 0x3c]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x40]
mov dword [eax], ecx
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x44]
mov byte [eax], 1
mov eax, dword [esi + 0x48]
mov byte [eax], 0
mov eax, dword [esi + 0x4c]
mov byte [eax], 1
mov ecx, dword [esi + 0x50]
lea eax, str.zbucdnetfqdmppkjklixgdoipkfmadlmhumecyzuvexqsopxyxmrchtdbjnlcxixdcfjotbsiqcmsbhaywtloxumwikdwrivzk
sub esp, 4
mov dword [esp], eax
call fcn.00420a20
mov ecx, dword [esi + 0x54]
lea eax, str.kqmneldwlbphmifxbofejqvlvpgkggwjvjqbpqgomvlwodhxhbmgkmdfwagrqiptsqzlvzovare
sub esp, 4
mov dword [esp], eax
call fcn.00420a20
mov eax, dword [esi + 0x58]
mov byte [eax], 1
mov eax, dword [esi + 0x5c]
mov dword [eax], 0xf90
mov ecx, dword [esi + 0x60]
lea eax, str.zbucdnetfqdmppkjklixgdoipkfmadlmhumecyzuvexqsopxyxmrchtdbjnlcxixdcfjotbsiqcmsbhaywtloxumwikdwrivzk
sub esp, 4
mov dword [esp], eax
call fcn.00420a20
mov ecx, dword [esi + 0x64]
lea eax, str.zbucdnetfqdmppkjklixgdoipkfmadlmhumecyzuvexqsopxyxmrchtdbjnlcxixdcfjotbsiqcmsbhaywtloxumwikdwrivzk
sub esp, 4
mov dword [esp], eax
call fcn.00420a20
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x64]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00420e60
add esp, 8
and al, 1
mov byte [esi + 0x8f], al
mov ecx, dword [esi + 0x64]
call fcn.00420df0
mov ecx, dword [esi + 0x60]
call fcn.00420df0
mov ecx, dword [0x4425e4]
mov eax, dword [0x4425e0]
mov edx, ecx
sub edx, 0xe4d407cb
sub edx, 1
add edx, 0xe4d407cb
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, 0x5a53613c
mov ecx, 0xf1c6d564
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov dl, byte [esi + 0x8f]
mov eax, 0x36bc7ba0
mov ecx, 0x146af38e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov eax, dword [esi + 0x68]
mov dword [eax], 0x50
mov dword [esi + 0x28], 0x15d6f008
jmp 0x407405
mov dword [esi + 0x28], 0xaea9a20a
jmp 0x407405
mov eax, dword [esi + 0x68]
mov eax, dword [eax]
mov dword [esi + 0x90], eax
mov dword [esi + 0x28], 0xee84f5d7
jmp 0x407405
mov edx, dword [esi + 0x90]
mov eax, 0xf9001f20
mov ecx, 0xed45c308
cmp edx, 0
cmovg eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov eax, dword [0x4425e4]
mov ecx, dword [0x4425e0]
mov edx, eax
add edx, 0x8d141f08
sub edx, 1
sub edx, 0x8d141f08
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, 0xe7ed6391
mov ecx, 0x5fa81128
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov dword [esi + 0x28], 0x9b0fe59c
jmp 0x407405
mov eax, dword [esi + 0x68]
mov eax, dword [eax]
mov dword [esi + 0x94], eax
mov dword [esi + 0x28], 0x337e9df3
jmp 0x407405
mov dword [esi + 0x28], 0x36bc7ba0
jmp 0x407405
mov eax, dword [esi + 0x6c]
mov dword [eax], 0x5e
mov eax, dword [0x4425e4]
mov ecx, dword [0x4425e0]
mov edx, eax
sub edx, 0x6a67db2d
sub edx, 1
add edx, 0x6a67db2d
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, 0xf21e2c10
mov ecx, 0x7519fac0
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov eax, dword [esi + 0x6c]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x9b], al
mov dword [esi + 0x28], 0x6eac16f8
jmp 0x407405
mov ecx, dword [0x4425e4]
mov eax, dword [0x4425e0]
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, 0x9a92638a
mov ecx, 0xc10c44e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov dl, byte [esi + 0x9b]
mov eax, 0x30552b7a
mov ecx, 0x397e002f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov eax, dword [0x4425e4]
mov ecx, dword [0x4425e0]
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, 0xd0d11b12
mov ecx, 0xecca9e64
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov eax, dword [esi + 0x6c]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xffffffff
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [esi + 0x9c], eax
mov eax, dword [0x4425e4]
mov ecx, dword [0x4425e0]
mov edx, eax
add edx, 0xe954911
sub edx, 1
sub edx, 0xe954911
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, 0xd0d11b12
mov ecx, 0xa41f54c5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov dword [esi + 0x28], 0x8a5df694
jmp 0x407405
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x9c]
mov dword [eax], ecx
mov dword [esi + 0x28], 0xf82e1308
jmp 0x407405
mov eax, dword [0x4425e4]
mov ecx, dword [0x4425e0]
mov edx, eax
sub edx, 0x69bddd13
sub edx, 1
add edx, 0x69bddd13
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, 0x8fd791b9
mov ecx, 0xb3fbbb02
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov eax, dword [esi + 0x78]
mov dword [eax], 0x1f
mov ecx, dword [0x4425e4]
mov eax, dword [0x4425e0]
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, 0x8fd791b9
mov ecx, 0x86336f8f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov dword [esi + 0x28], 0x2ba384fb
jmp 0x407405
mov eax, dword [esi + 0x78]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0xa3], al
mov dword [esi + 0x28], 0x4f02075c
jmp 0x407405
mov ecx, dword [0x4425e4]
mov eax, dword [0x4425e0]
mov edx, ecx
add edx, 0xd44a903a
sub edx, 1
sub edx, 0xd44a903a
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, 0xedcae624
mov ecx, 0x60a719eb
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov dword [esi + 0x28], 0xf6fc20fc
jmp 0x407405
mov eax, dword [0x4425e4]
mov ecx, dword [0x4425e0]
mov edx, eax
sub edx, 0x889df175
sub edx, 1
add edx, 0x889df175
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, 0xd1b7ae3a
mov ecx, 0xbc0fa2f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0xffffffff
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [esi + 0x78]
mov dword [eax], ecx
mov ecx, dword [0x4425e4]
mov eax, dword [0x4425e0]
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, 0xd1b7ae3a
mov ecx, 0x405c7a6c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov dword [esi + 0x28], 0xed04e8fc
jmp 0x407405
mov eax, dword [esi + 0x7c]
mov dword [eax], 0x4c
mov dword [esi + 0x28], 0x91124107
jmp 0x407405
mov dword [esi + 0x28], 0x8fca1fb0
jmp 0x407405
mov eax, dword [esi + 0x7c]
mov eax, dword [eax]
mov dword [esi + 0xa4], eax
mov dword [esi + 0x28], 0xdf025c31
jmp 0x407405
mov ecx, dword [0x4425e4]
mov eax, dword [0x4425e0]
mov edx, ecx
add edx, 0x3e1d383a
sub edx, 1
sub edx, 0x3e1d383a
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, 0xdf2e6bff
mov ecx, 0x9ec4019b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov eax, dword [esi + 0xa4]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0xa9], al
mov ecx, dword [0x4425e4]
mov eax, dword [0x4425e0]
mov edx, ecx
sub edx, 0x9a86a79f
sub edx, 1
add edx, 0x9a86a79f
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, 0xdf2e6bff
mov ecx, 0xe310ce3b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov dl, byte [esi + 0xa9]
mov eax, 0xf653dbed
mov ecx, 0xa2526dca
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov dword [esi + 0x28], 0xa8da1a62
jmp 0x407405
mov eax, dword [esi + 0x7c]
mov ecx, dword [eax]
sub ecx, 0x1a1dcb34
add ecx, 0xffffffff
add ecx, 0x1a1dcb34
mov eax, dword [esi + 0x7c]
mov dword [eax], ecx
mov dword [esi + 0x28], 0xbb67e709
jmp 0x407405
mov dword [esi + 0x28], 0x8fca1fb0
jmp 0x407405
mov ecx, dword [esi + 0x80]
lea eax, str.zbucdnetfqdmppkjklixgdoipkfmadlmhumecyzuvexqsopxyxmrchtdbjnlcxixdcfjotbsiqcmsbhaywtloxumwikdwrivzk
sub esp, 4
mov dword [esp], eax
call fcn.00420a20
mov ecx, dword [esi + 0x84]
lea eax, str.zbucdnetfqdmppkjklixgdoipkfmadlmhumecyzuvexqsopxyxmrchtdbjnlcxixdcfjotbsiqcmsbhaywtloxumwikdwrivzk
sub esp, 4
mov dword [esp], eax
call fcn.00420a20
mov dword [esi + 0x28], 0xf3217d7c
jmp 0x407405
mov ecx, dword [0x4425e4]
mov eax, dword [0x4425e0]
mov edx, ecx
add edx, 0x74a46829
sub edx, 1
sub edx, 0x74a46829
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, 0xa64ba48e
mov ecx, 0x64ea4af4
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov dl, byte [esi + 0xaa]
mov eax, 0xf0c564c8
mov ecx, 0xcc387e59
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov eax, dword [esi + 0x88]
mov dword [eax], 0x2b
mov dword [esi + 0x28], 0x22f3f98
jmp 0x407405
mov dword [esi + 0x28], 0x1c4d2292
jmp 0x407405
mov eax, dword [esi + 0x88]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0xab], al
mov dword [esi + 0x28], 0xdd62d0c8
jmp 0x407405
mov dl, byte [esi + 0xab]
mov eax, 0xa5990e84
mov ecx, 0xb11163ee
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov dword [esi + 0x28], 0x2a0bc77
jmp 0x407405
mov eax, dword [esi + 0x88]
mov eax, dword [eax]
mov dword [esi + 0xac], eax
mov dword [esi + 0x28], 0x2a4960e2
jmp 0x407405
mov eax, dword [0x4425e4]
mov ecx, dword [0x4425e0]
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, 0x76694a2b
mov ecx, 0xf250a5bc
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov ecx, dword [esi + 0xac]
xor eax, eax
sub eax, 0xffffffff
sub ecx, eax
mov eax, dword [esi + 0x88]
mov dword [eax], ecx
mov ecx, dword [0x4425e4]
mov eax, dword [0x4425e0]
mov edx, ecx
sub edx, 0xe5599497
sub edx, 1
add edx, 0xe5599497
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, 0x76694a2b
mov ecx, 0x64d58499
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov dword [esi + 0x28], 0xf0c564c8
jmp 0x407405
mov ecx, dword [esi + 0xc]
lea eax, str.fufshbvtkfuxzrdar
sub esp, 4
mov dword [esp], eax
call fcn.00420a20
mov ecx, dword [esi + 0x54]
call fcn.00420df0
mov ecx, dword [esi + 0x50]
call fcn.00420df0
mov dword [esi + 0x28], 0xbf0d34a6
jmp 0x407405
mov eax, dword [0x4425e4]
mov ecx, dword [0x4425e0]
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, 0x7b159f7d
mov ecx, 0x58ca80c0
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x407405
mov ecx, dword [esi + 0xb0]
xor ecx, ebp
call fcn.0042b2c0
mov eax, dword [esi + 0x10]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x18
mov dword [esi + 0x28], 0x5fa81128
jmp 0x407405
mov eax, dword [esi + 0x6c]
mov dword [eax], 0x5e
mov dword [esi + 0x28], 0xe6b3bff9
jmp 0x407405
mov dword [esi + 0x28], 0x2add5147
jmp 0x407405
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x28], 0xecca9e64
jmp 0x407405
mov eax, dword [esi + 0x78]
mov dword [eax], 0x1f
mov dword [esi + 0x28], 0xb3fbbb02
jmp 0x407405
mov dword [esi + 0x28], 0x60a719eb
jmp 0x407405
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
add ecx, 0x3f72506f
add ecx, 0xffffffff
sub ecx, 0x3f72506f
mov eax, dword [esi + 0x78]
mov dword [eax], ecx
mov dword [esi + 0x28], 0xbc0fa2f
jmp 0x407405
mov eax, dword [esi + 0xa4]
mov dword [esi + 0x28], 0x9ec4019b
jmp 0x407405
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x84]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00420e60
add esp, 8
mov ecx, dword [esi + 0x84]
call fcn.00420df0
mov ecx, dword [esi + 0x80]
call fcn.00420df0
mov dword [esi + 0x28], 0x64ea4af4
jmp 0x407405
jmp 0x405bc4