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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x98
mov esi, esp
mov dword [esi + 0x40], ecx
mov eax, dword [ebp + 0x20]
mov dword [esi + 0x44], eax
mov eax, dword [ebp + 0x1c]
mov dword [esi + 0x48], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x4c], eax
mov dword [esi + 0x50], eax
mov al, byte [ebp + 0x18]
mov byte [esi + 0x57], al
mov eax, dword [ebp + 0x14]
mov dword [esi + 0x58], eax
lea eax, [ebp + 0xc]
mov dword [esi + 0x5c], eax
mov eax, dword [0x78b300]
xor eax, ebp
mov dword [esi + 0x90], eax
mov ecx, dword [0x78d2e8]
mov eax, dword [0x78d2e4]
mov edx, ecx
sub edx, 0x135fc6ee
sub edx, 1
add edx, 0x135fc6ee
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [esi + 0x6a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x6b], al
mov dword [esi + 0x64], 0xf81c6d0d
mov eax, dword [esi + 0x64]
mov dword [esi + 0x3c], eax
sub eax, 0x80e94b56
je 0x6166c4
jmp 0x614ece
mov eax, dword [esi + 0x3c]
sub eax, 0x82e18a69
je 0x6166b8
jmp 0x614ee1
mov eax, dword [esi + 0x3c]
sub eax, 0x845f3035
je 0x61583a
jmp 0x614ef4
mov eax, dword [esi + 0x3c]
sub eax, 0x88067af3
je 0x615c68
jmp 0x614f07
mov eax, dword [esi + 0x3c]
sub eax, 0x8911094d
je 0x6154b2
jmp 0x614f1a
mov eax, dword [esi + 0x3c]
sub eax, 0x8a2529a9
je 0x616342
jmp 0x614f2d
mov eax, dword [esi + 0x3c]
sub eax, 0x9316d823
je 0x6166f4
jmp 0x614f40
mov eax, dword [esi + 0x3c]
sub eax, 0x9f32a5d9
je 0x615f43
jmp 0x614f53
mov eax, dword [esi + 0x3c]
sub eax, 0xad839635
je 0x6157ec
jmp 0x614f66
mov eax, dword [esi + 0x3c]
sub eax, 0xb144968f
je 0x616700
jmp 0x614f79
mov eax, dword [esi + 0x3c]
sub eax, 0xb233ba39
je 0x61657c
jmp 0x614f8c
mov eax, dword [esi + 0x3c]
sub eax, 0xb2d4ad4d
je 0x61609f
jmp 0x614f9f
mov eax, dword [esi + 0x3c]
sub eax, 0xb4a57d56
je 0x616476
jmp 0x614fb2
mov eax, dword [esi + 0x3c]
sub eax, 0xb5d57eb1
je 0x6162bf
jmp 0x614fc5
mov eax, dword [esi + 0x3c]
sub eax, 0xc130e55f
je 0x6158c6
jmp 0x614fd8
mov eax, dword [esi + 0x3c]
sub eax, 0xc181505d
je 0x6153cc
jmp 0x614feb
mov eax, dword [esi + 0x3c]
sub eax, 0xc28e1065
je 0x616505
jmp 0x614ffe
mov eax, dword [esi + 0x3c]
sub eax, 0xc29d470e
je 0x615a65
jmp 0x615011
mov eax, dword [esi + 0x3c]
sub eax, 0xc713ae4c
je 0x615758
jmp 0x615024
mov eax, dword [esi + 0x3c]
sub eax, 0xc7b7dd54
je 0x61590c
jmp 0x615037
mov eax, dword [esi + 0x3c]
sub eax, 0xc7d43653
je 0x615880
jmp 0x61504a
mov eax, dword [esi + 0x3c]
sub eax, 0xc99d26f3
je 0x6163d6
jmp 0x61505d
mov eax, dword [esi + 0x3c]
sub eax, 0xd180fce7
je 0x6166dc
jmp 0x615070
mov eax, dword [esi + 0x3c]
sub eax, 0xd2f2cf82
je 0x6156bc
jmp 0x615083
mov eax, dword [esi + 0x3c]
sub eax, 0xd31d8a1b
je 0x615e76
jmp 0x615096
mov eax, dword [esi + 0x3c]
sub eax, 0xd5b90614
je 0x615cb6
jmp 0x6150a9
mov eax, dword [esi + 0x3c]
sub eax, 0xd7a18036
je 0x6166e8
jmp 0x6150bc
mov eax, dword [esi + 0x3c]
sub eax, 0xdd4e91d7
je 0x616482
jmp 0x6150cf
mov eax, dword [esi + 0x3c]
sub eax, 0xe751d3b7
je 0x61543f
jmp 0x6150e2
mov eax, dword [esi + 0x3c]
sub eax, 0xed10355d
je 0x615dea
jmp 0x6150f5
mov eax, dword [esi + 0x3c]
sub eax, 0xef0fbef6
je 0x61665d
jmp 0x615108
mov eax, dword [esi + 0x3c]
sub eax, 0xf49f055b
je 0x6162b3
jmp 0x61511b
mov eax, dword [esi + 0x3c]
sub eax, 0xf81c6d0d
je 0x6153a6
jmp 0x61512e
mov eax, dword [esi + 0x3c]
sub eax, 0xfe879778
je 0x6161bd
jmp 0x615141
mov eax, dword [esi + 0x3c]
sub eax, 0xfeb30939
je 0x616388
jmp 0x615154
mov eax, dword [esi + 0x3c]
sub eax, 0x23b481c
je 0x615d9c
jmp 0x615167
mov eax, dword [esi + 0x3c]
sub eax, 0xd357c5d
je 0x616107
jmp 0x61517a
mov eax, dword [esi + 0x3c]
sub eax, 0xf2bbdb0
je 0x61614a
jmp 0x61518d
mov eax, dword [esi + 0x3c]
sub eax, 0x13584856
je 0x615ee9
jmp 0x6151a0
mov eax, dword [esi + 0x3c]
sub eax, 0x13d87d53
je 0x6157a6
jmp 0x6151b3
mov eax, dword [esi + 0x3c]
sub eax, 0x15bac35a
je 0x61678f
jmp 0x6151c6
mov eax, dword [esi + 0x3c]
sub eax, 0x18aafb97
je 0x615ad8
jmp 0x6151d9
mov eax, dword [esi + 0x3c]
sub eax, 0x1db3f0e5
je 0x61570a
jmp 0x6151ec
mov eax, dword [esi + 0x3c]
sub eax, 0x24e19cf3
je 0x615bf5
jmp 0x6151ff
mov eax, dword [esi + 0x3c]
sub eax, 0x2510aef2
je 0x616783
jmp 0x615212
mov eax, dword [esi + 0x3c]
sub eax, 0x26153e36
je 0x6155a1
jmp 0x615225
mov eax, dword [esi + 0x3c]
sub eax, 0x27b993ed
je 0x61597f
jmp 0x615238
mov eax, dword [esi + 0x3c]
sub eax, 0x291cd7b8
je 0x6166ac
jmp 0x61524b
mov eax, dword [esi + 0x3c]
sub eax, 0x37bf89e4
je 0x6163e2
jmp 0x61525e
mov eax, dword [esi + 0x3c]
sub eax, 0x3db0320e
je 0x615b26
jmp 0x615271
mov eax, dword [esi + 0x3c]
sub eax, 0x3dd26358
je 0x616669
jmp 0x615284
mov eax, dword [esi + 0x3c]
sub eax, 0x4c6bae86
je 0x61679b
jmp 0x615297
mov eax, dword [esi + 0x3c]
sub eax, 0x4e9ce5cf
je 0x6155ef
jmp 0x6152aa
mov eax, dword [esi + 0x3c]
sub eax, 0x4fcd4fde
je 0x616511
jmp 0x6152bd
mov eax, dword [esi + 0x3c]
sub eax, 0x4fe5c0e8
je 0x615e30
jmp 0x6152d0
mov eax, dword [esi + 0x3c]
sub eax, 0x4ffffce5
je 0x615ef5
jmp 0x6152e3
mov eax, dword [esi + 0x3c]
sub eax, 0x51974e22
je 0x6166d0
jmp 0x6152f6
mov eax, dword [esi + 0x3c]
sub eax, 0x531d9a8d
je 0x61566e
jmp 0x615309
mov eax, dword [esi + 0x3c]
sub eax, 0x6649b286
je 0x61602c
jmp 0x61531c
mov eax, dword [esi + 0x3c]
sub eax, 0x67615739
je 0x6162a7
jmp 0x61532f
mov eax, dword [esi + 0x3c]
sub eax, 0x68ab0259
je 0x615d29
jmp 0x615342
mov eax, dword [esi + 0x3c]
sub eax, 0x6d96c717
je 0x6160ed
jmp 0x615355
mov eax, dword [esi + 0x3c]
sub eax, 0x6dd73553
je 0x6159f2
jmp 0x615368
mov eax, dword [esi + 0x3c]
sub eax, 0x720ed40e
je 0x616430
jmp 0x61537b
mov eax, dword [esi + 0x3c]
sub eax, 0x77127d0f
je 0x6154f8
mov al, byte [esi + 0x6a]
mov cl, byte [esi + 0x6b]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x8a2529a9
mov ecx, 0xc181505d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov ecx, dword [0x78d2e8]
mov eax, dword [0x78d2e4]
mov edx, ecx
add edx, 0xfbab7cae
sub edx, 1
sub edx, 0xfbab7cae
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, 0x8a2529a9
mov ecx, 0xe751d3b7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov ecx, dword [0x78d2e8]
mov eax, dword [0x78d2e4]
mov edx, ecx
add edx, 0xa90887c6
sub edx, 1
sub edx, 0xa90887c6
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, 0xd357c5d
mov ecx, 0x8911094d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
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, 0x3dd26358
mov ecx, 0x77127d0f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
mov edx, eax
sub edx, 0xec782b19
sub edx, 1
add edx, 0xec782b19
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, 0xd357c5d
mov ecx, 0x4e9ce5cf
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov dword [esi + 0x64], 0x7ea94707
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
mov edx, eax
add edx, 0x24967626
sub edx, 1
sub edx, 0x24967626
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, 0x291cd7b8
mov ecx, 0xd2f2cf82
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
mov edx, eax
sub edx, 0x33cdef8
sub edx, 1
add edx, 0x33cdef8
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, 0x37bf89e4
mov ecx, 0x1db3f0e5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
mov edx, eax
add edx, 0xe20ef9a7
sub edx, 1
sub edx, 0xe20ef9a7
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, 0x37bf89e4
mov ecx, 0xc713ae4c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
mov edx, eax
add edx, 0xb8f44e0
sub edx, 1
sub edx, 0xb8f44e0
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, 0x82e18a69
mov ecx, 0x13d87d53
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
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, 0x82e18a69
mov ecx, 0xad839635
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
mov edx, eax
add edx, 0xd9c12831
sub edx, 1
sub edx, 0xd9c12831
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, 0xf49f055b
mov ecx, 0x845f3035
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
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, 0xf49f055b
mov ecx, 0xc7d43653
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
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, 0xf2bbdb0
mov ecx, 0xc130e55f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
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, 0x80e94b56
mov ecx, 0xc7b7dd54
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov ecx, dword [0x78d2e8]
mov eax, dword [0x78d2e4]
mov edx, ecx
sub edx, 0xd738a64
sub edx, 1
add edx, 0xd738a64
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, 0x80e94b56
mov ecx, 0x27b993ed
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov ecx, dword [0x78d2e8]
mov eax, dword [0x78d2e4]
mov edx, ecx
add edx, 0xaa65ced1
sub edx, 1
sub edx, 0xaa65ced1
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, 0xb5d57eb1
mov ecx, 0x6dd73553
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov ecx, dword [0x78d2e8]
mov eax, dword [0x78d2e4]
mov edx, ecx
add edx, 0x8d872f9c
sub edx, 1
sub edx, 0x8d872f9c
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, 0x51974e22
mov ecx, 0xc29d470e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov ecx, dword [0x78d2e8]
mov eax, dword [0x78d2e4]
mov edx, ecx
add edx, 0xa79beb6a
sub edx, 1
sub edx, 0xa79beb6a
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, 0x51974e22
mov ecx, 0x18aafb97
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
mov edx, eax
sub edx, 0x81bda682
sub edx, 1
add edx, 0x81bda682
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, 0xdd4e91d7
mov ecx, 0x3db0320e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x78]
mov dword [eax], ecx
mov eax, dword [esi + 0x78]
mov eax, dword [eax]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x6c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [esi + 0x74]
mov ecx, dword [eax]
call fcn.005613b0
mov dword [esi + 0x38], eax
mov edx, dword [esi + 0x80]
mov eax, dword [esi + 0x88]
lea ecx, [0x780818]
sub esp, 0x10
mov dword [esp], eax
mov eax, dword [esi + 0x38]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.006eead0
add esp, 0x10
mov edx, eax
mov ecx, dword [esi + 0x7c]
sub esp, 0x14
mov eax, esp
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], edi
mov dword [eax + 8], edx
mov dword [eax], ecx
mov dword [eax + 4], 0x40
call fcn.00642ac0
add esp, 0x14
mov dword [esi + 0x8c], eax
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
mov edx, eax
add edx, 0xf0ff3873
sub edx, 1
sub edx, 0xf0ff3873
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, 0xdd4e91d7
mov ecx, 0x24e19cf3
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov ecx, dword [0x78d2e8]
mov eax, dword [0x78d2e4]
mov edx, ecx
sub edx, 0x198f07ec
sub edx, 1
add edx, 0x198f07ec
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, 0xd180fce7
mov ecx, 0x88067af3
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
mov edx, eax
sub edx, 0x92b041de
sub edx, 1
add edx, 0x92b041de
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, 0xd180fce7
mov ecx, 0xd5b90614
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov ecx, dword [0x78d2e8]
mov eax, dword [0x78d2e4]
mov edx, ecx
sub edx, 0xc3b70cd3
sub edx, 1
add edx, 0xc3b70cd3
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, 0xb5d57eb1
mov ecx, 0x68ab0259
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov ecx, dword [0x78d2e8]
mov eax, dword [0x78d2e4]
mov edx, ecx
sub edx, 0xee0d5f
sub edx, 1
add edx, 0xee0d5f
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, 0xd7a18036
mov ecx, 0x23b481c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
mov edx, eax
sub edx, 0x4a7cb82c
sub edx, 1
add edx, 0x4a7cb82c
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, 0xd7a18036
mov ecx, 0xed10355d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
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, 0xf2bbdb0
mov ecx, 0x4fe5c0e8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
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, 0xc28e1065
mov ecx, 0xd31d8a1b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov ecx, dword [0x78d2e8]
mov eax, dword [0x78d2e4]
mov edx, ecx
add edx, 0xb9eb30a3
sub edx, 1
sub edx, 0xb9eb30a3
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, 0xc28e1065
mov ecx, 0x13584856
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov dword [esi + 0x64], 0x4ffffce5
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
mov edx, eax
add edx, 0x6e9f3a2d
sub edx, 1
sub edx, 0x6e9f3a2d
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, 0x4fcd4fde
mov ecx, 0x9f32a5d9
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov ebx, dword [esi + 0x5c]
mov ecx, dword [esi + 0x7c]
mov eax, dword [esi + 0x70]
mov dl, byte [eax]
mov eax, dword [esi + 0x74]
mov edi, dword [eax]
mov eax, dword [esi + 0x84]
mov ebx, dword [ebx]
mov dword [eax], ebx
mov ebx, dword [esi + 0x5c]
mov ebx, dword [ebx + 4]
mov dword [eax + 4], ebx
mov ebx, dword [esi + 0x84]
mov eax, dword [esi + 0x88]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x30]
sub esp, 0x20
mov dword [esp], eax
mov eax, dword [esi + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x34]
mov ebx, dword [ebx + 4]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edi
movsx edx, dl
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
call fcn.0062a820
add esp, 0x20
mov ecx, dword [0x78d2e8]
mov eax, dword [0x78d2e4]
mov edx, ecx
sub edx, 0xc317c79a
sub edx, 1
add edx, 0xc317c79a
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, 0x4fcd4fde
mov ecx, 0x6649b286
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov ecx, dword [0x78d2e8]
mov eax, dword [0x78d2e4]
mov edx, ecx
sub edx, 0x9b4af3a3
sub edx, 1
add edx, 0x9b4af3a3
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, 0x9316d823
mov ecx, 0xb2d4ad4d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
mov edx, eax
add edx, 0x58240c39
sub edx, 1
sub edx, 0x58240c39
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, 0x9316d823
mov ecx, 0x6d96c717
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov ecx, dword [esi + 0x90]
xor ecx, ebp
call fcn.0075eda0
mov eax, dword [esi + 0x50]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c
push eax
mov ecx, esp
sub esp, 8
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov edx, esp
push eax
mov eax, esp
push eax
sub esp, 0x40
sub esp, 8
sub esp, 8
mov ebx, dword [esi + 0x4c]
mov dword [ecx], ebx
mov bl, byte [esi + 0x57]
mov ecx, dword [esi + 0x44]
mov dword [edi + 4], ecx
mov ecx, dword [esi + 0x48]
mov dword [edi], ecx
mov ecx, dword [esi + 0x58]
mov byte [edx], bl
mov dword [eax], ecx
mov dword [esi + 0x64], 0x8911094d
jmp 0x616816
mov ecx, dword [0x78d2e8]
mov eax, dword [0x78d2e4]
mov edx, ecx
add edx, 0xa08edcc1
sub edx, 1
sub edx, 0xa08edcc1
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, 0xb144968f
mov ecx, 0xfe879778
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x78]
mov dword [eax], ecx
mov eax, dword [esi + 0x78]
mov eax, dword [eax]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x6c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [esi + 0x74]
mov ecx, dword [eax]
call fcn.005613b0
mov ecx, eax
mov eax, dword [esi + 0x28]
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x80]
lea ecx, [0x780818]
sub esp, 0x10
mov dword [esp], eax
mov eax, dword [esi + 0x2c]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.006eead0
add esp, 0x10
mov edx, eax
mov ecx, dword [esi + 0x7c]
sub esp, 0x14
mov eax, esp
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], edi
mov dword [eax + 8], edx
mov dword [eax], ecx
mov dword [eax + 4], 0x40
call fcn.00642ac0
add esp, 0x14
mov ecx, dword [0x78d2e8]
mov eax, dword [0x78d2e4]
mov edx, ecx
add edx, 0x440dc392
sub edx, 1
sub edx, 0x440dc392
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, 0xb144968f
mov ecx, 0x67615739
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov dword [esi + 0x64], 0xc130e55f
jmp 0x616816
mov dword [esi + 0x64], 0x845f3035
jmp 0x616816
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x78]
mov dword [eax], ecx
mov eax, dword [esi + 0x78]
mov eax, dword [eax]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x6c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [esi + 0x74]
mov ecx, dword [eax]
call fcn.005613b0
mov ecx, eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x80]
lea ecx, [0x780818]
sub esp, 0x10
mov dword [esp], eax
mov eax, dword [esi + 0x24]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.006eead0
add esp, 0x10
mov edx, eax
mov ecx, dword [esi + 0x7c]
sub esp, 0x14
mov eax, esp
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], edi
mov dword [eax + 8], edx
mov dword [eax], ecx
mov dword [eax + 4], 0x40
call fcn.00642ac0
add esp, 0x14
mov dword [esi + 0x64], 0x6dd73553
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
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, 0x2510aef2
mov ecx, 0xfeb30939
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
mov edx, eax
sub edx, 0xdb453e31
sub edx, 1
add edx, 0xdb453e31
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, 0x2510aef2
mov ecx, 0xc99d26f3
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov dword [esi + 0x64], 0xc181505d
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
mov edx, eax
sub edx, 0xbb4a44e9
sub edx, 1
add edx, 0xbb4a44e9
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, 0x15bac35a
mov ecx, 0x720ed40e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov eax, dword [0x78d2e8]
mov ecx, dword [0x78d2e4]
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, 0x15bac35a
mov ecx, 0xb4a57d56
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov dword [esi + 0x64], 0x1db3f0e5
jmp 0x616816
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x78]
mov dword [eax], ecx
mov eax, dword [esi + 0x78]
mov eax, dword [eax]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x6c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [esi + 0x74]
mov ecx, dword [eax]
call fcn.005613b0
mov ecx, eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x80]
lea ecx, [0x780818]
sub esp, 0x10
mov dword [esp], eax
mov eax, dword [esi + 0x1c]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.006eead0
add esp, 0x10
mov edx, eax
mov ecx, dword [esi + 0x7c]
sub esp, 0x14
mov eax, esp
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], edi
mov dword [eax + 8], edx
mov dword [eax], ecx
mov dword [eax + 4], 0x40
call fcn.00642ac0
add esp, 0x14
mov dword [esi + 0x64], 0x3db0320e
jmp 0x616816
mov dword [esi + 0x64], 0xd31d8a1b
jmp 0x616816
mov ecx, dword [0x78d2e8]
mov eax, dword [0x78d2e4]
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, 0x4c6bae86
mov ecx, 0xb233ba39
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov ebx, dword [esi + 0x5c]
mov ecx, dword [esi + 0x7c]
mov eax, dword [esi + 0x70]
mov dl, byte [eax]
mov eax, dword [esi + 0x74]
mov edi, dword [eax]
mov eax, dword [esi + 0x84]
mov ebx, dword [ebx]
mov dword [eax], ebx
mov ebx, dword [esi + 0x5c]
mov ebx, dword [ebx + 4]
mov dword [eax + 4], ebx
mov ebx, dword [esi + 0x84]
mov eax, dword [esi + 0x88]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x10]
sub esp, 0x20
mov dword [esp], eax
mov eax, dword [esi + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x14]
mov ebx, dword [ebx + 4]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edi
movsx edx, dl
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
call fcn.0062a820
add esp, 0x20
mov ecx, dword [0x78d2e8]
mov eax, dword [0x78d2e4]
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, 0x4c6bae86
mov ecx, 0xef0fbef6
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x64], eax
jmp 0x616816
mov dword [esi + 0x64], 0x9f32a5d9
jmp 0x616816
push eax
mov ecx, esp
sub esp, 8
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov edx, esp
push eax
mov eax, esp
push eax
sub esp, 0x40
sub esp, 8
sub esp, 8
mov ebx, dword [esi + 0x4c]
mov dword [ecx], ebx
mov bl, byte [esi + 0x57]
mov ecx, dword [esi + 0x44]
mov dword [edi + 4], ecx
mov ecx, dword [esi + 0x48]
mov dword [edi], ecx
mov ecx, dword [esi + 0x58]
mov byte [edx], bl
mov dword [eax], ecx
mov dword [esi + 0x64], 0x77127d0f
jmp 0x616816
mov dword [esi + 0x64], 0x531d9a8d
jmp 0x616816
mov dword [esi + 0x64], 0x13d87d53
jmp 0x616816
mov dword [esi + 0x64], 0xc7b7dd54
jmp 0x616816
mov dword [esi + 0x64], 0xc29d470e
jmp 0x616816
mov dword [esi + 0x64], 0x88067af3
jmp 0x616816
mov dword [esi + 0x64], 0x23b481c
jmp 0x616816
mov dword [esi + 0x64], 0xb2d4ad4d
jmp 0x616816
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x78]
mov dword [eax], ecx
mov eax, dword [esi + 0x78]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x6c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [esi + 0x74]
mov ecx, dword [eax]
call fcn.005613b0
mov ecx, eax
mov eax, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov edx, dword [esi + 0x80]
lea ecx, [0x780818]
sub esp, 0x10
mov dword [esp], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.006eead0
add esp, 0x10
mov edx, eax
mov ecx, dword [esi + 0x7c]
sub esp, 0x14
mov eax, esp
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], edi
mov dword [eax + 8], edx
mov dword [eax], ecx
mov dword [eax + 4], 0x40
call fcn.00642ac0
add esp, 0x14
mov dword [esi + 0x64], 0xfe879778
jmp 0x616816
mov dword [esi + 0x64], 0xfeb30939
jmp 0x616816
mov dword [esi + 0x64], 0x720ed40e
jmp 0x616816
mov ebx, dword [esi + 0x5c]
mov ecx, dword [esi + 0x7c]
mov eax, dword [esi + 0x70]
mov dl, byte [eax]
mov eax, dword [esi + 0x74]
mov edi, dword [eax]
mov eax, dword [esi + 0x84]
mov ebx, dword [ebx]
mov dword [eax], ebx
mov ebx, dword [esi + 0x5c]
mov ebx, dword [ebx + 4]
mov dword [eax + 4], ebx
mov ebx, dword [esi + 0x84]
mov eax, dword [esi + 0x88]
mov dword [esi], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 4], eax
mov eax, dword [esi]
sub esp, 0x20
mov dword [esp], eax
mov eax, dword [esi + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp + 8], eax
mov eax, dword [esi + 4]
mov ebx, dword [ebx + 4]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edi
movsx edx, dl
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
call fcn.0062a820
add esp, 0x20
mov dword [esi + 0x64], 0xb233ba39
jmp 0x614eb8