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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x88
mov esi, esp
mov eax, dword [ebp + 0x14]
mov dl, byte [ebp + 0x10]
mov dh, byte [ebp + 0xc]
mov bl, byte [ebp + 8]
mov edi, dword [0x4a7584]
xor edi, ebp
mov dword [esi + 0x80], edi
mov edi, dword [0x4a8b6c]
mov dword [esi + 0x3c], eax
mov eax, dword [0x4a8b70]
mov dword [esi + 0x38], edi
sub edi, 0x3781bbcf
sub edi, 1
add edi, 0x3781bbcf
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x38]
imul eax, edi
and eax, 1
cmp eax, 0
sete bh
and bh, 1
mov byte [esi + 0x46], bh
mov eax, dword [esi + 0x34]
cmp eax, 0xa
setl bh
and bh, 1
mov byte [esi + 0x47], bh
mov dword [esi + 0x40], 0xcdbfc87b
mov dword [esi + 0x30], ecx
mov byte [esi + 0x2f], dl
mov byte [esi + 0x2e], dh
mov byte [esi + 0x2d], bl
mov eax, dword [esi + 0x40]
mov ecx, eax
sub ecx, 0x8026c9f3
mov dword [esi + 0x28], eax
je 0x44435c
jmp 0x442f6e
mov eax, dword [esi + 0x28]
sub eax, 0x80dc86b0
je 0x44421f
jmp 0x442f81
mov eax, dword [esi + 0x28]
sub eax, 0x8108f710
je 0x444823
jmp 0x442f94
mov eax, dword [esi + 0x28]
sub eax, 0x81768ee9
je 0x444aaf
jmp 0x442fa7
mov eax, dword [esi + 0x28]
sub eax, 0x878f6575
je 0x44546a
jmp 0x442fba
mov eax, dword [esi + 0x28]
sub eax, 0x8b7c3fce
je 0x443cf4
jmp 0x442fcd
mov eax, dword [esi + 0x28]
sub eax, 0x8cc11f41
je 0x4441a4
jmp 0x442fe0
mov eax, dword [esi + 0x28]
sub eax, 0x8d0b2174
je 0x443c83
jmp 0x442ff3
mov eax, dword [esi + 0x28]
sub eax, 0x8ef5fc6a
je 0x444be4
jmp 0x443006
mov eax, dword [esi + 0x28]
sub eax, 0x9452ac15
je 0x444949
jmp 0x443019
mov eax, dword [esi + 0x28]
sub eax, 0x9477a7b0
je 0x4442e4
jmp 0x44302c
mov eax, dword [esi + 0x28]
sub eax, 0x97d0a06e
je 0x4455e4
jmp 0x44303f
mov eax, dword [esi + 0x28]
sub eax, 0x9cf556ba
je 0x445695
jmp 0x443052
mov eax, dword [esi + 0x28]
sub eax, 0x9d342066
je 0x44477b
jmp 0x443065
mov eax, dword [esi + 0x28]
sub eax, 0x9eef4f48
je 0x445087
jmp 0x443078
mov eax, dword [esi + 0x28]
sub eax, 0xa4a7486d
je 0x443c36
jmp 0x44308b
mov eax, dword [esi + 0x28]
sub eax, 0xa9333a9e
je 0x444fb6
jmp 0x44309e
mov eax, dword [esi + 0x28]
sub eax, 0xae7ef83a
je 0x4447c8
jmp 0x4430b1
mov eax, dword [esi + 0x28]
sub eax, 0xb0d5e6e5
je 0x4455c9
jmp 0x4430c4
mov eax, dword [esi + 0x28]
sub eax, 0xb1c1fdfd
je 0x44492e
jmp 0x4430d7
mov eax, dword [esi + 0x28]
sub eax, 0xb1d5570f
je 0x4456a1
jmp 0x4430ea
mov eax, dword [esi + 0x28]
sub eax, 0xb4097487
je 0x444a5e
jmp 0x4430fd
mov eax, dword [esi + 0x28]
sub eax, 0xb41fc3ac
je 0x444dd5
jmp 0x443110
mov eax, dword [esi + 0x28]
sub eax, 0xb42e92cd
je 0x444870
jmp 0x443123
mov eax, dword [esi + 0x28]
sub eax, 0xb460bcbe
je 0x443a54
jmp 0x443136
mov eax, dword [esi + 0x28]
sub eax, 0xb5a2042f
je 0x443dc0
jmp 0x443149
mov eax, dword [esi + 0x28]
sub eax, 0xb8f8f60d
je 0x443e33
jmp 0x44315c
mov eax, dword [esi + 0x28]
sub eax, 0xb96e595c
je 0x444ee5
jmp 0x44316f
mov eax, dword [esi + 0x28]
sub eax, 0xbc35deb2
je 0x44402d
jmp 0x443182
mov eax, dword [esi + 0x28]
sub eax, 0xbe0f12f9
je 0x443ba8
jmp 0x443195
mov eax, dword [esi + 0x28]
sub eax, 0xc27b33f1
je 0x444538
jmp 0x4431a8
mov eax, dword [esi + 0x28]
sub eax, 0xc2a0e968
je 0x444def
jmp 0x4431bb
mov eax, dword [esi + 0x28]
sub eax, 0xc3ed7cea
je 0x4440a0
jmp 0x4431ce
mov eax, dword [esi + 0x28]
sub eax, 0xc429b278
je 0x445313
jmp 0x4431e1
mov eax, dword [esi + 0x28]
sub eax, 0xc43588aa
je 0x44411e
jmp 0x4431f4
mov eax, dword [esi + 0x28]
sub eax, 0xc7e6158f
je 0x44467e
jmp 0x443207
mov eax, dword [esi + 0x28]
sub eax, 0xc8bdd523
je 0x443fbd
jmp 0x44321a
mov eax, dword [esi + 0x28]
sub eax, 0xc90188f2
je 0x445264
jmp 0x44322d
mov eax, dword [esi + 0x28]
sub eax, 0xcd29fb29
je 0x445003
jmp 0x443240
mov eax, dword [esi + 0x28]
sub eax, 0xcdbfc87b
je 0x4438f3
jmp 0x443253
mov eax, dword [esi + 0x28]
sub eax, 0xce1d9fe2
je 0x443ef8
jmp 0x443266
mov eax, dword [esi + 0x28]
sub eax, 0xd0c830c2
je 0x444a94
jmp 0x443279
mov eax, dword [esi + 0x28]
sub eax, 0xd209ab89
je 0x4453cc
jmp 0x44328c
mov eax, dword [esi + 0x28]
sub eax, 0xd26bba85
je 0x44567d
jmp 0x44329f
mov eax, dword [esi + 0x28]
sub eax, 0xd2c3600f
je 0x444e5b
jmp 0x4432b2
mov eax, dword [esi + 0x28]
sub eax, 0xd3f73262
je 0x44511a
jmp 0x4432c5
mov eax, dword [esi + 0x28]
sub eax, 0xd616067a
je 0x44558e
jmp 0x4432d8
mov eax, dword [esi + 0x28]
sub eax, 0xd622bef4
je 0x44551f
jmp 0x4432eb
mov eax, dword [esi + 0x28]
sub eax, 0xd71937f2
je 0x445498
jmp 0x4432fe
mov eax, dword [esi + 0x28]
sub eax, 0xd8110498
je 0x444a43
jmp 0x443311
mov eax, dword [esi + 0x28]
sub eax, 0xd90b0ed1
je 0x445504
jmp 0x443324
mov eax, dword [esi + 0x28]
sub eax, 0xdb1f7a5e
je 0x4443ad
jmp 0x443337
mov eax, dword [esi + 0x28]
sub eax, 0xdbdf4605
je 0x443eab
jmp 0x44334a
mov eax, dword [esi + 0x28]
sub eax, 0xdc60f04e
je 0x4443c7
jmp 0x44335d
mov eax, dword [esi + 0x28]
sub eax, 0xdfa22059
je 0x4444cc
jmp 0x443370
mov eax, dword [esi + 0x28]
sub eax, 0xe1c0dd17
je 0x445126
jmp 0x443383
mov eax, dword [esi + 0x28]
sub eax, 0xe28990e3
je 0x444d72
jmp 0x443396
mov eax, dword [esi + 0x28]
sub eax, 0xe3a1ff75
je 0x443b1b
jmp 0x4433a9
mov eax, dword [esi + 0x28]
sub eax, 0xe561d1a1
je 0x4448f8
jmp 0x4433bc
mov eax, dword [esi + 0x28]
sub eax, 0xe59e10b3
je 0x445569
jmp 0x4433cf
mov eax, dword [esi + 0x28]
sub eax, 0xe630b9ae
je 0x445360
jmp 0x4433e2
mov eax, dword [esi + 0x28]
sub eax, 0xe66b41f6
je 0x444596
jmp 0x4433f5
mov eax, dword [esi + 0x28]
sub eax, 0xe965bdb5
je 0x444ef1
jmp 0x443408
mov eax, dword [esi + 0x28]
sub eax, 0xeada2e32
je 0x44553e
jmp 0x44341b
mov eax, dword [esi + 0x28]
sub eax, 0xee7cda97
je 0x4455ff
mov al, byte [esi + 0x46]
mov cl, byte [esi + 0x47]
mov dl, al
xor dl, 0xff
mov ah, cl
xor ah, 0xff
mov ch, 1
xor ch, 1
mov dh, dl
and dh, 0xff
and al, ch
mov bl, ah
and bl, 0xff
and cl, ch
or dh, al
or bl, cl
xor dh, bl
or dl, ah
xor dl, 0xff
or ch, 1
and dl, ch
or dh, dl
test dh, 1
mov edi, 0x4ec045a6
mov ebx, 0x51c2f8a0
cmovne ebx, edi
mov dword [esi + 0x40], ebx
jmp 0x4456c9
mov al, byte [esi + 0x6c]
test al, 1
mov ecx, 0x590cdcef
mov edx, 0xb5a2042f
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov al, byte [esi + 0x6d]
test al, 1
mov ecx, 0xae33d8b
mov edx, 0xa4a7486d
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov eax, dword [esi + 0x48]
mov byte [eax], 0
mov eax, dword [esi + 0x5c]
mov dword [eax], 1
mov eax, dword [0x4a8b6c]
mov ecx, dword [0x4a8b70]
mov edx, eax
add edx, 0xc1e433d1
sub edx, 1
sub edx, 0xc1e433d1
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov edi, 0x6368aece
mov edx, 0x131bd838
cmovne edx, edi
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov eax, dword [0x4a8b6c]
mov ecx, dword [0x4a8b70]
mov edx, eax
sub edx, 0xda824fae
sub edx, 1
add edx, 0xda824fae
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x8d0b2174
mov edx, 0x878f6575
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x68]
add ecx, 0xc
sub esp, 4
mov dword [esp], eax
call fcn.0044d8a0
mov ecx, dword [0x4a8b6c]
mov edx, dword [0x4a8b70]
mov edi, ecx
add edi, 0x2bcc240a
sub edi, 1
sub edi, 0x2bcc240a
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov cl, bl
and cl, bh
xor bl, bh
or cl, bl
test cl, 1
mov edx, 0x2b940e83
mov edi, 0x878f6575
cmovne edi, edx
mov dword [esi + 0x40], edi
jmp 0x4456c9
mov eax, dword [0x4a8b6c]
mov ecx, dword [0x4a8b70]
mov edx, eax
sub edx, 0x84db2248
sub edx, 1
add edx, 0x84db2248
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x582a14fc
mov edx, 0x17bb2b91
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov eax, dword [0x4a8b6c]
mov ecx, dword [0x4a8b70]
mov edx, eax
add edx, 0x21e8305a
sub edx, 1
sub edx, 0x21e8305a
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov edi, 0xb8f8f60d
mov edx, 0xd71937f2
cmovne edx, edi
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov eax, dword [esi + 0x68]
mov ecx, eax
call fcn.0044dae0
and al, 1
mov byte [esi + 0x6e], al
mov ecx, dword [0x4a8b6c]
mov edx, dword [0x4a8b70]
mov edi, ecx
sub edi, 0x55741f89
sub edi, 1
add edi, 0x55741f89
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov bl, al
and bl, ah
xor al, ah
or bl, al
test bl, 1
mov ecx, 0xf4111791
mov edx, 0xd71937f2
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov eax, dword [0x4a8b6c]
mov ecx, dword [0x4a8b70]
mov edx, eax
add edx, 0xdd11d3e9
sub edx, 1
sub edx, 0xdd11d3e9
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0xce1d9fe2
mov edx, 0x7bdb678f
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov eax, dword [esi + 0x68]
mov ecx, eax
call fcn.0044dc60
and al, 1
mov byte [esi + 0x6f], al
mov ecx, dword [0x4a8b6c]
mov edx, dword [0x4a8b70]
mov edi, ecx
sub edi, 0xff54f8c3
sub edi, 1
add edi, 0xff54f8c3
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov bl, al
and bl, ah
xor al, ah
or bl, al
test bl, 1
mov ecx, 0xeb78f5e
mov edx, 0x7bdb678f
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov eax, dword [esi + 0x68]
mov ecx, eax
call fcn.0044ddf0
xor ecx, ecx
and al, 1
mov byte [esi + 0x70], al
mov edx, dword [0x4a8b6c]
mov edi, dword [0x4a8b70]
sub ecx, 1
mov ebx, edx
add ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
and cl, ah
xor al, ah
or cl, al
test cl, 1
mov edx, 0x4250b6db
mov edi, 0x2c899188
cmovne edi, edx
mov dword [esi + 0x40], edi
jmp 0x4456c9
mov eax, dword [0x4a8b6c]
mov ecx, dword [0x4a8b70]
mov edx, eax
sub edx, 0x80c68c5e
sub edx, 1
add edx, 0x80c68c5e
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov ch, al
and ch, 0
and bl, cl
mov dl, ah
and dl, 0
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or ch, al
test ch, 1
mov edi, 0xc3ed7cea
mov edx, 0xf04a4b5e
cmovne edx, edi
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov eax, dword [esi + 0x50]
mov cl, byte [eax]
and cl, 1
mov byte [esi + 0x71], cl
mov eax, dword [0x4a8b6c]
mov edx, dword [0x4a8b70]
mov edi, eax
sub edi, 0xace6367c
sub edi, 1
add edi, 0xace6367c
imul eax, edi
and eax, 1
cmp eax, 0
sete cl
cmp edx, 0xa
setl ch
mov bl, cl
xor bl, 0xff
mov bh, ch
xor bh, 0xff
mov al, 1
xor al, 1
mov ah, bl
and ah, 0xff
and cl, al
mov dl, bh
and dl, 0xff
and ch, al
or ah, cl
or dl, ch
xor ah, dl
or bl, bh
xor bl, 0xff
or al, 1
and bl, al
or ah, bl
test ah, 1
mov edi, 0xc43588aa
mov edx, 0xf04a4b5e
cmovne edx, edi
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov al, byte [esi + 0x71]
test al, 1
mov ecx, 0x6b69e4e7
mov edx, 0x4d69fe33
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
xor eax, eax
mov ecx, dword [esi + 0x48]
mov byte [ecx], 0
mov ecx, dword [esi + 0x5c]
mov dword [ecx], 1
mov ecx, dword [0x4a8b6c]
mov edx, dword [0x4a8b70]
sub eax, 1
mov edi, ecx
add edi, eax
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov edi, 0x80dc86b0
mov edx, 0x3b71468a
cmovne edx, edi
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov dword [esi + 0x40], 0x8108f710
jmp 0x4456c9
mov dword [esi + 0x40], 0x7c3fd33a
jmp 0x4456c9
xor eax, eax
mov ecx, dword [esi + 0x50]
mov dl, byte [ecx]
and dl, 1
mov byte [esi + 0x72], dl
mov ecx, dword [0x4a8b6c]
mov edi, dword [0x4a8b70]
sub eax, 1
mov ebx, ecx
add ebx, eax
imul ecx, ebx
and ecx, 1
cmp ecx, 0
sete dl
cmp edi, 0xa
setl dh
mov al, dl
and al, dh
xor dl, dh
or al, dl
test al, 1
mov ecx, 0xdb1f7a5e
mov edi, 0x6500cd7c
cmovne edi, ecx
mov dword [esi + 0x40], edi
jmp 0x4456c9
mov al, byte [esi + 0x72]
test al, 1
mov ecx, 0xdc60f04e
mov edx, 0xdfa22059
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov eax, dword [0x4a8b6c]
mov ecx, dword [0x4a8b70]
mov edx, eax
sub edx, 0x1d4e7390
sub edx, 1
add edx, 0x1d4e7390
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov ch, al
and ch, 0
and bl, cl
mov dl, ah
and dl, 0
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or ch, al
test ch, 1
mov edi, 0x2156861b
mov edx, 0xd622bef4
cmovne edx, edi
mov dword [esi + 0x40], edx
jmp 0x4456c9
xor eax, eax
mov ecx, dword [0x4a8b6c]
mov edx, dword [0x4a8b70]
sub eax, 1
mov edi, ecx
add edi, eax
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov ch, al
and ch, 0
and bl, cl
mov dl, ah
and dl, 0
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or ch, al
test ch, 1
mov edi, 0xc27b33f1
mov edx, 0xeada2e32
cmovne edx, edi
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov eax, dword [esi + 0x68]
mov ecx, eax
call fcn.0044dfb0
and al, 1
mov byte [esi + 0x73], al
mov ecx, dword [0x4a8b6c]
mov edx, dword [0x4a8b70]
mov edi, ecx
add edi, 0x42c3a37d
sub edi, 1
sub edi, 0x42c3a37d
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov bl, al
and bl, ah
xor al, ah
or bl, al
test bl, 1
mov ecx, 0xe66b41f6
mov edx, 0xeada2e32
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov al, byte [esi + 0x73]
test al, 1
mov ecx, 0xf4983c83
mov edx, 0xc7e6158f
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
xor eax, eax
mov ecx, dword [0x4a8b6c]
mov edx, dword [0x4a8b70]
sub eax, 1
mov edi, ecx
add edi, eax
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov edi, 0x2dd59417
mov edx, 0xe59e10b3
cmovne edx, edi
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov eax, dword [0x4a8b6c]
mov ecx, dword [0x4a8b70]
mov edx, eax
add edx, 0xcbef23b
sub edx, 1
sub edx, 0xcbef23b
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0xae7ef83a
mov edx, 0xd616067a
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
xor eax, eax
mov ecx, dword [esi + 0x5c]
mov dword [ecx], 0
mov ecx, dword [0x4a8b6c]
mov edx, dword [0x4a8b70]
sub eax, 1
mov edi, ecx
add edi, eax
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x767f8423
mov edx, 0xd616067a
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov eax, dword [0x4a8b6c]
mov ecx, dword [0x4a8b70]
mov edx, eax
add edx, 0x34bb0f9f
sub edx, 1
sub edx, 0x34bb0f9f
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0xb42e92cd
mov edx, 0x28035185
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov ecx, dword [esi + 0x58]
call fcn.00449e60
xor eax, eax
mov ecx, dword [esi + 0x5c]
mov ecx, dword [ecx]
mov dword [esi + 0x74], ecx
mov ecx, dword [0x4a8b6c]
mov edx, dword [0x4a8b70]
sub eax, 1
mov edi, ecx
add edi, eax
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov ch, al
and ch, 0
and bl, cl
mov dl, ah
and dl, 0
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or ch, al
test ch, 1
mov edi, 0xfafa6e2b
mov edx, 0x28035185
cmovne edx, edi
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov eax, dword [esi + 0x74]
cmp eax, 1
mov eax, 0xb1c1fdfd
mov ecx, 0x3b69c0d5
cmovl ecx, eax
mov dword [esi + 0x40], ecx
jmp 0x4456c9
mov eax, dword [esi + 0x74]
cmp eax, 0
mov eax, 0x9452ac15
mov ecx, 0x363b5d84
cmove ecx, eax
mov dword [esi + 0x40], ecx
jmp 0x4456c9
mov eax, dword [0x4a8b6c]
mov ecx, dword [0x4a8b70]
mov edx, eax
sub edx, 0x67844932
sub edx, 1
add edx, 0x67844932
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov edi, 0xecebe5c
mov edx, 0x6db7925a
cmovne edx, edi
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov eax, dword [esi + 0x78]
cmp eax, 1
mov eax, 0xd0c830c2
mov ecx, 0xb4097487
cmovl ecx, eax
mov dword [esi + 0x40], ecx
jmp 0x4456c9
mov eax, dword [esi + 0x78]
cmp eax, 2
mov eax, 0x51b96993
mov ecx, 0x4ba69a0a
cmovl ecx, eax
mov dword [esi + 0x40], ecx
jmp 0x4456c9
mov eax, dword [esi + 0x78]
cmp eax, 0
mov eax, 0xa9333a9e
mov ecx, 0x6a92698d
cmove ecx, eax
mov dword [esi + 0x40], ecx
jmp 0x4456c9
mov eax, dword [0x4a8b6c]
mov ecx, dword [0x4a8b70]
mov edx, eax
add edx, 0x5fbc6238
sub edx, 1
sub edx, 0x5fbc6238
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x6973bde8
mov edx, 0xb0d5e6e5
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov eax, dword [esi + 0x68]
add eax, 0xd8
mov ecx, eax
call fcn.0044e340
mov eax, dword [0x4a8b6c]
mov ecx, dword [0x4a8b70]
mov edx, eax
add edx, 0x885c434c
sub edx, 1
sub edx, 0x885c434c
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0xa213451
mov edx, 0x97d0a06e
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov eax, dword [esi + 0x68]
add eax, 0x50
mov ecx, eax
call fcn.0044e8c0
xor eax, eax
mov ecx, dword [esi + 0x68]
cmp dword [ecx + 0x44], 0
setne dl
and dl, 1
mov byte [esi + 0x7e], dl
mov ecx, dword [0x4a8b6c]
mov edi, dword [0x4a8b70]
sub eax, 1
mov ebx, ecx
add ebx, eax
imul ecx, ebx
and ecx, 1
cmp ecx, 0
sete dl
cmp edi, 0xa
setl dh
mov al, dl
and al, dh
xor dl, dh
or al, dl
test al, 1
mov ecx, 0xb41fc3ac
mov edi, 0x3f376728
cmovne edi, ecx
mov dword [esi + 0x40], edi
jmp 0x4456c9
mov al, byte [esi + 0x7e]
test al, 1
mov ecx, 0xc2a0e968
mov edx, 0xe965bdb5
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
xor eax, eax
mov ecx, dword [0x4a8b6c]
mov edx, dword [0x4a8b70]
sub eax, 1
mov edi, ecx
add edi, eax
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov edi, 0xd2c3600f
mov edx, 0x5a2a3d9c
cmovne edx, edi
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x68]
mov dword [eax], ecx
mov ecx, dword [esi + 0x60]
mov eax, dword [esi + 0x64]
sub esp, 4
mov dword [esp], eax
call fcn.0044ecc0
mov ecx, dword [esi + 0x60]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], 0x10
mov dword [esi + 0x1c], eax
call fcn.0044ea80
add esp, 8
mov ecx, dword [esi + 0x60]
call fcn.00446a90
mov eax, dword [0x4a8b6c]
mov ecx, dword [0x4a8b70]
mov edx, eax
add edx, 0x7d0c5c04
sub edx, 1
sub edx, 0x7d0c5c04
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0xb96e595c
mov edx, 0x5a2a3d9c
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov dword [esi + 0x40], 0xe965bdb5
jmp 0x4456c9
xor eax, eax
mov ecx, dword [0x4a8b6c]
mov edx, dword [0x4a8b70]
sub eax, 1
mov edi, ecx
add edi, eax
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x72019eaa
mov edx, 0xd26bba85
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov eax, dword [0x4a8b6c]
mov ecx, dword [0x4a8b70]
mov edx, eax
sub edx, 0x77e50c09
sub edx, 1
add edx, 0x77e50c09
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0xcd29fb29
mov edx, 0x62aa037e
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
xor eax, eax
mov ecx, dword [0x4a8b6c]
mov edx, dword [0x4a8b70]
sub eax, 1
mov edi, ecx
add edi, eax
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov edi, 0x1acf479b
mov edx, 0x62aa037e
cmovne edx, edi
mov dword [esi + 0x40], edx
jmp 0x4456c9
xor eax, eax
mov ecx, dword [0x4a8b6c]
mov edx, dword [0x4a8b70]
sub eax, 1
mov edi, ecx
add edi, eax
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x4a29e81f
mov edx, 0x9cf556ba
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov dword [esi + 0x40], 0xe1c0dd17
jmp 0x4456c9
xor eax, eax
mov ecx, dword [0x4a8b6c]
mov edx, dword [0x4a8b70]
sub eax, 1
mov edi, ecx
add edi, eax
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov ch, al
and ch, 0
and bl, cl
mov dl, ah
and dl, 0
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or ch, al
test ch, 1
mov edi, 0x77b8e98f
mov edx, 0xb1d5570f
cmovne edx, edi
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov eax, dword [esi + 0x48]
mov cl, byte [eax]
and cl, 1
mov byte [esi + 0x7f], cl
mov eax, dword [0x4a8b6c]
mov edx, dword [0x4a8b70]
mov edi, eax
sub edi, 0x8f9e228c
sub edi, 1
add edi, 0x8f9e228c
imul eax, edi
and eax, 1
cmp eax, 0
sete cl
cmp edx, 0xa
setl ch
mov bl, cl
xor bl, 0xff
mov bh, ch
xor bh, 0xff
mov al, 1
xor al, 1
mov ah, bl
and ah, 0xff
and cl, al
mov dl, bh
and dl, 0xff
and ch, al
or ah, cl
or dl, ch
xor ah, dl
or bl, bh
xor bl, 0xff
or al, 1
and bl, al
or ah, bl
test ah, 1
mov edi, 0xfcd1c230
mov edx, 0xf3e84f54
cmovne edx, edi
mov dword [esi + 0x40], edx
jmp 0x4456c9
mov eax, dword [0x4a8b6c]
mov ecx, dword [0x4a8b70]
mov edx, eax
sub edx, 0x876eca17
sub edx, 1
add edx, 0x876eca17
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0xe630b9ae
mov edx, 0x1bdd66e9
cmovne edx, ecx
mov dword [esi + 0x40], edx
jmp 0x4456c9
xor eax, eax
mov ecx, dword [0x4a8b6c]
mov edx, dword [0x4a8b70]
sub eax, 1
mov edi, ecx
add edi, eax
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov edi, 0xd209ab89
mov edx, 0x1bdd66e9
cmovne edx, edi
mov dword [esi + 0x40], edx
jmp 0x4456c9
push eax
mov eax, esp
push eax
mov ecx, esp
push eax
mov edx, esp
push eax
mov edi, esp
push eax
mov ebx, esp
push eax
mov dword [esi + 0x14], eax
mov eax, esp
push eax
mov dword [esi + 0x10], eax
mov eax, esp
push eax
mov dword [esi + 0xc], eax
mov eax, esp
mov dword [esi + 8], eax
mov eax, dword [esi + 0x3c]
mov dword [ecx], eax
mov cl, byte [esi + 0x2f]
and cl, 1
mov byte [edx], cl
mov cl, byte [esi + 0x2e]
and cl, 1
mov byte [edi], cl
mov cl, byte [esi + 0x2d]
and cl, 1
mov byte [ebx], cl
mov edx, dword [esi + 0x10]
mov edi, dword [esi + 0x30]
mov dword [edx], edi
mov ebx, dword [edx]
mov ecx, dword [esi + 0xc]
mov dword [ecx], 0
add ebx, 0x14
sub esp, 4
mov ecx, dword [esi + 8]
mov dword [esp], ebx
call fcn.00448890
mov dword [esi + 0x40], 0x4ec045a6
jmp 0x4456c9
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x68]
add ecx, 0xc
sub esp, 4
mov dword [esp], eax
call fcn.0044d8a0
mov dword [esi + 0x40], 0x8d0b2174
jmp 0x4456c9
mov eax, dword [esi + 0x68]
mov ecx, eax
call fcn.0044dae0
mov dword [esi + 0x40], 0xb8f8f60d
jmp 0x4456c9
mov dword [esi + 0x40], 0x155cc68b
jmp 0x4456c9
mov eax, dword [esi + 0x68]
mov dword [eax + 4], 4
mov eax, dword [esi + 0x54]
mov dword [eax], 1
mov dword [esi + 0x40], 0x2156861b
jmp 0x4456c9
mov eax, dword [esi + 0x68]
mov ecx, eax
call fcn.0044dfb0
mov dword [esi + 0x40], 0xc27b33f1
jmp 0x4456c9
mov eax, dword [esi + 0x68]
mov dword [eax + 4], 2
mov eax, dword [esi + 0x68]
add eax, 0xc8
mov ecx, eax
call fcn.00488198
mov dword [esi + 0x40], 0x2dd59417
jmp 0x4456c9
mov eax, dword [esi + 0x5c]
mov dword [eax], 0
mov dword [esi + 0x40], 0xae7ef83a
jmp 0x4456c9
mov eax, dword [esi + 0x68]
add eax, 0xd8
mov ecx, eax
call fcn.0044e150
mov dword [esi + 0x40], 0x6973bde8
jmp 0x4456c9
mov eax, dword [esi + 0x68]
add eax, 0xd8
mov ecx, eax
call fcn.0044e340
mov dword [esi + 0x40], 0x8ef5fc6a
jmp 0x4456c9
mov dword [esi + 0x40], 0x72019eaa
jmp 0x4456c9
mov dword [esi + 0x40], 0x4a29e81f
jmp 0x4456c9
mov eax, dword [esi + 0x48]
mov byte [eax], 1
mov dword [esi + 0x40], 0x77b8e98f
jmp 0x4456c9
jmp 0x442f55