Function at 0x490840
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x54
mov eax, dword [0x594180]
xor eax, esp
mov dword [esp + 0x50], eax
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0xc]
mov eax, dword [0x5975e0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete byte [esp + 0x48]
mov edi, dword [0x5975e4]
sete bl
mov ebp, 0xfb938587
mov esi, 0x744230af
mov ecx, 0x744230af
cmove ecx, ebp
cmp edi, 0xa
setl bh
setl byte [esp + 4]
mov edi, dword [edx]
cmovge ecx, esi
xor bh, bl
cmovne ecx, ebp
mov ebx, 0x8ab0ad55
mov ebp, 0x701b27b
nop dword [eax + eax]
cmp ebx, 0x701b27a
jg 0x4908d0
cmp ebx, 0x8ab0ad55
je 0x4908e7
cmp ebx, 0xfb938587
jne 0x4908b0
jmp 0x49090e
cmp ebx, 0x701b27b
je 0x49090a
cmp ebx, 0x744230af
jne 0x4908b0
mov ebx, 0x701b27b
jmp 0x4908b0
movzx edx, byte [esp + 0x48]
mov ah, byte [esp + 4]
mov al, dl
xor al, ah
test ah, ah
mov ebx, 0x744230af
cmovne ebx, ebp
test dl, dl
cmove ebx, esi
test al, al
cmovne ebx, ebp
jmp 0x4908b0
mov ebx, ecx
jmp 0x4908b0
mov dword [esp + 8], edi
mov eax, dword [esp + 8]
movzx eax, byte [eax]
mov byte [esp + 0x4f], al
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x5c]
mov ecx, eax
xor ecx, 0xfffffeff
and ecx, eax
mov dword [esp + 0x3c], ecx
mov eax, 0x143cb403
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
jmp 0x490960
and al, 1
mov byte [esp + 8], al
movzx eax, byte [esp + 8]
mov eax, 0xf20c130a
mov edi, dword [esp + 0x68]
jmp 0x4909b0
mov eax, dword [0x598058]
mov ecx, dword [0x59805c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov esi, 0x5e501371
mov ebx, 0x42e24ea9
cmovne esi, ebx
test eax, edx
mov eax, esi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, esi
nop word cs:[eax + eax]
cmp eax, 0x126f3ddc
jle 0x490a10
cmp eax, 0x42e24ea8
jle 0x490a70
cmp eax, 0x5f5c4bae
jg 0x490b1c
cmp eax, 0x52901fee
jle 0x490c60
cmp eax, 0x5aba7a27
jle 0x490e3f
cmp eax, 0x5aba7a28
je 0x491270
cmp eax, 0x5d994f12
je 0x4912ba
cmp eax, 0x5e501371
jne 0x4909b0
mov eax, 0x42e24ea9
jmp 0x4909b0
cmp eax, 0xd12918aa
jle 0x490ad0
cmp eax, 0xf21442b3
jg 0x490b6a
cmp eax, 0xdf8a38f7
jle 0x490c86
cmp eax, 0xebeeee9e
jle 0x490ea4
cmp eax, 0xebeeee9f
je 0x4912fd
cmp eax, 0xec923533
je 0x491307
cmp eax, 0xf20c130a
je 0x491900
jmp 0x4909b0
cmp eax, 0x33e5f6ed
jg 0x490bd5
cmp eax, 0x1be2f438
jle 0x490cbe
cmp eax, 0x2d632f24
jle 0x490ec4
cmp eax, 0x2d632f25
je 0x491339
cmp eax, 0x2ed70df2
je 0x491343
cmp eax, 0x30c67a58
jne 0x4909b0
movzx eax, byte [esp + 0x13]
mov dword [esp + 0x14], eax
mov eax, 0x9bac2f75
jmp 0x4909b0
cmp eax, 0xaea11595
jle 0x490c2a
cmp eax, 0xbde3abd4
jle 0x490cfd
cmp eax, 0xc2c38948
jle 0x490fdd
cmp eax, 0xc2c38949
je 0x491377
cmp eax, 0xc45c6640
je 0x491381
cmp eax, 0xc654fc5d
jne 0x4909b0
mov eax, 0x126f3ddd
jmp 0x4909b0
cmp eax, 0x6ed1979e
jle 0x490d23
cmp eax, 0x75bcf631
jle 0x490ff8
cmp eax, 0x75bcf632
je 0x4913a7
cmp eax, 0x78fb1d7f
je 0x4913d9
cmp eax, 0x7ca1f413
jne 0x4909b0
cmp byte [esp + 0x20], 0
mov eax, 0x3ac9dbe8
mov ecx, 0x486c2a65
cmovne eax, ecx
jmp 0x4909b0
cmp eax, 0xfec9ab83
jle 0x490d94
cmp eax, 0xac48e94
jle 0x491021
cmp eax, 0xac48e95
je 0x49142b
cmp eax, 0xd5c5945
je 0x491435
cmp eax, 0x117a2ccb
jne 0x4909b0
mov edx, dword [0x598058]
mov ecx, dword [0x59805c]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xebeeee9f
mov esi, 0x6ed1979f
jmp 0x491798
cmp eax, 0x3cacfa0a
jle 0x490dbf
cmp eax, 0x41c3f741
jle 0x491049
cmp eax, 0x41d9fcbb
je 0x491448
cmp eax, 0x42b4f124
jne 0x4918e7
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x70]
movsx eax, byte [esp + 0x4f]
push eax
call fcn.00475140
mov byte [esp + 0x1d], al
mov eax, 0xc45c6640
movzx ecx, byte [esp + 0x1d]
mov byte [esp + 0x12], cl
jmp 0x4909b0
cmp eax, 0x9c72f1f3
jg 0x490e14
cmp eax, 0x8c12df87
jg 0x491069
cmp eax, 0x86536b60
je 0x49147c
cmp eax, 0x8ac5b7b0
jne 0x4909b0
mov eax, 0x4086bb8a
jmp 0x4909b0
cmp eax, 0x48e1e0a7
jg 0x4910ca
cmp eax, 0x42e24ea9
je 0x4914a8
cmp eax, 0x486c2a65
je 0x4919f0
jmp 0x4909b0
cmp eax, 0xda2f47f6
jg 0x4910f4
cmp eax, 0xd12918ab
je 0x490966
cmp eax, 0xd2a3c8cc
jne 0x4909b0
cmp byte [esp + 0x22], 0
mov eax, 0x5f5c4baf
mov ecx, 0x86536b60
cmovne eax, ecx
jmp 0x4909b0
cmp eax, 0x143cb402
jg 0x491147
cmp eax, 0x126f3ddd
je 0x4914e2
cmp eax, 0x12dee784
jne 0x4909b0
cmp dword [edi + 0x18], 0
mov eax, 0x2ed70df2
mov ecx, 0xda45e20b
cmove eax, ecx
mov dword [esp + 0x38], 0
jmp 0x4909b0
cmp eax, 0xb6011598
jg 0x491191
cmp eax, 0xaea11596
je 0x491529
cmp eax, 0xb47b8ec6
je 0x491ad0
jmp 0x4909b0
cmp eax, 0x67c1baa8
jg 0x4911b1
cmp eax, 0x5f5c4baf
je 0x491576
cmp eax, 0x668280d2
jne 0x4909b0
mov eax, dword [edi + 0x20]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x5c]
mov ecx, eax
xor ecx, 0xfffff7ff
test ecx, eax
setne byte [esp + 0x1c]
mov eax, dword [0x598058]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x3cacfa0b
mov esi, 0xf21442b4
cmove eax, esi
cmp dword [0x59805c], 0xa
mov edx, 0x3cacfa0b
jmp 0x491519
cmp eax, 0xf5b70627
jg 0x4911d1
cmp eax, 0xf21442b4
je 0x4915a8
cmp eax, 0xf39ba21c
jne 0x4909b0
mov eax, 0xdf8a38f8
jmp 0x49187a
cmp eax, 0x3ac9dbe7
jg 0x491224
cmp eax, 0x33e5f6ee
je 0x4915bf
cmp eax, 0x36132b9b
jne 0x4909b0
mov edx, dword [0x598058]
mov ecx, dword [0x59805c]
lea eax, [edx - 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x3cacfa0b
mov esi, 0x668280d2
jmp 0x491798
cmp eax, 0xa7701e22
jg 0x491250
cmp eax, 0x9c72f1f4
je 0x4915d1
cmp eax, 0xa0630810
jne 0x4909b0
mov eax, 0xdf8a38f8
jmp 0x4909b0
cmp eax, 0x52901fef
je 0x4915db
cmp eax, 0x5a14003e
jne 0x4909b0
mov edx, dword [0x598058]
mov ecx, dword [0x59805c]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x67c1baa9
mov esi, 0x1be2f439
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, edx
cmp word [edi + 0x24], 0
setne byte [esp + 0x21]
jmp 0x4909b0
cmp eax, 0xdf8a38f8
je 0x491625
cmp eax, 0xe6bd7879
jne 0x4909b0
mov eax, 0xfb3e36f0
jmp 0x4909b0
cmp eax, 0x1be2f439
je 0x49162f
cmp eax, 0x22ce7f6d
jne 0x4909b0
mov eax, dword [esp + 0xc]
mov ebp, dword [eax + 0x70]
mov bh, byte [esp + 0x4f]
mov eax, dword [0x597b38]
mov ecx, dword [0x597b3c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esp + 3]
cmp ecx, 0xa
setl byte [esp + 4]
mov ecx, 0xdd95b8dc
nop
cmp ecx, 0x53e936f5
jle 0x490f30
cmp ecx, 0x53e936f6
je 0x490f53
cmp ecx, 0x724f05e9
jne 0x490f10
jmp 0x491646
cmp ecx, 0xdd95b8dc
je 0x490fac
cmp ecx, 0x8faac6b
jne 0x490f10
mov ecx, dword [ebp + 4]
mov eax, dword [ecx]
movsx edx, bh
push edx
call dword [eax + 0x10]
mov ecx, 0x53e936f6
jmp 0x490f10
mov ecx, dword [ebp + 4]
mov eax, dword [ecx]
movsx edx, bh
push edx
call dword [eax + 0x10]
mov ecx, dword [0x597b38]
mov edx, dword [0x597b3c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete ah
cmp edx, 0xa
setl bl
xor bl, ah
mov esi, 0x8faac6b
mov ah, bh
mov ebx, 0x724f05e9
cmovne esi, ebx
test ecx, edi
mov edi, dword [esp + 0x68]
mov ecx, esi
cmove ecx, ebx
mov bh, ah
mov bl, al
cmp edx, 0xa
cmovge ecx, esi
jmp 0x490f10
movzx eax, byte [esp + 3]
movzx ecx, byte [esp + 4]
mov edx, eax
xor dl, cl
test cl, cl
mov ecx, 0x8faac6b
mov esi, 0x53e936f6
cmovne ecx, esi
test al, al
mov eax, 0x8faac6b
cmove ecx, eax
test dl, dl
cmovne ecx, esi
jmp 0x490f10
cmp eax, 0xbde3abd5
je 0x49165d
cmp eax, 0xc16d53b1
je 0x491bc0
jmp 0x4909b0
cmp eax, 0x6ed1979f
je 0x491769
cmp eax, 0x75a85cbb
jne 0x4909b0
mov eax, 0xc45c6640
movzx ecx, byte [esp + 0x1e]
mov byte [esp + 0x12], cl
jmp 0x4909b0
cmp eax, 0xfec9ab84
je 0x4917ae
cmp eax, 0x613ced5
jne 0x4909b0
mov eax, 0x52901fef
mov dword [esp + 0x28], 0
jmp 0x4909b0
cmp eax, 0x3cacfa0b
je 0x4917b8
cmp eax, 0x4086bb8a
jne 0x4909b0
mov eax, 0x117a2ccb
jmp 0x4909b0
cmp eax, 0x8c12df88
je 0x4917c6
cmp eax, 0x9bac2f75
jne 0x4909b0
mov eax, dword [0x598058]
mov ecx, dword [0x59805c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov esi, 0x30c67a58
mov ebx, 0x8ac5b7b0
cmovne esi, ebx
test eax, edx
mov eax, esi
cmove eax, ebx
cmp ecx, 0xa
movzx ecx, byte [esp + 0x13]
mov dword [esp + 0x14], ecx
cmovge eax, esi
jmp 0x4909b0
cmp eax, 0x48e1e0a8
je 0x4917fc
cmp eax, 0x4a6972a5
jne 0x4909b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
mov eax, 0x78fb1d7f
jmp 0x491420
cmp eax, 0xda2f47f7
je 0x491803
cmp eax, 0xda45e20b
jne 0x4909b0
mov eax, dword [esp + 0x38]
and al, 1
mov byte [esp + 0x13], al
mov eax, dword [0x598058]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x30c67a58
mov esi, 0x9bac2f75
cmove eax, esi
cmp dword [0x59805c], 0xa
mov edx, 0x30c67a58
jmp 0x491519
cmp eax, 0x143cb403
je 0x49181a
cmp eax, 0x18a8a00c
jne 0x4909b0
mov edx, dword [0x598058]
mov ecx, dword [0x59805c]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xe6bd7879
mov esi, 0xfb3e36f0
jmp 0x491798
cmp eax, 0xb6011599
je 0x491831
cmp eax, 0xb7f4e3f1
jne 0x4909b0
mov eax, 0x2d632f25
jmp 0x4909b0
cmp eax, 0x67c1baa9
je 0x491863
cmp eax, 0x6d085a64
jne 0x4909b0
mov eax, 0xaea11596
jmp 0x4909b0
cmp eax, 0xf5b70628
je 0x49186d
cmp eax, 0xfb3e36f0
jne 0x4909b0
cmp dword [edi + 0x1c], 0
setne byte [esp + 0x20]
mov eax, dword [0x598058]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0xe6bd7879
mov esi, 0x7ca1f413
cmove eax, esi
cmp dword [0x59805c], 0xa
mov edx, 0xe6bd7879
jmp 0x491519
cmp eax, 0x3ac9dbe8
je 0x491885
cmp eax, 0x3ad08529
jne 0x4909b0
cmp dword [edi + 0x20], 0
mov eax, 0x36132b9b
mov ecx, 0xaa70ed46
cmove eax, ecx
jmp 0x4909b0
cmp eax, 0xa7701e23
je 0x4918b7
cmp eax, 0xaa70ed46
jne 0x4909b0
mov eax, 0x12dee784
jmp 0x4909b0
mov eax, dword [0x598058]
mov ecx, dword [0x59805c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov esi, 0x33e5f6ee
mov ebx, 0xa0630810
cmovne esi, ebx
test eax, edx
mov eax, esi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, esi
mov dword [esp + 0x14], 0
jmp 0x4909b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
push dword [edi + 0x14]
push dword [eax + 0x50]
push dword [ecx]
lea eax, [esp + 0x50]
push eax
call fcn.00495730
add esp, 0x10
mov eax, dword [esp + 0x44]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0xc]
cmp dword [ecx], eax
setne byte [esp + 0x1b]
mov eax, 0xda2f47f7
movzx ecx, byte [esp + 0x1b]
mov dword [esp + 0x34], ecx
jmp 0x4909b0
mov eax, 0x6ed1979f
jmp 0x4909b0
mov eax, dword [0x598058]
mov ecx, dword [0x59805c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov esi, 0xc654fc5d
mov ebx, 0x126f3ddd
jmp 0x490993
mov eax, 0x4086bb8a
jmp 0x4909b0
mov eax, dword [0x598058]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0xb47b8ec6
mov esi, 0xf20c130a
cmove eax, esi
cmp dword [0x59805c], 0xa
mov edx, 0xb47b8ec6
jmp 0x491519
mov eax, 0xb6011599
jmp 0x4909b0
movzx eax, byte [esp + 0x12]
push dword [esp + 0x40]
push eax
call fcn.00496270
add esp, 8
test al, al
mov eax, 0xaa70ed46
mov ecx, 0x48e1e0a8
cmovne eax, ecx
jmp 0x4909b0
mov eax, dword [0x598058]
mov ecx, dword [0x59805c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov esi, 0x4a6972a5
mov ebx, 0x78fb1d7f
jmp 0x490993
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
mov eax, dword [0x598058]
mov ecx, dword [0x59805c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov esi, 0x4a6972a5
mov ebx, 0xa7701e23
cmovne esi, ebx
test eax, edx
mov eax, esi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, esi
mov cl, 1
mov dword [esp + 0x28], ecx
jmp 0x4909b0
mov eax, 0x2d632f25
jmp 0x49187a
mov eax, 0xda45e20b
movzx ecx, byte [esp + 0x1f]
mov dword [esp + 0x38], ecx
jmp 0x4909b0
mov edx, dword [0x598058]
mov ecx, dword [0x59805c]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x613ced5
mov esi, 0x52901fef
jmp 0x491798
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 0x4f]
push dword [eax + 0x70]
push dword [edi + 0x28]
push ecx
call fcn.00496880
add esp, 0xc
test al, al
mov eax, 0x5f5c4baf
mov ecx, 0xf39ba21c
cmovne eax, ecx
jmp 0x4909b0
movzx eax, byte [esp + 0x4f]
mov byte [esp + 0x1e], al
mov eax, dword [0x598058]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x5e501371
mov esi, 0x75a85cbb
cmove eax, esi
cmp dword [0x59805c], 0xa
mov edx, 0x5e501371
jmp 0x491519
cmp dword [edi + 0x28], 0
setne byte [esp + 0x22]
mov eax, dword [0x598058]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0xc654fc5d
mov esi, 0xd2a3c8cc
cmove eax, esi
cmp dword [0x59805c], 0xa
mov edx, 0xc654fc5d
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, esi
jmp 0x4909b0
mov eax, dword [0x598058]
mov ecx, dword [0x59805c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov esi, 0x6d085a64
mov ebx, 0x41c3f742
cmovne esi, ebx
test eax, edx
mov eax, esi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, esi
mov ecx, dword [esp + 0x28]
and cl, 1
mov byte [esp + 0x23], cl
jmp 0x4909b0
mov eax, dword [0x598058]
mov ecx, dword [0x59805c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov esi, 0x33e5f6ee
mov ebx, 0x5aba7a28
jmp 0x490993
cmp byte [esp + 0x1c], 0
mov eax, 0xd12918ab
mov ecx, 0x42b4f124
cmovne eax, ecx
jmp 0x4909b0
mov eax, 0x5aba7a28
mov dword [esp + 0x14], 0
jmp 0x4909b0
mov eax, 0xb7f4e3f1
jmp 0x49187a
mov eax, dword [0x598058]
mov ecx, dword [0x59805c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov esi, 0x613ced5
mov ebx, 0xc2c38949
cmovne esi, ebx
test eax, edx
mov eax, esi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, esi
mov dword [esp + 0x28], 0
jmp 0x4909b0
mov eax, 0xb7f4e3f1
jmp 0x4909b0
cmp byte [esp + 0x21], 0
mov eax, 0xec923533
mov ecx, 0xc16d53b1
cmovne eax, ecx
jmp 0x4909b0
mov byte [esp + 8], bl
movzx eax, byte [esp + 8]
mov byte [esp + 0x4f], al
mov eax, 0xbde3abd5
jmp 0x4909b0
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
mov eax, dword [0x597840]
mov ecx, dword [0x597844]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esp + 3]
cmp ecx, 0xa
setl byte [esp + 4]
mov eax, 0x66e0076c
nop word cs:[eax + eax]
cmp eax, 0x2edbc241
jg 0x491710
cmp eax, 0x982d9191
je 0x491757
cmp eax, 0xf99052e9
jne 0x4916a0
lea eax, [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov dword [eax], 0
mov eax, dword [0x597840]
mov ecx, dword [0x597844]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov esi, 0x982d9191
mov ebx, 0x2edbc242
cmovne esi, ebx
test eax, edx
mov eax, esi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, esi
jmp 0x4916a0
cmp eax, 0x2edbc242
je 0x4918c1
cmp eax, 0x66e0076c
jne 0x4916a0
movzx ecx, byte [esp + 3]
movzx eax, byte [esp + 4]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x982d9191
mov esi, 0xf99052e9
cmovne eax, esi
test cl, cl
mov ecx, 0x982d9191
cmove eax, ecx
test dl, dl
cmovne eax, esi
jmp 0x4916a0
mov dword [esp + 0x48], 0
mov eax, 0xf99052e9
jmp 0x4916a0
mov edx, dword [0x598058]
mov ecx, dword [0x59805c]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xebeeee9f
mov esi, 0xfec9ab84
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4909b0
mov eax, 0x8c12df88
jmp 0x4909b0
mov eax, dword [esp + 0xc]
mov eax, 0x668280d2
jmp 0x4909b0
mov ecx, dword [edi + 8]
mov edx, ecx
xor edx, 0xfffffffe
mov ebx, dword [esp + 0x14]
mov eax, ebx
xor al, 0xfe
test edx, ecx
mov esi, 0x41d9fcbb
mov ebp, 0x75bcf632
cmove esi, ebp
test al, bl
cmove esi, ebp
mov eax, 0x41d9fcbb
cmovne eax, esi
test edx, ecx
cmovne eax, esi
jmp 0x4909b0
mov eax, 0x117a2ccb
jmp 0x49187a
test byte [esp + 0x34], 1
mov eax, 0x3ad08529
mov ecx, 0xf5b70628
cmovne eax, ecx
jmp 0x4909b0
cmp dword [esp + 0x3c], 0
mov eax, 0x22ce7f6d
mov ecx, 0xbde3abd5
cmove eax, ecx
jmp 0x4909b0
mov eax, dword [0x598058]
mov ecx, dword [0x59805c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov esi, 0x6d085a64
mov ebx, 0xaea11596
jmp 0x490993
mov eax, 0x5a14003e
jmp 0x4909b0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
mov eax, 0x8c12df88
mov cl, 1
mov dword [esp + 0x14], ecx
jmp 0x4909b0
mov eax, dword [0x598058]
mov ecx, dword [0x59805c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov esi, 0x67c1baa9
mov ebx, 0x5a14003e
jmp 0x490993
mov eax, 0xb6011599
jmp 0x4909b0
inc dword [esp + 0x2c]
mov eax, dword [esp + 8]
cmp dword [edi + 0x14], 0
mov eax, 0x5d994f12
mov ecx, 0xda2f47f7
cmove eax, ecx
mov dword [esp + 0x34], 0
jmp 0x4909b0
cmp eax, 0x41c3f742
je 0x491ef2
jmp 0x4909b0
mov eax, dword [edi + 0x18]
mov dword [esp + 0x24], eax
movzx edx, byte [esp + 0x4f]
mov ecx, dword [0x598060]
lea esi, [ecx + 1]
imul esi, ecx
mov edi, esi
xor edi, 0xfffffffe
mov ecx, edx
xor ecx, 0xf8
and ecx, edx
shr edx, 3
test edi, esi
mov esi, dword [0x598064]
sete byte [esp + 3]
sete bl
mov edi, 0x28603c19
mov eax, 0x6543e34e
cmove edi, eax
cmp esi, 0xa
setl byte [esp + 4]
setl bh
mov esi, 1
shlx ebp, esi, ecx
mov ecx, 0x28603c19
cmovge edi, ecx
xor bh, bl
cmovne edi, eax
mov ebx, 0xf97eab19
nop
cmp ebx, 0x28603c18
jle 0x491990
cmp ebx, 0x28603c19
je 0x4919ce
cmp ebx, 0x6543e34e
jne 0x491970
jmp 0x491cb0
cmp ebx, 0xb62feb1d
je 0x4919d5
cmp ebx, 0xf97eab19
jne 0x491970
movzx eax, byte [esp + 3]
movzx ebx, byte [esp + 4]
mov ch, al
xor ch, bl
test bl, bl
mov ebx, 0x28603c19
mov esi, 0xb62feb1d
cmovne ebx, esi
test al, al
mov eax, 0x28603c19
cmove ebx, eax
test ch, ch
cmovne ebx, esi
jmp 0x491970
mov ebx, 0xb62feb1d
jmp 0x491970
mov eax, dword [esp + 0x24]
movzx eax, byte [eax + edx]
xor eax, ebp
andn eax, eax, ebp
setne cl
mov ebx, edi
jmp 0x491970
mov ecx, dword [0x597e08]
mov edx, dword [0x597e0c]
lea eax, [ecx - 1]
imul eax, ecx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete cl
cmp edx, 0xa
setl ch
xor ch, cl
mov esi, 0xc29b122e
mov ebx, 0xafec2395
cmovne esi, ebx
cmp eax, 0xffffffff
mov edi, dword [edi + 0x1c]
mov ebp, dword [edi + 8]
sete byte [esp + 3]
mov ecx, esi
cmove ecx, ebx
cmp edx, 0xa
setl byte [esp + 4]
mov edx, dword [edi + 4]
cmovge ecx, esi
mov edi, 0x2a0d45a9
nop dword [eax + eax]
cmp edi, 0x2a0d45a8
jg 0x491a80
cmp edi, 0xafec2395
je 0x491d10
cmp edi, 0xc29b122e
jne 0x491a50
mov edi, 0x3a080330
jmp 0x491a50
cmp edi, 0x3a080330
je 0x491abe
cmp edi, 0x2a0d45a9
jne 0x491a50
movzx ebx, byte [esp + 3]
movzx eax, byte [esp + 4]
mov bh, al
xor bh, bl
test al, al
mov edi, 0xc29b122e
mov esi, 0x3a080330
cmovne edi, esi
test bl, bl
mov eax, 0xc29b122e
cmove edi, eax
test bh, bh
cmovne edi, esi
jmp 0x491a50
mov edi, ecx
jmp 0x491a50
mov edx, dword [0x598060]
mov eax, dword [0x598064]
lea ecx, [edx - 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x28603c19
mov esi, 0x6543e34e
cmovne edx, esi
cmp ecx, 0xffffffff
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x24], ecx
sete byte [esp + 3]
mov ecx, edx
cmove ecx, esi
cmp eax, 0xa
setl byte [esp + 4]
movzx eax, byte [esp + 0x4f]
cmovge ecx, edx
mov edx, eax
shr edx, 3
and al, 7
mov esi, 1
shlx eax, esi, eax
mov dword [esp + 0x30], eax
mov edi, 0xf97eab19
nop
cmp edi, 0x28603c18
jle 0x491b60
cmp edi, 0x28603c19
je 0x491b98
cmp edi, 0x6543e34e
jne 0x491b40
jmp 0x490950
cmp edi, 0xb62feb1d
je 0x491b9f
cmp edi, 0xf97eab19
jne 0x491b40
mov ah, byte [esp + 3]
movzx ebx, byte [esp + 4]
mov bh, ah
xor bh, bl
mov ebp, 0x28603c19
mov esi, 0xb62feb1d
cmovne ebp, esi
test bl, bl
mov edi, ebp
cmovne edi, esi
test ah, ah
cmove edi, ebp
jmp 0x491b40
mov edi, 0xb62feb1d
jmp 0x491b40
mov eax, dword [esp + 0x24]
movzx eax, byte [eax + edx]
mov edi, dword [esp + 0x30]
not edi
not eax
or eax, edi
cmp eax, 0xffffffff
setne al
mov edi, ecx
jmp 0x491b40
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x70]
movsx eax, word [edi + 0x24]
movzx ecx, byte [esp + 0x4f]
cmp ecx, 0x5f
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov edx, 0x2a755bcb
mov esi, 0xec6a257c
cmove edx, esi
mov ebp, 0x630a85fc
nop dword [eax]
cmp ebp, 0x2a755bca
jle 0x491c30
cmp ebp, 0x2a755bcb
je 0x491c69
cmp ebp, 0x558b7c9f
je 0x491dd0
cmp ebp, 0x630a85fc
jne 0x491bf0
mov esi, dword [esp + 8]
cmp esi, 0xffffffff
mov ebp, 0xfde91b10
mov esi, 0xd0b735a3
cmove ebp, esi
jmp 0x491bf0
cmp ebp, 0xd0b735a3
je 0x491c95
cmp ebp, 0xec6a257c
je 0x491c9e
cmp ebp, 0xfde91b10
jne 0x491bf0
mov esi, dword [esp + 4]
mov esi, dword [esi + 4]
mov esi, dword [esi + 0xc]
movzx esi, word [esi + ecx*2]
mov edi, esi
xor edi, eax
not edi
test di, si
setne bl
mov ebp, 0x558b7c9f
jmp 0x491bf0
mov esi, dword [esp + 4]
mov esi, dword [esi + 4]
mov esi, dword [esi + 0xc]
movzx esi, word [esi + ecx*2]
mov edi, esi
xor edi, 0xfef8
test di, si
setne byte [esp + 3]
mov ebp, 0xec6a257c
mov bh, byte [esp + 3]
jmp 0x491bf0
mov bh, 1
mov ebp, edx
jmp 0x491bf0
mov ebp, 0x558b7c9f
mov bl, bh
jmp 0x491bf0
mov esi, dword [0x598058]
mov edx, dword [0x59805c]
lea eax, [esi - 1]
imul eax, esi
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete ch
cmp edx, 0xa
setl bl
xor bl, ch
mov esi, 0xb47b8ec6
mov edi, 0xd5c5945
cmovne esi, edi
cmp eax, 0xffffffff
mov eax, esi
cmove eax, edi
cmp edx, 0xa
cmovge eax, esi
and cl, 1
mov byte [esp + 8], cl
movzx ecx, byte [esp + 8]
mov byte [esp + 0x1f], cl
jmp 0x490960
mov dword [esp + 8], edx
mov ecx, dword [esp + 8]
mov eax, dword [0x597bb8]
mov esi, dword [0x597bbc]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esp + 3]
sete al
mov edx, 0x43218975
mov edi, 0xd4eaa59b
cmove edx, edi
cmp esi, 0xa
setl byte [esp + 4]
setl ah
mov esi, 0x43218975
cmovge edx, esi
xor ah, al
cmovne edx, edi
mov edi, 0x6f406a8
nop word cs:[eax + eax]
cmp edi, 0x392bb31d
jg 0x491db0
cmp edi, 0xd4eaa59b
je 0x491df0
cmp edi, 0x6f406a8
jne 0x491d70
movzx eax, byte [esp + 3]
mov ah, byte [esp + 4]
mov ebx, eax
xor bl, ah
mov esi, 0x43218975
mov ebx, 0x392bb31e
cmovne esi, ebx
test ah, ah
mov edi, esi
cmovne edi, ebx
test al, al
cmove edi, esi
jmp 0x491d70
cmp edi, 0x392bb31e
je 0x491dc7
cmp edi, 0x43218975
jne 0x491d70
mov edi, 0x392bb31e
jmp 0x491d70
mov edi, edx
jmp 0x491d70
test bl, 1
mov eax, 0xec923533
mov ecx, 0x9c72f1f4
cmovne eax, ecx
jmp 0x490960
add ecx, ebp
mov dword [esp + 8], ebp
lea eax, [esp + 0x4f]
push eax
push ecx
push dword [esp + 0x10]
call fcn.00496d50
add esp, 0xc
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x68]
mov edi, dword [eax + 0x1c]
mov ebp, dword [edi + 8]
mov edx, dword [0x597e08]
lea esi, [edx + 1]
imul esi, edx
mov edx, esi
xor edx, 0xfffffffe
test edx, esi
mov esi, dword [0x597e0c]
sete byte [esp + 3]
sete bl
mov edx, 0xc29b122e
mov ecx, 0xafec2395
cmove edx, ecx
cmp esi, 0xa
setl byte [esp + 4]
setl bh
mov eax, dword [edi + 4]
mov dword [esp + 0x30], eax
mov esi, 0xc29b122e
cmovge edx, esi
xor bh, bl
cmovne edx, ecx
mov edi, 0x2a0d45a9
nop dword [eax + eax]
cmp edi, 0x2a0d45a8
jg 0x491e90
cmp edi, 0xafec2395
je 0x491ed0
cmp edi, 0xc29b122e
jne 0x491e70
mov edi, 0x3a080330
jmp 0x491e70
cmp edi, 0x3a080330
je 0x491ec8
cmp edi, 0x2a0d45a9
jne 0x491e70
movzx ecx, byte [esp + 3]
mov bh, byte [esp + 4]
mov bl, cl
xor bl, bh
mov esi, 0xc29b122e
mov eax, 0x3a080330
cmovne esi, eax
test bh, bh
mov edi, esi
cmovne edi, eax
test cl, cl
cmove edi, esi
jmp 0x491e70
mov edi, edx
jmp 0x491e70
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
add ebp, dword [esp + 8]
cmp dword [esp + 0x24], ebp
mov eax, 0xac48e95
mov ecx, 0x3ac9dbe8
cmove eax, ecx
jmp 0x490960
movzx ebx, byte [esp + 0x23]
mov ecx, dword [esp + 0x50]
xor ecx, esp
call fcn.0055d8e5
mov eax, ebx
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret 4